;
; Definition file of MSVCR100D.dll
; Automatic generated by gendef
; written by Kai Tietz 2008
;
LIBRARY "MSVCR100D.dll"
EXPORTS
#include "func.def.in"
; public: __thiscall Concurrency::details::<0x1ULL>::<0x1ULL>(void(__cdecl *)(void))
??0?$_SpinWait@$00@details@Concurrency@@QAE@P6AXXZ@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::details::<0x0ULL>::<0x0ULL>(void(__cdecl *)(void))
??0?$_SpinWait@$0A@@details@Concurrency@@QAE@P6AXXZ@Z ; has WINAPI (@4)
; public: __cdecl Concurrency::SchedulerPolicy::SchedulerPolicy(unsigned int,...)
??0SchedulerPolicy@Concurrency@@QAA@IZZ
; public: __thiscall Concurrency::SchedulerPolicy::SchedulerPolicy(class Concurrency::SchedulerPolicy const &)
??0SchedulerPolicy@Concurrency@@QAE@ABV01@@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::SchedulerPolicy::SchedulerPolicy(void)
??0SchedulerPolicy@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::details::_NonReentrantBlockingLock::_NonReentrantBlockingLock(void)
??0_NonReentrantBlockingLock@details@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::details::_NonReentrantPPLLock::_NonReentrantPPLLock(void)
??0_NonReentrantPPLLock@details@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::details::_ReaderWriterLock::_ReaderWriterLock(void)
??0_ReaderWriterLock@details@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::details::_ReentrantBlockingLock::_ReentrantBlockingLock(void)
??0_ReentrantBlockingLock@details@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::details::_ReentrantLock::_ReentrantLock(void)
??0_ReentrantLock@details@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::details::_ReentrantPPLLock::_ReentrantPPLLock(void)
??0_ReentrantPPLLock@details@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::details::_NonReentrantPPLLock::_Scoped_lock::_Scoped_lock(class Concurrency::details::_NonReentrantPPLLock &)
??0_Scoped_lock@_NonReentrantPPLLock@details@Concurrency@@QAE@AAV123@@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::details::_ReentrantPPLLock::_Scoped_lock::_Scoped_lock(class Concurrency::details::_ReentrantPPLLock &)
??0_Scoped_lock@_ReentrantPPLLock@details@Concurrency@@QAE@AAV123@@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::details::_SpinLock::_SpinLock(long volatile &)
??0_SpinLock@details@Concurrency@@QAE@ACJ@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::details::_TaskCollection::_TaskCollection(void)
??0_TaskCollection@details@Concurrency@@QAE@XZ
; protected: __thiscall Concurrency::details::_Timer::_Timer(unsigned int,bool)
??0_Timer@details@Concurrency@@IAE@I_N@Z ; has WINAPI (@8)
; public: __thiscall std::__non_rtti_object::__non_rtti_object(class std::__non_rtti_object const &)
??0__non_rtti_object@std@@QAE@ABV01@@Z ; has WINAPI (@4)
; public: __thiscall std::__non_rtti_object::__non_rtti_object(char const *)
??0__non_rtti_object@std@@QAE@PBD@Z ; has WINAPI (@4)
; private: __thiscall std::bad_cast::bad_cast(char const *const *)
??0bad_cast@std@@AAE@PBQBD@Z ; has WINAPI (@4)
; public: __thiscall std::bad_cast::bad_cast(class std::bad_cast const &)
??0bad_cast@std@@QAE@ABV01@@Z ; has WINAPI (@4)
; public: __thiscall std::bad_cast::bad_cast(char const *)
??0bad_cast@std@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::bad_target::bad_target(char const *)
??0bad_target@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::bad_target::bad_target(void)
??0bad_target@Concurrency@@QAE@XZ
; public: __thiscall std::bad_typeid::bad_typeid(class std::bad_typeid const &)
??0bad_typeid@std@@QAE@ABV01@@Z ; has WINAPI (@4)
; public: __thiscall std::bad_typeid::bad_typeid(char const *)
??0bad_typeid@std@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::context_self_unblock::context_self_unblock(char const *)
??0context_self_unblock@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::context_self_unblock::context_self_unblock(void)
??0context_self_unblock@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::context_unblock_unbalanced::context_unblock_unbalanced(char const *)
??0context_unblock_unbalanced@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::context_unblock_unbalanced::context_unblock_unbalanced(void)
??0context_unblock_unbalanced@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::critical_section::critical_section(void)
??0critical_section@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::default_scheduler_exists::default_scheduler_exists(char const *)
??0default_scheduler_exists@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::default_scheduler_exists::default_scheduler_exists(void)
??0default_scheduler_exists@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::event::event(void)
??0event@Concurrency@@QAE@XZ
; public: __thiscall std::exception::exception(char const *const &)
??0exception@std@@QAE@ABQBD@Z ; has WINAPI (@4)
; public: __thiscall std::exception::exception(char const *const &,int)
??0exception@std@@QAE@ABQBDH@Z ; has WINAPI (@8)
; public: __thiscall std::exception::exception(class std::exception const &)
??0exception@std@@QAE@ABV01@@Z ; has WINAPI (@4)
; public: __thiscall std::exception::exception(void)
??0exception@std@@QAE@XZ
; public: __thiscall Concurrency::improper_lock::improper_lock(char const *)
??0improper_lock@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::improper_lock::improper_lock(void)
??0improper_lock@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::improper_scheduler_attach::improper_scheduler_attach(char const *)
??0improper_scheduler_attach@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::improper_scheduler_attach::improper_scheduler_attach(void)
??0improper_scheduler_attach@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::improper_scheduler_detach::improper_scheduler_detach(char const *)
??0improper_scheduler_detach@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::improper_scheduler_detach::improper_scheduler_detach(void)
??0improper_scheduler_detach@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::improper_scheduler_reference::improper_scheduler_reference(char const *)
??0improper_scheduler_reference@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::improper_scheduler_reference::improper_scheduler_reference(void)
??0improper_scheduler_reference@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::invalid_link_target::invalid_link_target(char const *)
??0invalid_link_target@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::invalid_link_target::invalid_link_target(void)
??0invalid_link_target@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::invalid_multiple_scheduling::invalid_multiple_scheduling(char const *)
??0invalid_multiple_scheduling@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::invalid_multiple_scheduling::invalid_multiple_scheduling(void)
??0invalid_multiple_scheduling@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::invalid_operation::invalid_operation(char const *)
??0invalid_operation@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::invalid_operation::invalid_operation(void)
??0invalid_operation@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::invalid_oversubscribe_operation::invalid_oversubscribe_operation(char const *)
??0invalid_oversubscribe_operation@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::invalid_oversubscribe_operation::invalid_oversubscribe_operation(void)
??0invalid_oversubscribe_operation@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::invalid_scheduler_policy_key::invalid_scheduler_policy_key(char const *)
??0invalid_scheduler_policy_key@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::invalid_scheduler_policy_key::invalid_scheduler_policy_key(void)
??0invalid_scheduler_policy_key@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::invalid_scheduler_policy_thread_specification::invalid_scheduler_policy_thread_specification(char const *)
??0invalid_scheduler_policy_thread_specification@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::invalid_scheduler_policy_thread_specification::invalid_scheduler_policy_thread_specification(void)
??0invalid_scheduler_policy_thread_specification@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::invalid_scheduler_policy_value::invalid_scheduler_policy_value(char const *)
??0invalid_scheduler_policy_value@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::invalid_scheduler_policy_value::invalid_scheduler_policy_value(void)
??0invalid_scheduler_policy_value@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::message_not_found::message_not_found(char const *)
??0message_not_found@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::message_not_found::message_not_found(void)
??0message_not_found@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::missing_wait::missing_wait(char const *)
??0missing_wait@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::missing_wait::missing_wait(void)
??0missing_wait@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::nested_scheduler_missing_detach::nested_scheduler_missing_detach(char const *)
??0nested_scheduler_missing_detach@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::nested_scheduler_missing_detach::nested_scheduler_missing_detach(void)
??0nested_scheduler_missing_detach@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::operation_timed_out::operation_timed_out(char const *)
??0operation_timed_out@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::operation_timed_out::operation_timed_out(void)
??0operation_timed_out@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::reader_writer_lock::reader_writer_lock(void)
??0reader_writer_lock@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::scheduler_not_attached::scheduler_not_attached(char const *)
??0scheduler_not_attached@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::scheduler_not_attached::scheduler_not_attached(void)
??0scheduler_not_attached@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::scheduler_resource_allocation_error::scheduler_resource_allocation_error(long)
??0scheduler_resource_allocation_error@Concurrency@@QAE@J@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::scheduler_resource_allocation_error::scheduler_resource_allocation_error(char const *,long)
??0scheduler_resource_allocation_error@Concurrency@@QAE@PBDJ@Z ; has WINAPI (@8)
; public: __thiscall Concurrency::critical_section::scoped_lock::scoped_lock(class Concurrency::critical_section &)
??0scoped_lock@critical_section@Concurrency@@QAE@AAV12@@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::reader_writer_lock::scoped_lock::scoped_lock(class Concurrency::reader_writer_lock &)
??0scoped_lock@reader_writer_lock@Concurrency@@QAE@AAV12@@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::reader_writer_lock::scoped_lock_read::scoped_lock_read(class Concurrency::reader_writer_lock &)
??0scoped_lock_read@reader_writer_lock@Concurrency@@QAE@AAV12@@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::details::task_canceled::task_canceled(char const *)
??0task_canceled@details@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::details::task_canceled::task_canceled(void)
??0task_canceled@details@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::unsupported_os::unsupported_os(char const *)
??0unsupported_os@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::unsupported_os::unsupported_os(void)
??0unsupported_os@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::SchedulerPolicy::~SchedulerPolicy(void)
??1SchedulerPolicy@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::details::_NonReentrantBlockingLock::~_NonReentrantBlockingLock(void)
??1_NonReentrantBlockingLock@details@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::details::_ReentrantBlockingLock::~_ReentrantBlockingLock(void)
??1_ReentrantBlockingLock@details@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::details::_NonReentrantPPLLock::_Scoped_lock::~_Scoped_lock(void)
??1_Scoped_lock@_NonReentrantPPLLock@details@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::details::_ReentrantPPLLock::_Scoped_lock::~_Scoped_lock(void)
??1_Scoped_lock@_ReentrantPPLLock@details@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::details::_SpinLock::~_SpinLock(void)
??1_SpinLock@details@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::details::_TaskCollection::~_TaskCollection(void)
??1_TaskCollection@details@Concurrency@@QAE@XZ
; protected: __thiscall Concurrency::details::_Timer::~_Timer(void)
??1_Timer@details@Concurrency@@IAE@XZ
; public: virtual __thiscall std::__non_rtti_object::~__non_rtti_object(void)
??1__non_rtti_object@std@@UAE@XZ
; public: virtual __thiscall std::bad_cast::~bad_cast(void)
??1bad_cast@std@@UAE@XZ
; public: virtual __thiscall std::bad_typeid::~bad_typeid(void)
??1bad_typeid@std@@UAE@XZ
; public: __thiscall Concurrency::critical_section::~critical_section(void)
??1critical_section@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::event::~event(void)
??1event@Concurrency@@QAE@XZ
; public: virtual __thiscall std::exception::~exception(void)
??1exception@std@@UAE@XZ
; public: __thiscall Concurrency::reader_writer_lock::~reader_writer_lock(void)
??1reader_writer_lock@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::critical_section::scoped_lock::~scoped_lock(void)
??1scoped_lock@critical_section@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::reader_writer_lock::scoped_lock::~scoped_lock(void)
??1scoped_lock@reader_writer_lock@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::reader_writer_lock::scoped_lock_read::~scoped_lock_read(void)
??1scoped_lock_read@reader_writer_lock@Concurrency@@QAE@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 new(unsigned int,int,char const *,int)
??2@YAPAXIHPBDH@Z
; void __cdecl operator delete(void *)
??3@YAXPAX@Z
; public: class Concurrency::details::<0x1ULL> &__thiscall Concurrency::details::<0x1ULL>::operator =(class Concurrency::details::<0x1ULL> const &)
??4?$_SpinWait@$00@details@Concurrency@@QAEAAV012@ABV012@@Z ; has WINAPI (@4)
; public: class Concurrency::details::<0x0ULL> &__thiscall Concurrency::details::<0x0ULL>::operator =(class Concurrency::details::<0x0ULL> const &)
??4?$_SpinWait@$0A@@details@Concurrency@@QAEAAV012@ABV012@@Z ; has WINAPI (@4)
; public: class Concurrency::SchedulerPolicy &__thiscall Concurrency::SchedulerPolicy::operator =(class Concurrency::SchedulerPolicy const &)
??4SchedulerPolicy@Concurrency@@QAEAAV01@ABV01@@Z ; has WINAPI (@4)
; 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 ; has WINAPI (@4)
; public: class std::bad_cast &__thiscall std::bad_cast::operator =(class std::bad_cast const &)
??4bad_cast@std@@QAEAAV01@ABV01@@Z ; has WINAPI (@4)
; public: class std::bad_typeid &__thiscall std::bad_typeid::operator =(class std::bad_typeid const &)
??4bad_typeid@std@@QAEAAV01@ABV01@@Z ; has WINAPI (@4)
; public: class std::exception &__thiscall std::exception::operator =(class std::exception const &)
??4exception@std@@QAEAAV01@ABV01@@Z ; has WINAPI (@4)
; public: bool __thiscall type_info::operator ==(class type_info const &)const 
??8type_info@@QBE_NABV0@@Z ; has WINAPI (@4)
; public: bool __thiscall type_info::operator !=(class type_info const &)const 
??9type_info@@QBE_NABV0@@Z ; has WINAPI (@4)
; const std::__non_rtti_object::$vftable
??_7__non_rtti_object@std@@6B@ DATA
; const std::bad_cast::$vftable
??_7bad_cast@std@@6B@ DATA
; const std::bad_typeid::$vftable
??_7bad_typeid@std@@6B@ DATA
; const exception::$vftable
??_7exception@@6B@ DATA
; const std::exception::$vftable
??_7exception@std@@6B@ DATA
; public: void __thiscall Concurrency::details::<0x1ULL>::__dflt_ctor_closure(void)
??_F?$_SpinWait@$00@details@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::details::<0x0ULL>::__dflt_ctor_closure(void)
??_F?$_SpinWait@$0A@@details@Concurrency@@QAEXXZ
; public: void __thiscall std::bad_cast::__dflt_ctor_closure(void)
??_Fbad_cast@std@@QAEXXZ
; public: void __thiscall std::bad_typeid::__dflt_ctor_closure(void)
??_Fbad_typeid@std@@QAEXXZ
; void *__cdecl operator new[](unsigned int)
??_U@YAPAXI@Z
; void *__cdecl operator new[](unsigned int,int,char const *,int)
??_U@YAPAXIHPBDH@Z
; void __cdecl operator delete[](void *)
??_V@YAXPAX@Z
; void *__cdecl Concurrency::Alloc(unsigned int)
?Alloc@Concurrency@@YAPAXI@Z
; public: static void __cdecl Concurrency::Context::Block(void)
?Block@Context@Concurrency@@SAXXZ
; public: static void __cdecl Concurrency::CurrentScheduler::Create(class Concurrency::SchedulerPolicy const &)
?Create@CurrentScheduler@Concurrency@@SAXABVSchedulerPolicy@2@@Z
; public: static class Concurrency::Scheduler *__cdecl Concurrency::Scheduler::Create(class Concurrency::SchedulerPolicy const &)
?Create@Scheduler@Concurrency@@SAPAV12@ABVSchedulerPolicy@2@@Z
; struct Concurrency::IResourceManager *__cdecl Concurrency::CreateResourceManager(void)
?CreateResourceManager@Concurrency@@YAPAUIResourceManager@1@XZ
; public: static class Concurrency::ScheduleGroup *__cdecl Concurrency::CurrentScheduler::CreateScheduleGroup(void)
?CreateScheduleGroup@CurrentScheduler@Concurrency@@SAPAVScheduleGroup@2@XZ
; public: static class Concurrency::Context *__cdecl Concurrency::Context::CurrentContext(void)
?CurrentContext@Context@Concurrency@@SAPAV12@XZ
; public: static void __cdecl Concurrency::CurrentScheduler::Detach(void)
?Detach@CurrentScheduler@Concurrency@@SAXXZ
; long __cdecl Concurrency::DisableTracing(void)
?DisableTracing@Concurrency@@YAJXZ
; long __cdecl Concurrency::EnableTracing(void)
?EnableTracing@Concurrency@@YAJXZ
; void __cdecl Concurrency::Free(void *)
?Free@Concurrency@@YAXPAX@Z
; public: static class Concurrency::Scheduler *__cdecl Concurrency::CurrentScheduler::Get(void)
?Get@CurrentScheduler@Concurrency@@SAPAVScheduler@2@XZ
; unsigned int __cdecl Concurrency::GetExecutionContextId(void)
?GetExecutionContextId@Concurrency@@YAIXZ
; public: static unsigned int __cdecl Concurrency::CurrentScheduler::GetNumberOfVirtualProcessors(void)
?GetNumberOfVirtualProcessors@CurrentScheduler@Concurrency@@SAIXZ
; enum Concurrency::IResourceManager::OSVersion __cdecl Concurrency::GetOSVersion(void)
?GetOSVersion@Concurrency@@YA?AW4OSVersion@IResourceManager@1@XZ
; public: static class Concurrency::SchedulerPolicy __cdecl Concurrency::CurrentScheduler::GetPolicy(void)
?GetPolicy@CurrentScheduler@Concurrency@@SA?AVSchedulerPolicy@2@XZ
; public: unsigned int __thiscall Concurrency::SchedulerPolicy::GetPolicyValue(enum Concurrency::PolicyElementKey)const 
?GetPolicyValue@SchedulerPolicy@Concurrency@@QBEIW4PolicyElementKey@2@@Z ; has WINAPI (@4)
; unsigned int __cdecl Concurrency::GetProcessorCount(void)
?GetProcessorCount@Concurrency@@YAIXZ
; unsigned int __cdecl Concurrency::GetProcessorNodeCount(void)
?GetProcessorNodeCount@Concurrency@@YAIXZ
; unsigned int __cdecl Concurrency::GetSchedulerId(void)
?GetSchedulerId@Concurrency@@YAIXZ
; void *__cdecl Concurrency::details::GetSharedTimerQueue(void)
?GetSharedTimerQueue@details@Concurrency@@YAPAXXZ
; public: static unsigned int __cdecl Concurrency::Context::Id(void)
?Id@Context@Concurrency@@SAIXZ
; public: static unsigned int __cdecl Concurrency::CurrentScheduler::Id(void)
?Id@CurrentScheduler@Concurrency@@SAIXZ
; public: static bool __cdecl Concurrency::Context::IsCurrentTaskCollectionCanceling(void)
?IsCurrentTaskCollectionCanceling@Context@Concurrency@@SA_NXZ
; unsigned long __cdecl Concurrency::details::Log2(unsigned int)
?Log2@details@Concurrency@@YAKI@Z
; public: static void __cdecl Concurrency::Context::Oversubscribe(bool)
?Oversubscribe@Context@Concurrency@@SAX_N@Z
; public: static void __cdecl Concurrency::CurrentScheduler::RegisterShutdownEvent(void *)
?RegisterShutdownEvent@CurrentScheduler@Concurrency@@SAXPAX@Z
; public: static void __cdecl Concurrency::Scheduler::ResetDefaultSchedulerPolicy(void)
?ResetDefaultSchedulerPolicy@Scheduler@Concurrency@@SAXXZ
; public: static unsigned int __cdecl Concurrency::Context::ScheduleGroupId(void)
?ScheduleGroupId@Context@Concurrency@@SAIXZ
; public: static void __cdecl Concurrency::CurrentScheduler::ScheduleTask(void(__cdecl *)(void *),void *)
?ScheduleTask@CurrentScheduler@Concurrency@@SAXP6AXPAX@Z0@Z
; public: void __thiscall Concurrency::SchedulerPolicy::SetConcurrencyLimits(unsigned int,unsigned int)
?SetConcurrencyLimits@SchedulerPolicy@Concurrency@@QAEXII@Z ; has WINAPI (@8)
; public: static void __cdecl Concurrency::Scheduler::SetDefaultSchedulerPolicy(class Concurrency::SchedulerPolicy const &)
?SetDefaultSchedulerPolicy@Scheduler@Concurrency@@SAXABVSchedulerPolicy@2@@Z
; public: unsigned int __thiscall Concurrency::SchedulerPolicy::SetPolicyValue(enum Concurrency::PolicyElementKey,unsigned int)
?SetPolicyValue@SchedulerPolicy@Concurrency@@QAEIW4PolicyElementKey@2@I@Z ; has WINAPI (@8)
; public: static unsigned int __cdecl Concurrency::Context::VirtualProcessorId(void)
?VirtualProcessorId@Context@Concurrency@@SAIXZ
; public: static void __cdecl Concurrency::Context::Yield(void)
?Yield@Context@Concurrency@@SAXXZ
; private: void __thiscall Concurrency::details::_StructuredTaskCollection::_Abort(void)
?_Abort@_StructuredTaskCollection@details@Concurrency@@AAEXXZ
; public: void __thiscall Concurrency::details::_NonReentrantBlockingLock::_Acquire(void)
?_Acquire@_NonReentrantBlockingLock@details@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::details::_NonReentrantPPLLock::_Acquire(void *)
?_Acquire@_NonReentrantPPLLock@details@Concurrency@@QAEXPAX@Z ; has WINAPI (@4)
; public: void __thiscall Concurrency::details::_ReentrantBlockingLock::_Acquire(void)
?_Acquire@_ReentrantBlockingLock@details@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::details::_ReentrantLock::_Acquire(void)
?_Acquire@_ReentrantLock@details@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::details::_ReentrantPPLLock::_Acquire(void *)
?_Acquire@_ReentrantPPLLock@details@Concurrency@@QAEXPAX@Z ; has WINAPI (@4)
; public: void __thiscall Concurrency::details::_ReaderWriterLock::_AcquireRead(void)
?_AcquireRead@_ReaderWriterLock@details@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::details::_ReaderWriterLock::_AcquireWrite(void)
?_AcquireWrite@_ReaderWriterLock@details@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::details::_StructuredTaskCollection::_Cancel(void)
?_Cancel@_StructuredTaskCollection@details@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::details::_TaskCollection::_Cancel(void)
?_Cancel@_TaskCollection@details@Concurrency@@QAEXXZ
; protected: void __thiscall Concurrency::details::_UnrealizedChore::_CheckTaskCollection(void)
?_CheckTaskCollection@_UnrealizedChore@details@Concurrency@@IAEXXZ
; void __cdecl Concurrency::details::_ConcRT_Assert(char const *,char const *,int)
?_ConcRT_Assert@details@Concurrency@@YAXPBD0H@Z
; void __cdecl Concurrency::details::_ConcRT_CoreAssert(char const *,char const *,int)
?_ConcRT_CoreAssert@details@Concurrency@@YAXPBD0H@Z
; void __cdecl Concurrency::details::_ConcRT_DumpMessage(wchar_t const *,...)
?_ConcRT_DumpMessage@details@Concurrency@@YAXPB_WZZ
; void __cdecl Concurrency::details::_ConcRT_Trace(int,wchar_t const *,...)
?_ConcRT_Trace@details@Concurrency@@YAXHPB_WZZ
; private: void __thiscall std::exception::_Copy_str(char const *)
?_Copy_str@exception@std@@AAEXPBD@Z ; has WINAPI (@4)
; int __cdecl _CrtDbgReportW(int,unsigned short const *,int,unsigned short const *,unsigned short const *,...)
?_CrtDbgReportW@@YAHHPBGH00ZZ
; protected: void __thiscall Concurrency::details::<0x1ULL>::_DoYield(void)
?_DoYield@?$_SpinWait@$00@details@Concurrency@@IAEXXZ
; protected: void __thiscall Concurrency::details::<0x0ULL>::_DoYield(void)
?_DoYield@?$_SpinWait@$0A@@details@Concurrency@@IAEXXZ
; public: bool __thiscall Concurrency::details::_StructuredTaskCollection::_IsCanceling(void)
?_IsCanceling@_StructuredTaskCollection@details@Concurrency@@QAE_NXZ
; public: bool __thiscall Concurrency::details::_TaskCollection::_IsCanceling(void)
?_IsCanceling@_TaskCollection@details@Concurrency@@QAE_NXZ
; private: static char const *__cdecl type_info::_Name_base(class type_info const *,struct __type_info_node *)
?_Name_base@type_info@@CAPBDPBV1@PAU__type_info_node@@@Z
; private: static char const *__cdecl type_info::_Name_base_internal(class type_info const *,struct __type_info_node *)
?_Name_base_internal@type_info@@CAPBDPBV1@PAU__type_info_node@@@Z
; protected: unsigned long __thiscall Concurrency::details::<0x1ULL>::_NumberOfSpins(void)
?_NumberOfSpins@?$_SpinWait@$00@details@Concurrency@@IAEKXZ
; protected: unsigned long __thiscall Concurrency::details::<0x0ULL>::_NumberOfSpins(void)
?_NumberOfSpins@?$_SpinWait@$0A@@details@Concurrency@@IAEKXZ
; public: void __thiscall Concurrency::details::_NonReentrantBlockingLock::_Release(void)
?_Release@_NonReentrantBlockingLock@details@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::details::_NonReentrantPPLLock::_Release(void)
?_Release@_NonReentrantPPLLock@details@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::details::_ReentrantBlockingLock::_Release(void)
?_Release@_ReentrantBlockingLock@details@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::details::_ReentrantLock::_Release(void)
?_Release@_ReentrantLock@details@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::details::_ReentrantPPLLock::_Release(void)
?_Release@_ReentrantPPLLock@details@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::details::_ReaderWriterLock::_ReleaseRead(void)
?_ReleaseRead@_ReaderWriterLock@details@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::details::_ReaderWriterLock::_ReleaseWrite(void)
?_ReleaseWrite@_ReaderWriterLock@details@Concurrency@@QAEXXZ
; protected: void __thiscall Concurrency::details::<0x1ULL>::_Reset(void)
?_Reset@?$_SpinWait@$00@details@Concurrency@@IAEXXZ
; protected: void __thiscall Concurrency::details::<0x0ULL>::_Reset(void)
?_Reset@?$_SpinWait@$0A@@details@Concurrency@@IAEXXZ
; public: enum Concurrency::details::_TaskCollectionStatus __stdcall Concurrency::details::_StructuredTaskCollection::_RunAndWait(class Concurrency::details::_UnrealizedChore *)
?_RunAndWait@_StructuredTaskCollection@details@Concurrency@@QAG?AW4_TaskCollectionStatus@23@PAV_UnrealizedChore@23@@Z ; has WINAPI (@8)
; public: enum Concurrency::details::_TaskCollectionStatus __stdcall Concurrency::details::_TaskCollection::_RunAndWait(class Concurrency::details::_UnrealizedChore *)
?_RunAndWait@_TaskCollection@details@Concurrency@@QAG?AW4_TaskCollectionStatus@23@PAV_UnrealizedChore@23@@Z ; has WINAPI (@8)
; public: void __thiscall Concurrency::details::_StructuredTaskCollection::_Schedule(class Concurrency::details::_UnrealizedChore *)
?_Schedule@_StructuredTaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@@Z ; has WINAPI (@4)
; public: void __thiscall Concurrency::details::_TaskCollection::_Schedule(class Concurrency::details::_UnrealizedChore *)
?_Schedule@_TaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@@Z ; has WINAPI (@4)
; public: void __thiscall Concurrency::details::<0x1ULL>::_SetSpinCount(unsigned int)
?_SetSpinCount@?$_SpinWait@$00@details@Concurrency@@QAEXI@Z ; has WINAPI (@4)
; public: void __thiscall Concurrency::details::<0x0ULL>::_SetSpinCount(unsigned int)
?_SetSpinCount@?$_SpinWait@$0A@@details@Concurrency@@QAEXI@Z ; has WINAPI (@4)
; protected: bool __thiscall Concurrency::details::<0x1ULL>::_ShouldSpinAgain(void)
?_ShouldSpinAgain@?$_SpinWait@$00@details@Concurrency@@IAE_NXZ
; protected: bool __thiscall Concurrency::details::<0x0ULL>::_ShouldSpinAgain(void)
?_ShouldSpinAgain@?$_SpinWait@$0A@@details@Concurrency@@IAE_NXZ
; public: bool __thiscall Concurrency::details::<0x1ULL>::_SpinOnce(void)
?_SpinOnce@?$_SpinWait@$00@details@Concurrency@@QAE_NXZ
; public: bool __thiscall Concurrency::details::<0x0ULL>::_SpinOnce(void)
?_SpinOnce@?$_SpinWait@$0A@@details@Concurrency@@QAE_NXZ
; public: static void __cdecl Concurrency::Context::_SpinYield(void)
?_SpinYield@Context@Concurrency@@SAXXZ
; protected: void __thiscall Concurrency::details::_Timer::_Start(void)
?_Start@_Timer@details@Concurrency@@IAEXXZ
; protected: void __thiscall Concurrency::details::_Timer::_Stop(void)
?_Stop@_Timer@details@Concurrency@@IAEXXZ
; private: void __thiscall std::exception::_Tidy(void)
?_Tidy@exception@std@@AAEXXZ
; void __cdecl Concurrency::_Trace_ppl_function(struct _GUID const &,unsigned char,enum Concurrency::ConcRT_EventType)
?_Trace_ppl_function@Concurrency@@YAXABU_GUID@@EW4ConcRT_EventType@1@@Z
; public: bool __thiscall Concurrency::details::_NonReentrantBlockingLock::_TryAcquire(void)
?_TryAcquire@_NonReentrantBlockingLock@details@Concurrency@@QAE_NXZ
; public: bool __thiscall Concurrency::details::_ReentrantBlockingLock::_TryAcquire(void)
?_TryAcquire@_ReentrantBlockingLock@details@Concurrency@@QAE_NXZ
; public: bool __thiscall Concurrency::details::_ReentrantLock::_TryAcquire(void)
?_TryAcquire@_ReentrantLock@details@Concurrency@@QAE_NXZ
; public: bool __thiscall Concurrency::details::_ReaderWriterLock::_TryAcquireWrite(void)
?_TryAcquireWrite@_ReaderWriterLock@details@Concurrency@@QAE_NXZ
; private: static void __cdecl type_info::_Type_info_dtor(class type_info *)
?_Type_info_dtor@type_info@@CAXPAV1@@Z
; private: static void __cdecl type_info::_Type_info_dtor_internal(class type_info *)
?_Type_info_dtor_internal@type_info@@CAXPAV1@@Z
; void __cdecl Concurrency::details::_UnderlyingYield(void)
?_UnderlyingYield@details@Concurrency@@YAXXZ
; int __cdecl _ValidateExecute(int(__stdcall *)(void))
?_ValidateExecute@@YAHP6GHXZ@Z
; int __cdecl _ValidateRead(void const *,unsigned int)
?_ValidateRead@@YAHPBXI@Z
; int __cdecl _ValidateWrite(void *,unsigned int)
?_ValidateWrite@@YAHPAXI@Z
; public: static unsigned int __cdecl Concurrency::details::_SpinCount::_Value(void)
?_Value@_SpinCount@details@Concurrency@@SAIXZ
; void __cdecl __ExceptionPtrAssign(void *,void const *)
?__ExceptionPtrAssign@@YAXPAXPBX@Z
; bool __cdecl __ExceptionPtrCompare(void const *,void const *)
?__ExceptionPtrCompare@@YA_NPBX0@Z
; void __cdecl __ExceptionPtrCopy(void *,void const *)
?__ExceptionPtrCopy@@YAXPAXPBX@Z
; void __cdecl __ExceptionPtrCopyException(void *,void const *,void const *)
?__ExceptionPtrCopyException@@YAXPAXPBX1@Z
; void __cdecl __ExceptionPtrCreate(void *)
?__ExceptionPtrCreate@@YAXPAX@Z
; void __cdecl __ExceptionPtrCurrentException(void *)
?__ExceptionPtrCurrentException@@YAXPAX@Z
; void __cdecl __ExceptionPtrDestroy(void *)
?__ExceptionPtrDestroy@@YAXPAX@Z
; void __cdecl __ExceptionPtrRethrow(void const *)
?__ExceptionPtrRethrow@@YAXPBX@Z
; void __cdecl _inconsistency(void)
?_inconsistency@@YAXXZ
; void __cdecl _invalid_parameter(unsigned short const *,unsigned short const *,unsigned short const *,unsigned int,unsigned int)
?_invalid_parameter@@YAXPBG00II@Z
; int __cdecl _is_exception_typeof(class type_info const &,struct _EXCEPTION_POINTERS *)
?_is_exception_typeof@@YAHABVtype_info@@PAU_EXCEPTION_POINTERS@@@Z
; public: char const *__thiscall type_info::_name_internal_method(struct __type_info_node *)const 
?_name_internal_method@type_info@@QBEPBDPAU__type_info_node@@@Z ; has WINAPI (@4)
; int __cdecl _open(char const *,int,int)
?_open@@YAHPBDHH@Z
; int(__cdecl *)(unsigned int)__cdecl _query_new_handler(void)
?_query_new_handler@@YAP6AHI@ZXZ
; int __cdecl _query_new_mode(void)
?_query_new_mode@@YAHXZ
; int(__cdecl *)(unsigned int)__cdecl _set_new_handler(int)
?_set_new_handler@@YAP6AHI@ZH@Z
; int(__cdecl *)(unsigned int)__cdecl _set_new_handler(int(__cdecl *)(unsigned int))
?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z
; int __cdecl _set_new_mode(int)
?_set_new_mode@@YAHH@Z
; void(__cdecl *)(unsigned int,struct _EXCEPTION_POINTERS *)__cdecl _set_se_translator(int)
?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZH@Z
; void(__cdecl *)(unsigned int,struct _EXCEPTION_POINTERS *)__cdecl _set_se_translator(void(__cdecl *)(unsigned int,struct _EXCEPTION_POINTERS *))
?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z
; int __cdecl _sopen(char const *,int,int,int)
?_sopen@@YAHPBDHHH@Z
; public: void __thiscall type_info::_type_info_dtor_internal_method(void)
?_type_info_dtor_internal_method@type_info@@QAEXXZ
; int __cdecl _wopen(wchar_t const *,int,int)
?_wopen@@YAHPB_WHH@Z
; int __cdecl _wsopen(wchar_t const *,int,int,int)
?_wsopen@@YAHPB_WHHH@Z
; public: int __thiscall type_info::before(class type_info const &)const 
?before@type_info@@QBEHABV1@@Z ; has WINAPI (@4)
; /_control87/::'0x2ULL'::commonFlags
?commonFlags@?1??_control87@@9@9
; public: long __thiscall Concurrency::scheduler_resource_allocation_error::get_error_code(void)const 
?get_error_code@scheduler_resource_allocation_error@Concurrency@@QBEJXZ
; public: void __thiscall Concurrency::critical_section::lock(void)
?lock@critical_section@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::reader_writer_lock::lock(void)
?lock@reader_writer_lock@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::reader_writer_lock::lock_read(void)
?lock_read@reader_writer_lock@Concurrency@@QAEXXZ
; public: char const *__thiscall type_info::name(struct __type_info_node *)const 
?name@type_info@@QBEPBDPAU__type_info_node@@@Z ; has WINAPI (@4)
; public: class Concurrency::critical_section &__thiscall Concurrency::critical_section::native_handle(void)
?native_handle@critical_section@Concurrency@@QAEAAV12@XZ
; public: char const *__thiscall type_info::raw_name(void)const 
?raw_name@type_info@@QBEPBDXZ
; public: void __thiscall Concurrency::event::reset(void)
?reset@event@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::event::set(void)
?set@event@Concurrency@@QAEXXZ
; void(__cdecl *)(void)__cdecl set_new_handler(void(__cdecl *)(void))
?set_new_handler@@YAP6AXXZP6AXXZ@Z
; void(__cdecl *)(void)__cdecl set_terminate(int)
?set_terminate@@YAP6AXXZH@Z
; void(__cdecl *)(void)__cdecl set_terminate(void(__cdecl *)(void))
?set_terminate@@YAP6AXXZP6AXXZ@Z
; void(__cdecl *)(void)__cdecl set_unexpected(int)
?set_unexpected@@YAP6AXXZH@Z
; void(__cdecl *)(void)__cdecl set_unexpected(void(__cdecl *)(void))
?set_unexpected@@YAP6AXXZP6AXXZ@Z
; int __cdecl swprintf(unsigned short *,unsigned int,unsigned short const *,...)
?swprintf@@YAHPAGIPBGZZ
; int __cdecl swprintf(wchar_t *,unsigned int,wchar_t const *,...)
?swprintf@@YAHPA_WIPB_WZZ
; void __cdecl terminate(void)
?terminate@@YAXXZ
; public: bool __thiscall Concurrency::critical_section::try_lock(void)
?try_lock@critical_section@Concurrency@@QAE_NXZ
; public: bool __thiscall Concurrency::reader_writer_lock::try_lock(void)
?try_lock@reader_writer_lock@Concurrency@@QAE_NXZ
; public: bool __thiscall Concurrency::reader_writer_lock::try_lock_read(void)
?try_lock_read@reader_writer_lock@Concurrency@@QAE_NXZ
; void __cdecl unexpected(void)
?unexpected@@YAXXZ
; public: void __thiscall Concurrency::critical_section::unlock(void)
?unlock@critical_section@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::reader_writer_lock::unlock(void)
?unlock@reader_writer_lock@Concurrency@@QAEXXZ
; int __cdecl vswprintf(wchar_t *,unsigned int,wchar_t const *,char *)
?vswprintf@@YAHPA_WIPB_WPAD@Z
; void __cdecl Concurrency::wait(unsigned int)
?wait@Concurrency@@YAXI@Z
; public: unsigned int __thiscall Concurrency::event::wait(unsigned int)
?wait@event@Concurrency@@QAEII@Z ; has WINAPI (@4)
; public: static unsigned int __cdecl Concurrency::event::wait_for_multiple(class Concurrency::event **,unsigned int,bool,unsigned int)
?wait_for_multiple@event@Concurrency@@SAIPAPAV12@I_NI@Z
; public: virtual char const *__thiscall std::exception::what(void)const 
?what@exception@std@@UBEPBDXZ

