;
; Definition file of MSVCR100.dll
; Automatic generated by gendef
; written by Kai Tietz 2008
;
LIBRARY "MSVCR100.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)
; 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)
; 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
_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
_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__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_malloc
_aligned_msize
_aligned_offset_malloc
_aligned_offset_realloc
_aligned_offset_recalloc
_aligned_realloc
_aligned_recalloc
_amsg_exit
_assert
_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
_callnewh
_calloc_crt
_cexit
_cgets
_cgets_s
_cgetws
_cgetws_s
_chdir
_chdrive
_chgsign
_chkesp
_chmod
_chsize
_chsize_s
_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
_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
_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
_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
_fprintf_l
_fprintf_p
_fprintf_p_l
_fprintf_s_l
_fputchar
_fputwc_nolock
_fputwchar
_fread_nolock
_fread_nolock_s
_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
_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
_getdcwd
_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
_invalid_parameter_noinfo
_invalid_parameter_noinfo_noreturn
_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_crt
_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
_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_crt
_recalloc
_recalloc_crt
_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
_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
_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
_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
_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
_wgetcwd
_wgetdcwd
_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
_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
_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
clearerr
clearerr_s
clock
cos DATA
; If we implement cosh too, we can set it to DATA only.
cosh
div
exit
exp DATA
fabs DATA
fclose
feof
ferror
fflush
fgetc
fgetpos
fgets
fgetwc
fgetws
floor DATA
fmod DATA
fopen
fopen_s
fprintf
fprintf_s
fputc
fputs
fputwc
fputws
fread
fread_s
free
freopen
freopen_s
frexp DATA
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
ispunct
isspace
isupper
iswalnum
iswalpha
iswascii
iswcntrl
iswctype
iswdigit
iswgraph
iswlower
iswprint
iswpunct
iswspace
iswupper
iswxdigit
isxdigit
labs
ldexp DATA
ldiv
llabs
lldiv
localeconv
log DATA
; If we implement log10, we can set it to DATA only.
log10
longjmp
malloc
mblen
mbrlen
mbrtowc
mbsrtowcs
mbsrtowcs_s
mbstowcs
mbstowcs_s
mbtowc
memchr
memcmp
memcpy
memcpy_s
memmove
memmove_s
memset
modf DATA
perror
pow DATA
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
; If we implenent sinh, we can set it to DATA only.
sinh
sprintf
sprintf_s
sqrt DATA
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
; If we implement tanh, we can set it to DATA only.
tanh
tmpfile
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
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
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 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
#define USE_WCSTOK_S_FOR_WCSTOK
#include "crt-aliases.def.in"