__uncaught_exception
$I10_OUTPUT
_CIacos
_CIasin
_CIatan
_CIatan2
_CIcos
_CIcosh
_CIexp
_CIfmod
_CIlog
_CIlog10
_CIpow
_CIsin
_CIsinh
_CIsqrt
_CItan
_CItanh
_CRT_RTC_INIT
_CRT_RTC_INITW
_CreateFrameInfo
_CrtCheckMemory
_CrtDbgBreak
_CrtDbgReport
_CrtDbgReportW
_CrtDoForAllClientObjects
_CrtDumpMemoryLeaks
_CrtGetAllocHook
_CrtGetCheckCount
_CrtGetDumpClient
_CrtGetReportHook
_CrtIsMemoryBlock
_CrtIsValidHeapPointer
_CrtIsValidPointer
_CrtMemCheckpoint
_CrtMemDifference
_CrtMemDumpAllObjectsSince
_CrtMemDumpStatistics
_CrtReportBlockType
_CrtSetAllocHook
_CrtSetBreakAlloc
_CrtSetCheckCount
_CrtSetDbgBlockType
_CrtSetDbgFlag
_CrtSetDebugFillThreshold
_CrtSetDumpClient
_CrtSetReportFile
_CrtSetReportHook
_CrtSetReportHook2
_CrtSetReportHookW2
_CrtSetReportMode
_CxxThrowException@8
_EH_prolog
_FindAndUnlinkFrame
_Getdays
_Getmonths
_Gettnames
_HUGE DATA
_IsExceptionObjectToBeDestroyed
_NLG_Dispatch2 ; msvc symbol is without decoration but callee pop stack (like stdcall @4)
_NLG_Return ; msvc symbol is without decoration but callee pop stack (like stdcall @12)
_NLG_Return2
_Strftime
_VCrtDbgReportA
_VCrtDbgReportW
_XcptFilter
__AdjustPointer
__BuildCatchObject
__BuildCatchObjectHelper
__CppXcptFilter
__CxxCallUnwindDelDtor
__CxxCallUnwindDtor
__CxxCallUnwindStdDelDtor
__CxxCallUnwindVecDtor
__CxxDetectRethrow
__CxxExceptionFilter
__CxxFrameHandler
__CxxFrameHandler2
__CxxFrameHandler3
__CxxLongjmpUnwind@4
__CxxQueryExceptionSize
__CxxRegisterExceptionObject
__CxxUnregisterExceptionObject
__DestructExceptionObject
__FrameUnwindFilter
__RTCastToVoid
__RTDynamicCast
__RTtypeid
__STRINGTOLD
__STRINGTOLD_L
__TypeMatch
___lc_codepage_func
___lc_collate_cp_func
___lc_handle_func
___mb_cur_max_func
___mb_cur_max_l_func
___setlc_active_func
___unguarded_readlc_active_add_func
__argc DATA
__argv DATA
__badioinfo DATA
__clean_type_info_names_internal
__control87_2
__create_locale
__crtCompareStringA
__crtCompareStringW
__crtLCMapStringA
__crtLCMapStringW
__daylight
__dllonexit
__doserrno
__dstbias
STDCALL_DECORATED_EXPORT(__fls_getvalue@4)
STDCALL_DECORATED_EXPORT(__fls_setvalue@8)
__fpecode
__free_locale
__get_current_locale
__get_flsindex
__get_tlsindex
__getmainargs
__initenv DATA
__iob_func
__isascii
__iscsym
__iscsymf
__iswcsym
__iswcsymf
__lconv DATA
__lconv_init
__libm_sse2_acos
__libm_sse2_acosf
__libm_sse2_asin
__libm_sse2_asinf
__libm_sse2_atan
__libm_sse2_atan2
__libm_sse2_atanf
__libm_sse2_cos
__libm_sse2_cosf
__libm_sse2_exp
__libm_sse2_expf
__libm_sse2_log
__libm_sse2_log10
__libm_sse2_log10f
__libm_sse2_logf
__libm_sse2_pow
__libm_sse2_powf
__libm_sse2_sin
__libm_sse2_sinf
__libm_sse2_tan
__libm_sse2_tanf
__mb_cur_max DATA
__p___argc
__p___argv
__p___initenv
__p___mb_cur_max
__p___wargv
__p___winitenv
__p__acmdln
__p__commode
__p__crtAssertBusy
__p__crtBreakAlloc
__p__crtDbgFlag
__p__daylight
__p__dstbias
__p__environ
__p__fmode
__p__iob
__p__mbcasemap
__p__mbctype
__p__pctype
__p__pgmptr
__p__pwctype
__p__timezone
__p__tzname
__p__wcmdln
__p__wenviron
__p__wpgmptr
__pctype_func
__pioinfo DATA
__pwctype_func
__pxcptinfoptrs
__report_gsfailure
__set_app_type
__set_flsgetvalue
__setlc_active DATA
__setusermatherr
__strncnt
__swprintf_l
__sys_errlist
__sys_nerr
__threadhandle
__threadid
__timezone
__toascii
__tzname
__unDName
__unDNameEx
__unDNameHelper
__unguarded_readlc_active DATA
__vswprintf_l
__wargv DATA
__wcserror
__wcserror_s
__wcsncnt
__wgetmainargs
__winitenv DATA
_abnormal_termination
_abs64
_access
_access_s
_acmdln DATA
_aligned_free
_aligned_free_dbg
_aligned_malloc
_aligned_malloc_dbg
_aligned_msize
_aligned_msize_dbg
_aligned_offset_malloc
_aligned_offset_malloc_dbg
_aligned_offset_realloc
_aligned_offset_realloc_dbg
_aligned_offset_recalloc
_aligned_offset_recalloc_dbg
_aligned_realloc
_aligned_realloc_dbg
_aligned_recalloc
_aligned_recalloc_dbg
_amsg_exit
__msvcrt_assert DATA == _assert ; mingw-w64 provides _assert() function as wrapper around renamed __msvcrt_assert symbol
_atodbl
_atodbl_l
_atof_l
_atoflt
_atoflt_l
_atoi64
_atoi64_l
_atoi_l
_atol_l
_atoldbl
_atoldbl_l
_beep
_beginthread
_beginthreadex
_byteswap_uint64
_byteswap_ulong
_byteswap_ushort
_c_exit
_cabs DATA ; overwritten
_callnewh
_calloc_dbg
_cexit
_cgets
_cgets_s
_cgetws
_cgetws_s
_chdir
_chdrive
_chgsign
_chkesp
_chmod
_chsize
_chsize_s
_chvalidator
_chvalidator_l
_clearfp
_close
_commit
_commode DATA
_configthreadlocale
_control87
_controlfp
_controlfp_s
_copysign
_cprintf
_cprintf_l
_cprintf_p
_cprintf_p_l
_cprintf_s
_cprintf_s_l
_cputs
_cputws
_creat
_create_locale
_crtAssertBusy DATA
_crtBreakAlloc DATA
_crtDbgFlag DATA
_crt_debugger_hook
_cscanf
_cscanf_l
_cscanf_s
_cscanf_s_l
_ctime32
_ctime32_s
_ctime64
_ctime64_s
_cwait
_cwprintf
_cwprintf_l
_cwprintf_p
_cwprintf_p_l
_cwprintf_s
_cwprintf_s_l
_cwscanf
_cwscanf_l
_cwscanf_s
_cwscanf_s_l
_daylight DATA
_difftime32
_difftime64
_dosmaperr
_dstbias DATA
_dup
_dup2
_dupenv_s
_dupenv_s_dbg
_ecvt
_ecvt_s
_encoded_null
_endthread
_endthreadex
_environ DATA
_eof
_errno
_except_handler2
_except_handler3
_except_handler4_common
_execl
_execle
_execlp
_execlpe
_execv
_execve
_execvp
_execvpe
_exit
_expand
_expand_dbg
_fclose_nolock
_fcloseall
_fcvt
_fcvt_s
_fdopen
_fflush_nolock
_fgetchar
_fgetwc_nolock
_fgetwchar
_filbuf
_filelength
_filelengthi64
_fileno
_findclose
_findfirst32
_findfirst32i64
_findfirst64
_findfirst64i32
_findnext32
_findnext32i64
_findnext64
_findnext64i32
_finite
_flsbuf
_flushall
_fmode DATA
_fpclass
_fpieee_flt
_fpreset DATA ; overwritten
_fprintf_l
_fprintf_p
_fprintf_p_l
_fprintf_s_l
_fputchar
_fputwc_nolock
_fputwchar
_fread_nolock
_fread_nolock_s
_free_base
_free_dbg
_free_locale
_freea
_freea_s
_freefls@4
_fscanf_l
_fscanf_s_l
_fseek_nolock
_fseeki64
_fseeki64_nolock
_fsopen
_fstat32
_fstat32i64
_fstat64
_fstat64i32
_ftell_nolock
_ftelli64
_ftelli64_nolock
_ftime32
_ftime32_s
_ftime64
_ftime64_s
_ftol
_fullpath
_fullpath_dbg
_futime32
_futime64
_fwprintf_l
_fwprintf_p
_fwprintf_p_l
_fwprintf_s_l
_fwrite_nolock
_fwscanf_l
_fwscanf_s_l
_gcvt
_gcvt_s
_get_current_locale
_get_daylight
_get_doserrno
_get_dstbias
_get_errno
_get_fmode
_get_heap_handle
_get_invalid_parameter_handler
_get_osfhandle
_get_output_format
_get_pgmptr
_get_printf_count_output
_get_purecall_handler
_get_terminate
_get_timezone
_get_tzname
_get_unexpected
_get_wpgmptr
_getc_nolock
_getch
_getch_nolock
_getche
_getche_nolock
_getcwd
_getcwd_dbg
_getdcwd
_getdcwd_dbg
_getdcwd_nolock
_getdiskfree
_getdllprocaddr
_getdrive
_getdrives
_getmaxstdio
_getmbcp
_getpid
_getptd
_getsystime
_getw
_getwch
_getwch_nolock
_getwche
_getwche_nolock
_getws
_getws_s
_global_unwind2
_gmtime32
_gmtime32_s
_gmtime64
_gmtime64_s
_heapadd
_heapchk
_heapmin
_heapset
_heapused
_heapwalk
_hypot
_hypotf
_i64toa
_i64toa_s
_i64tow
_i64tow_s
_initptd
_initterm
_initterm_e
_inp
_inpd
_inpw
_invalid_parameter
_invoke_watson
_iob DATA
_isalnum_l
_isalpha_l
_isatty
_iscntrl_l
_isctype
_isctype_l
_isdigit_l
_isgraph_l
_isleadbyte_l
_islower_l
_ismbbalnum
_ismbbalnum_l
_ismbbalpha
_ismbbalpha_l
_ismbbgraph
_ismbbgraph_l
_ismbbkalnum
_ismbbkalnum_l
_ismbbkana
_ismbbkana_l
_ismbbkprint
_ismbbkprint_l
_ismbbkpunct
_ismbbkpunct_l
_ismbblead
_ismbblead_l
_ismbbprint
_ismbbprint_l
_ismbbpunct
_ismbbpunct_l
_ismbbtrail
_ismbbtrail_l
_ismbcalnum
_ismbcalnum_l
_ismbcalpha
_ismbcalpha_l
_ismbcdigit
_ismbcdigit_l
_ismbcgraph
_ismbcgraph_l
_ismbchira
_ismbchira_l
_ismbckata
_ismbckata_l
_ismbcl0
_ismbcl0_l
_ismbcl1
_ismbcl1_l
_ismbcl2
_ismbcl2_l
_ismbclegal
_ismbclegal_l
_ismbclower
_ismbclower_l
_ismbcprint
_ismbcprint_l
_ismbcpunct
_ismbcpunct_l
_ismbcspace
_ismbcspace_l
_ismbcsymbol
_ismbcsymbol_l
_ismbcupper
_ismbcupper_l
_ismbslead
_ismbslead_l
_ismbstrail
_ismbstrail_l
_isnan
_isprint_l
_ispunct_l
_isspace_l
_isupper_l
_iswalnum_l
_iswalpha_l
_iswcntrl_l
_iswcsym_l
_iswcsymf_l
_iswctype_l
_iswdigit_l
_iswgraph_l
_iswlower_l
_iswprint_l
_iswpunct_l
_iswspace_l
_iswupper_l
_iswxdigit_l
_isxdigit_l
_itoa
_itoa_s
_itow
_itow_s
_j0
_j1
_jn
_kbhit
_lfind
_lfind_s
_loaddll
_local_unwind2
_local_unwind4
_localtime32
_localtime32_s
_localtime64
_localtime64_s
_lock
_lock_file
_locking
_logb
_longjmpex
_lrotl
_lrotr
_lsearch
_lsearch_s
_lseek
_lseeki64
_ltoa
_ltoa_s
_ltow
_ltow_s
_makepath
_makepath_s
_malloc_base
_malloc_dbg
_mbbtombc
_mbbtombc_l
_mbbtype
_mbbtype_l
_mbcasemap DATA
_mbccpy
_mbccpy_l
_mbccpy_s
_mbccpy_s_l
_mbcjistojms
_mbcjistojms_l
_mbcjmstojis
_mbcjmstojis_l
_mbclen
_mbclen_l
_mbctohira
_mbctohira_l
_mbctokata
_mbctokata_l
_mbctolower
_mbctolower_l
_mbctombb
_mbctombb_l
_mbctoupper
_mbctoupper_l
_mbctype DATA
_mblen_l
_mbsbtype
_mbsbtype_l
_mbscat_s
_mbscat_s_l
_mbschr
_mbschr_l
_mbscmp
_mbscmp_l
_mbscoll
_mbscoll_l
_mbscpy_s
_mbscpy_s_l
_mbscspn
_mbscspn_l
_mbsdec
_mbsdec_l
_mbsicmp
_mbsicmp_l
_mbsicoll
_mbsicoll_l
_mbsinc
_mbsinc_l
_mbslen
_mbslen_l
_mbslwr
_mbslwr_l
_mbslwr_s
_mbslwr_s_l
_mbsnbcat
_mbsnbcat_l
_mbsnbcat_s
_mbsnbcat_s_l
_mbsnbcmp
_mbsnbcmp_l
_mbsnbcnt
_mbsnbcnt_l
_mbsnbcoll
_mbsnbcoll_l
_mbsnbcpy
_mbsnbcpy_l
_mbsnbcpy_s
_mbsnbcpy_s_l
_mbsnbicmp
_mbsnbicmp_l
_mbsnbicoll
_mbsnbicoll_l
_mbsnbset
_mbsnbset_l
_mbsnbset_s
_mbsnbset_s_l
_mbsncat
_mbsncat_l
_mbsncat_s
_mbsncat_s_l
_mbsnccnt
_mbsnccnt_l
_mbsncmp
_mbsncmp_l
_mbsncoll
_mbsncoll_l
_mbsncpy
_mbsncpy_l
_mbsncpy_s
_mbsncpy_s_l
_mbsnextc
_mbsnextc_l
_mbsnicmp
_mbsnicmp_l
_mbsnicoll
_mbsnicoll_l
_mbsninc
_mbsninc_l
_mbsnlen
_mbsnlen_l
_mbsnset
_mbsnset_l
_mbsnset_s
_mbsnset_s_l
_mbspbrk
_mbspbrk_l
_mbsrchr
_mbsrchr_l
_mbsrev
_mbsrev_l
_mbsset
_mbsset_l
_mbsset_s
_mbsset_s_l
_mbsspn
_mbsspn_l
_mbsspnp
_mbsspnp_l
_mbsstr
_mbsstr_l
_mbstok
_mbstok_l
_mbstok_s
_mbstok_s_l
_mbstowcs_l
_mbstowcs_s_l
_mbstrlen
_mbstrlen_l
_mbstrnlen
_mbstrnlen_l
_mbsupr
_mbsupr_l
_mbsupr_s
_mbsupr_s_l
_mbtowc_l
_memccpy
_memicmp
_memicmp_l
_mkdir
_mkgmtime32
_mkgmtime64
_mktemp
_mktemp_s
_mktime32
_mktime64
_msize
_msize_dbg
_nextafter
; _onexit ; disable _onexit for compatibility with DLL builds, real _onexit function provided by mingw-w64
_open
_open_osfhandle
_outp
_outpd
_outpw
_pclose
_pctype DATA
_pgmptr DATA
_pipe
_popen
_printf_l
_printf_p
_printf_p_l
_printf_s_l
_purecall
_putch
_putch_nolock
_putenv
_putenv_s
_putw
_putwch
_putwch_nolock
_putws
_pwctype DATA
_read
_realloc_dbg
_recalloc
_recalloc_dbg
_resetstkoflw
_rmdir
_rmtmp
_rotl
_rotl64
_rotr
_rotr64
_scalb
_scanf_l
_scanf_s_l
_scprintf
_scprintf_l
_scprintf_p
_scprintf_p_l
_scwprintf
_scwprintf_l
_scwprintf_p
_scwprintf_p_l
_searchenv
_searchenv_s
_seh_longjmp_unwind4@4
_seh_longjmp_unwind@4
_set_SSE2_enable
_set_abort_behavior
_set_controlfp
_set_doserrno
_set_errno
_set_error_mode
_set_fmode
_set_invalid_parameter_handler
_set_malloc_crt_max_wait
_set_output_format
_set_printf_count_output
_set_purecall_handler
_seterrormode
_setjmp
_setjmp3
_setmaxstdio
_setmbcp
_setmode
_setsystime
_sleep
_snprintf
_snprintf_c
_snprintf_c_l
_snprintf_l
_snprintf_s
_snprintf_s_l
_snscanf
_snscanf_l
_snscanf_s
_snscanf_s_l
_snwprintf
_snwprintf_l
_snwprintf_s
_snwprintf_s_l
_snwscanf
_snwscanf_l
_snwscanf_s
_snwscanf_s_l
_sopen
_sopen_s
_spawnl
_spawnle
_spawnlp
_spawnlpe
_spawnv
_spawnve
_spawnvp
_spawnvpe
_splitpath
_splitpath_s
_sprintf_l
_sprintf_p
_sprintf_p_l
_sprintf_s_l
_sscanf_l
_sscanf_s_l
_stat32
_stat32i64
_stat64
_stat64i32
_statusfp
_statusfp2
_strcoll_l
_strdate
_strdate_s
_strdup
_strdup_dbg
_strerror
_strerror_s
_strftime_l
_stricmp
_stricmp_l
_stricoll
_stricoll_l
_strlwr
_strlwr_l
_strlwr_s
_strlwr_s_l
_strncoll
_strncoll_l
_strnicmp
_strnicmp_l
_strnicoll
_strnicoll_l
_strnset
_strnset_s
_strrev
_strset
_strset_s
_strtime
_strtime_s
_strtod_l
_strtoi64
_strtoi64_l
_strtol_l
_strtoui64
_strtoui64_l
_strtoul_l
_strupr
_strupr_l
_strupr_s
_strupr_s_l
_strxfrm_l
_swab
_swprintf
_swprintf_c
_swprintf_c_l
_swprintf_p
_swprintf_p_l
_swprintf_s_l
_swscanf_l
_swscanf_s_l
_sys_errlist DATA
_sys_nerr DATA
_tell
_telli64
_tempnam
_tempnam_dbg
_time32
_time64
_timezone DATA
_tolower
_tolower_l
_toupper
_toupper_l
_towlower_l
_towupper_l
_tzname DATA
_tzset
_ui64toa
_ui64toa_s
_ui64tow
_ui64tow_s
_ultoa
_ultoa_s
_ultow
_ultow_s
_umask
_umask_s
_ungetc_nolock
_ungetch
_ungetch_nolock
_ungetwc_nolock
_ungetwch
_ungetwch_nolock
_unlink
_unloaddll
_unlock
_unlock_file
_utime32
_utime64
_vcprintf
_vcprintf_l
_vcprintf_p
_vcprintf_p_l
_vcprintf_s
_vcprintf_s_l
_vcwprintf
_vcwprintf_l
_vcwprintf_p
_vcwprintf_p_l
_vcwprintf_s
_vcwprintf_s_l
_vfprintf_l
_vfprintf_p
_vfprintf_p_l
_vfprintf_s_l
_vfwprintf_l
_vfwprintf_p
_vfwprintf_p_l
_vfwprintf_s_l
_vprintf_l
_vprintf_p
_vprintf_p_l
_vprintf_s_l
_vscprintf
_vscprintf_l
_vscprintf_p
_vscprintf_p_l
_vscwprintf
_vscwprintf_l
_vscwprintf_p
_vscwprintf_p_l
_vsnprintf
_vsnprintf_c
_vsnprintf_c_l
_vsnprintf_l
_vsnprintf_s
_vsnprintf_s_l
_vsnwprintf
_vsnwprintf_l
_vsnwprintf_s
_vsnwprintf_s_l
_vsprintf_l
_vsprintf_p
_vsprintf_p_l
_vsprintf_s_l
_vswprintf
_vswprintf_c
_vswprintf_c_l
_vswprintf_l
_vswprintf_p
_vswprintf_p_l
_vswprintf_s_l
_vwprintf_l
_vwprintf_p
_vwprintf_p_l
_vwprintf_s_l
_waccess
_waccess_s
_wasctime
_wasctime_s
_wassert
_wchdir
_wchmod
_wcmdln DATA
_wcreat
_wcscoll_l
_wcsdup
_wcsdup_dbg
_wcserror
_wcserror_s
_wcsftime_l
_wcsicmp
_wcsicmp_l
_wcsicoll
_wcsicoll_l
_wcslwr
_wcslwr_l
_wcslwr_s
_wcslwr_s_l
_wcsncoll
_wcsncoll_l
_wcsnicmp
_wcsnicmp_l
_wcsnicoll
_wcsnicoll_l
_wcsnset
_wcsnset_s
_wcsrev
_wcsset
_wcsset_s
_wcstod_l
_wcstoi64
_wcstoi64_l
_wcstol_l
_wcstombs_l
_wcstombs_s_l
_wcstoui64
_wcstoui64_l
_wcstoul_l
_wcsupr
_wcsupr_l
_wcsupr_s
_wcsupr_s_l
_wcsxfrm_l
_wctime32
_wctime32_s
_wctime64
_wctime64_s
_wctomb_l
_wctomb_s_l
_wctype DATA
_wdupenv_s
_wdupenv_s_dbg
_wenviron DATA
_wexecl
_wexecle
_wexeclp
_wexeclpe
_wexecv
_wexecve
_wexecvp
_wexecvpe
_wfdopen
_wfindfirst32
_wfindfirst32i64
_wfindfirst64
_wfindfirst64i32
_wfindnext32
_wfindnext32i64
_wfindnext64
_wfindnext64i32
_wfopen
_wfopen_s
_wfreopen
_wfreopen_s
_wfsopen
_wfullpath
_wfullpath_dbg
_wgetcwd
_wgetcwd_dbg
_wgetdcwd
_wgetdcwd_dbg
_wgetdcwd_nolock
_wgetenv
_wgetenv_s
_wmakepath
_wmakepath_s
_wmkdir
_wmktemp
_wmktemp_s
_wopen
_wperror
_wpgmptr DATA
_wpopen
_wprintf_l
_wprintf_p
_wprintf_p_l
_wprintf_s_l
_wputenv
_wputenv_s
_wremove
_wrename
_write
_wrmdir
_wscanf_l
_wscanf_s_l
_wsearchenv
_wsearchenv_s
_wsetlocale
_wsopen
_wsopen_s
_wspawnl
_wspawnle
_wspawnlp
_wspawnlpe
_wspawnv
_wspawnve
_wspawnvp
_wspawnvpe
_wsplitpath
_wsplitpath_s
_wstat32
_wstat32i64
_wstat64
_wstat64i32
_wstrdate
_wstrdate_s
_wstrtime
_wstrtime_s
_wsystem
_wtempnam
_wtempnam_dbg
_wtmpnam
_wtmpnam_s
_wtof
_wtof_l
_wtoi
_wtoi64
_wtoi64_l
_wtoi_l
_wtol
_wtol_l
_wunlink
_wutime32
_wutime64
_y0
_y1
_yn
abort
abs
acos
asctime
asctime_s
asin
atan
atan2 DATA ; overwritten
_crt_atexit == atexit ; rename atexit to _crt_atexit for compatibility with UCRT, real atexit function provided by mingw-w64
atof
atoi
atol
bsearch
bsearch_s
; btowc ; replaced for consistency with wctob
calloc
ceil DATA ; overwritten
clearerr
clearerr_s
clock
cos DATA ; overwritten
cosh
div
exit
exp DATA ; overwritten
fabs DATA ; overwritten
fclose
feof
ferror
fflush
fgetc
fgetpos
fgets
fgetwc
fgetws
floor DATA ; overwritten
fmod DATA ; overwritten
fopen
fopen_s
fprintf
fprintf_s
fputc
fputs
fputwc
fputws
fread
fread_s
free
freopen
freopen_s
frexp DATA ; overwritten
fscanf
fscanf_s
fseek
fsetpos
ftell
fwprintf
fwprintf_s
fwrite
fwscanf
fwscanf_s
getc
getchar
getenv
getenv_s
gets
gets_s
getwc
getwchar
is_wctype
isalnum
isalpha
iscntrl
isdigit
isgraph
isleadbyte
islower
; isprint ; replaced by emu, CRT version mishandles TAB character
ispunct
isspace
isupper
iswalnum
iswalpha
iswascii
iswcntrl
__msvcrt_iswctype DATA == iswctype; mingw-w64 provides real iswctype as a wrapper around renamed __msvcrt_iswctype
iswdigit
iswgraph
iswlower
; iswprint ; replaced by emu, CRT version mishandles TAB character
iswpunct
iswspace
iswupper
iswxdigit
isxdigit
labs
ldexp DATA ; overwritten
ldiv
llabs
lldiv
localeconv
log DATA ; overwritten
log10
longjmp
malloc
mblen
; mbrlen ; replaced, CRT version does not conform to C95
; mbrtowc ; replaced, CRT version does not conform to C95
; mbsrtowcs ; replaced, CRT version does not conform to C95
mbsrtowcs_s
mbstowcs
mbstowcs_s
mbtowc
memchr
memcmp
memcpy
memcpy_s
memmove
memmove_s
memset
modf DATA ; overwritten
perror
pow DATA ; overwritten
printf
printf_s
putc
putchar
puts
putwc
putwchar
qsort
qsort_s
raise
rand
rand_s
realloc
remove
rename
rewind
scanf
scanf_s
setbuf
setlocale
setvbuf
signal
sin DATA ; overwritten
sinh
sprintf
sprintf_s
sqrt DATA ; overwritten
srand
sscanf
sscanf_s
strcat
strcat_s
strchr
strcmp
strcoll
strcpy
strcpy_s
strcspn
strerror
strerror_s
strftime
strlen
strncat
strncat_s
strncmp
strncpy
strncpy_s
strnlen
strpbrk
strrchr
strspn
strstr
strtod
strtok
strtok_s
strtol
strtoul
strxfrm
swprintf_s
swscanf
swscanf_s
system
tan
tanh
; tmpfile replaced by emu, CRT version may not use writable temporary directory
tmpfile_s
tmpnam
tmpnam_s
tolower
toupper
towlower
towupper
ungetc
ungetwc
vfprintf
vfprintf_s
vfwprintf
vfwprintf_s
vprintf
vprintf_s
vsprintf
vsprintf_s
vswprintf_s
vwprintf
vwprintf_s
; wcrtomb ; replaced, CRT version does not report invalid conversion state
wcrtomb_s
wcscat
wcscat_s
wcschr
wcscmp
wcscoll
wcscpy
wcscpy_s
wcscspn
wcsftime
wcslen
wcsncat
wcsncat_s
wcsncmp
wcsncpy
wcsncpy_s
wcsnlen
wcspbrk
wcsrchr
; wcsrtombs ; replaced, CRT version does not report invalid conversion state
wcsrtombs_s
wcsspn
wcsstr
wcstod
_wcstok == wcstok ; provide nonstandard function "wcstok" in the DLL, under the name "_wcstok" to match UCRT, the C95+ compatible "wcstok" is provided by wcstok_s alias
wcstok_s
wcstol
wcstombs
wcstombs_s
wcstoul
wcsxfrm
; wctob ; replaced, CRT version may sign-extend its return value
wctomb
wctomb_s
wmemcpy_s
wmemmove_s
wprintf
wprintf_s
wscanf
wscanf_s

#define NO_TMPFILE_ALIAS
#define WITH_NEXTAFTER_ALIAS
#define WITH_ATOLL_ALIAS
#define WITH_ATOLL_L_ALIAS
#define WITH_IMAXABS_ALIAS
#define WITH_IMAXDIV_ALIAS
#define WITH_STRTO64_ALIAS
#define WITH_STRTO64_L_ALIAS
#include "crt-aliases.def.in"
