;
; Definition file of MSVCR120.dll
; Automatic generated by gendef
; written by Kai Tietz 2008
;
LIBRARY "MSVCR120.dll"
EXPORTS
; 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::_Cancellation_beacon::_Cancellation_beacon(void)
??0_Cancellation_beacon@details@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::details::_Condition_variable::_Condition_variable(void)
??0_Condition_variable@details@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::details::_Context::_Context(class Concurrency::Context *)
??0_Context@details@Concurrency@@QAE@PAVContext@2@@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::details::_Interruption_exception::_Interruption_exception(char const *)
??0_Interruption_exception@details@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::details::_Interruption_exception::_Interruption_exception(void)
??0_Interruption_exception@details@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::_Scheduler::_Scheduler(class Concurrency::Scheduler *)
??0_Scheduler@details@Concurrency@@QAE@PAVScheduler@2@@Z ; has WINAPI (@4)
; 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::_StructuredTaskCollection::_StructuredTaskCollection(class Concurrency::details::_CancellationTokenState *)
??0_StructuredTaskCollection@details@Concurrency@@QAE@PAV_CancellationTokenState@12@@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::details::_TaskCollection::_TaskCollection(class Concurrency::details::_CancellationTokenState *)
??0_TaskCollection@details@Concurrency@@QAE@PAV_CancellationTokenState@12@@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::scheduler_worker_creation_error::scheduler_worker_creation_error(long)
??0scheduler_worker_creation_error@Concurrency@@QAE@J@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::scheduler_worker_creation_error::scheduler_worker_creation_error(char const *,long)
??0scheduler_worker_creation_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::task_canceled::task_canceled(char const *)
??0task_canceled@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::task_canceled::task_canceled(void)
??0task_canceled@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::_Cancellation_beacon::~_Cancellation_beacon(void)
??1_Cancellation_beacon@details@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::details::_Condition_variable::~_Condition_variable(void)
??1_Condition_variable@details@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::_StructuredTaskCollection::~_StructuredTaskCollection(void)
??1_StructuredTaskCollection@details@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::details::_TaskCollection::~_TaskCollection(void)
??1_TaskCollection@details@Concurrency@@QAE@XZ
; protected: virtual __thiscall Concurrency::details::_Timer::~_Timer(void)
??1_Timer@details@Concurrency@@MAE@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
; void __cdecl operator delete(void *,int,char const *,int)
??3@YAXPAXHPBDH@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 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 Concurrency::details::_Context::__dflt_ctor_closure(void)
??_F_Context@details@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::details::_Scheduler::__dflt_ctor_closure(void)
??_F_Scheduler@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 operator delete[](void *,int,char const *,int)
??_V@YAXPAXHPBDH@Z
; void *__cdecl Concurrency::Alloc(unsigned int)
?Alloc@Concurrency@@YAPAXI@Z
; public: static void __cdecl Concurrency::Context::Block(void)
?Block@Context@Concurrency@@SAXXZ
; unsigned int __cdecl Concurrency::details::platform::CaptureCallstack(void **,unsigned int,unsigned int)
?CaptureCallstack@platform@details@Concurrency@@YAIPAPAXII@Z
; 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(class Concurrency::location &)
?CreateScheduleGroup@CurrentScheduler@Concurrency@@SAPAVScheduleGroup@2@AAVlocation@2@@Z
; 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
; long __cdecl Concurrency::details::platform::GetCurrentThreadId(void)
?GetCurrentThreadId@platform@details@Concurrency@@YAJXZ ; has WINAPI (@0)
; 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::CurrentScheduler::IsAvailableLocation(class Concurrency::location const &)
?IsAvailableLocation@CurrentScheduler@Concurrency@@SA_NABVlocation@2@@Z
; 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: static void __cdecl Concurrency::CurrentScheduler::ScheduleTask(void(__cdecl *)(void *),void *,class Concurrency::location &)
?ScheduleTask@CurrentScheduler@Concurrency@@SAXP6AXPAX@Z0AAVlocation@2@@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
; private: void __thiscall Concurrency::details::_StructuredTaskCollection::_CleanupToken(void)
?_CleanupToken@_StructuredTaskCollection@details@Concurrency@@AAEXXZ
; void __cdecl Concurrency::details::_ConcRT_CoreAssert(char const *,char const *,int)
?_ConcRT_CoreAssert@details@Concurrency@@YAXPBD0H@Z
; void __cdecl Concurrency::details::_ConcRT_Trace(int,wchar_t const *,...)
?_ConcRT_Trace@details@Concurrency@@YAXHPB_WZZ
; public: bool __thiscall Concurrency::details::_Cancellation_beacon::_Confirm_cancel(void)
?_Confirm_cancel@_Cancellation_beacon@details@Concurrency@@QAE_NXZ
; private: void __thiscall std::exception::_Copy_str(char const *)
?_Copy_str@exception@std@@AAEXPBD@Z ; has WINAPI (@4)
; public: static class Concurrency::details::_Context __cdecl Concurrency::details::_Context::_CurrentContext(void)
?_CurrentContext@_Context@details@Concurrency@@SA?AV123@XZ
; public: static class Concurrency::location __cdecl Concurrency::location::_Current_node(void)
?_Current_node@location@Concurrency@@SA?AV12@XZ
; private: virtual void __thiscall Concurrency::details::_AsyncTaskCollection::_Destroy(void)
?_Destroy@_AsyncTaskCollection@details@Concurrency@@EAEXXZ
; 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: static class Concurrency::details::_Scheduler __cdecl Concurrency::details::_CurrentScheduler::_Get(void)
?_Get@_CurrentScheduler@details@Concurrency@@SA?AV_Scheduler@23@XZ
; struct Concurrency::details::_CONCRT_TRACE_INFO const *__cdecl Concurrency::_GetConcRTTraceInfo(void)
?_GetConcRTTraceInfo@Concurrency@@YAPBU_CONCRT_TRACE_INFO@details@1@XZ
; unsigned int __cdecl Concurrency::details::_GetConcurrency(void)
?_GetConcurrency@details@Concurrency@@YAIXZ
; private: static unsigned int &__cdecl Concurrency::details::_StackGuard::_GetCurrentInlineDepth(void)
?_GetCurrentInlineDepth@_StackGuard@details@Concurrency@@CAAAIXZ
; public: static unsigned int __cdecl Concurrency::details::_CurrentScheduler::_GetNumberOfVirtualProcessors(void)
?_GetNumberOfVirtualProcessors@_CurrentScheduler@details@Concurrency@@SAIXZ
; public: class Concurrency::Scheduler *__thiscall Concurrency::details::_Scheduler::_GetScheduler(void)
?_GetScheduler@_Scheduler@details@Concurrency@@QAEPAVScheduler@3@XZ
; public: static unsigned int __cdecl Concurrency::details::_CurrentScheduler::_Id(void)
?_Id@_CurrentScheduler@details@Concurrency@@SAIXZ
; 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
; public: bool __thiscall Concurrency::details::_Context::_IsSynchronouslyBlocked(void)const 
?_IsSynchronouslyBlocked@_Context@details@Concurrency@@QBE_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
; public: static class Concurrency::details::_AsyncTaskCollection *__cdecl Concurrency::details::_AsyncTaskCollection::_NewCollection(class Concurrency::details::_CancellationTokenState *)
?_NewCollection@_AsyncTaskCollection@details@Concurrency@@SAPAV123@PAV_CancellationTokenState@23@@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: static void __cdecl Concurrency::details::_Context::_Oversubscribe(bool)
?_Oversubscribe@_Context@details@Concurrency@@SAX_N@Z
; public: unsigned int __thiscall Concurrency::details::_Scheduler::_Reference(void)
?_Reference@_Scheduler@details@Concurrency@@QAEIXZ
; 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: unsigned int __thiscall Concurrency::details::_Scheduler::_Release(void)
?_Release@_Scheduler@details@Concurrency@@QAEIXZ
; 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
; void __cdecl Concurrency::details::_ReportUnobservedException(void)
?_ReportUnobservedException@details@Concurrency@@YAXXZ
; 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::_StructuredTaskCollection::_Schedule(class Concurrency::details::_UnrealizedChore *,class Concurrency::location *)
?_Schedule@_StructuredTaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@PAVlocation@3@@Z ; has WINAPI (@8)
; 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::_TaskCollection::_Schedule(class Concurrency::details::_UnrealizedChore *,class Concurrency::location *)
?_Schedule@_TaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@PAVlocation@3@@Z ; has WINAPI (@8)
; public: static void __cdecl Concurrency::details::_CurrentScheduler::_ScheduleTask(void(__cdecl *)(void *),void *)
?_ScheduleTask@_CurrentScheduler@details@Concurrency@@SAXP6AXPAX@Z0@Z
; 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)
; void __cdecl Concurrency::details::_SetUnobservedExceptionHandler(void(__cdecl *)(void))
?_SetUnobservedExceptionHandler@details@Concurrency@@YAXP6AXXZ@Z
; 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_agents(enum Concurrency::Agents_EventType,__int64,...)
?_Trace_agents@Concurrency@@YAXW4Agents_EventType@1@_JZZ
; 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 ; has WINAPI (@0)
; 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
; public: static void __cdecl Concurrency::details::_Context::_Yield(void)
?_Yield@_Context@details@Concurrency@@SAXXZ
; 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 __ExceptionPtrSwap(void *,void *)
?__ExceptionPtrSwap@@YAXPAX0@Z
; bool __cdecl __ExceptionPtrToBool(void const *)
?__ExceptionPtrToBool@@YA_NPBX@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: bool __thiscall type_info::before(class type_info const &)const 
?before@type_info@@QBE_NABV1@@Z ; has WINAPI (@4)
; public: static class Concurrency::location __cdecl Concurrency::location::current(void)
?current@location@Concurrency@@SA?AV12@XZ
; public: static class Concurrency::location __cdecl Concurrency::location::from_numa_node(unsigned short)
?from_numa_node@location@Concurrency@@SA?AV12@G@Z
; 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: void __thiscall Concurrency::details::_Condition_variable::notify_all(void)
?notify_all@_Condition_variable@details@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::details::_Condition_variable::notify_one(void)
?notify_one@_Condition_variable@details@Concurrency@@QAEXXZ
; 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 Concurrency::set_task_execution_resources(unsigned short,struct _GROUP_AFFINITY *)
?set_task_execution_resources@Concurrency@@YAXGPAU_GROUP_AFFINITY@@@Z
; void __cdecl Concurrency::set_task_execution_resources(unsigned long)
?set_task_execution_resources@Concurrency@@YAXK@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::critical_section::try_lock_for(unsigned int)
?try_lock_for@critical_section@Concurrency@@QAE_NI@Z ; has WINAPI (@4)
; 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: void __thiscall Concurrency::details::_Condition_variable::wait(class Concurrency::critical_section &)
?wait@_Condition_variable@details@Concurrency@@QAEXAAVcritical_section@3@@Z ; has WINAPI (@4)
; public: unsigned int __thiscall Concurrency::event::wait(unsigned int)
?wait@event@Concurrency@@QAEII@Z ; has WINAPI (@4)
; public: bool __thiscall Concurrency::details::_Condition_variable::wait_for(class Concurrency::critical_section &,unsigned int)
?wait_for@_Condition_variable@details@Concurrency@@QAE_NAAVcritical_section@3@I@Z ; has WINAPI (@8)
; 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
_Cbuild
_CreateFrameInfo
_CxxThrowException@8
_EH_prolog
_FCbuild
_FindAndUnlinkFrame
_Getdays
_Getmonths
_Gettnames
_HUGE DATA
_IsExceptionObjectToBeDestroyed
_LCbuild
_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
_SetWinRTOutOfMemoryExceptionCallback
_Strftime
_W_Getdays
_W_Getmonths
_W_Gettnames
_Wcsftime
_XcptFilter
__AdjustPointer
__BuildCatchObject
__BuildCatchObjectHelper
__CppXcptFilter
__CxxDetectRethrow
__CxxExceptionFilter
__CxxFrameHandler
__CxxFrameHandler2
__CxxFrameHandler3
__CxxLongjmpUnwind@4
__CxxQueryExceptionSize
__CxxRegisterExceptionObject
__CxxUnregisterExceptionObject
__DestructExceptionObject
__FrameUnwindFilter
__GetPlatformExceptionInfo
__RTCastToVoid
__RTDynamicCast
__RTtypeid
__STRINGTOLD
__STRINGTOLD_L
__TypeMatch
___lc_codepage_func
___lc_collate_cp_func
___lc_locale_name_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
__crtCompareStringEx
__crtCompareStringW
__crtCreateEventExW
__crtCreateSemaphoreExW
__crtCreateSymbolicLinkW
__crtEnumSystemLocalesEx
__crtFlsAlloc
__crtFlsFree
__crtFlsGetValue
__crtFlsSetValue
__crtGetDateFormatEx
__crtGetFileInformationByHandleEx
__crtGetLocaleInfoEx
__crtGetShowWindowMode
__crtGetTickCount64
__crtGetTimeFormatEx
__crtGetUserDefaultLocaleName
__crtInitializeCriticalSectionEx
__crtIsPackagedApp
__crtIsValidLocaleName
__crtLCMapStringA
__crtLCMapStringEx
__crtLCMapStringW
__crtSetFileInformationByHandle
__crtSetThreadStackGuarantee
__crtSetUnhandledExceptionFilter
__crtSleep
__crtTerminateProcess
__crtUnhandledException
__daylight
__dllonexit
__doserrno
__dstbias
__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
__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
_atoll_l
_beep
_beginthread
_beginthreadex
_byteswap_uint64
_byteswap_ulong
_byteswap_ushort
_c_exit
_cabs
_callnewh
_calloc_crt
_cexit
_cgets
_cgets_s
_cgetws
_cgetws_s
_chdir
_chdrive
_chgsign
_chgsignf
_chkesp
_chmod
_chsize
_chsize_s
_clearfp
_close
_commit
_commode DATA
_configthreadlocale
_control87
_controlfp
_controlfp_s
_copysign
_copysignf
_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
_dclass
_difftime32
_difftime64
_dosmaperr
_dpcomp
_dsign
_dstbias DATA
_dtest
_dup
_dup2
_dupenv_s
_ecvt
_ecvt_s
_endthread
_endthreadex
_environ DATA
_eof
_errno
_except1
_except_handler2
_except_handler3
_except_handler4_common
_execl
_execle
_execlp
_execlpe
_execv
_execve
_execvp
_execvpe
_exit
_expand
_fclose_nolock
_fcloseall
_fcvt
_fcvt_s
_fdclass
_fdopen
_fdpcomp
_fdsign
_fdtest
_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
_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
_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
_isblank_l
_iscntrl_l
_isctype
_isctype_l
_isdigit_l
_isgraph_l
_isleadbyte_l
_islower_l
_ismbbalnum
_ismbbalnum_l
_ismbbalpha
_ismbbalpha_l
_ismbbblank
_ismbbblank_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
_ismbcblank
_ismbcblank_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
_iswblank_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
_ldclass
_ldpcomp
_ldsign
_ldtest
_lfind
_lfind_s
_libm_sse2_acos_precise
_libm_sse2_asin_precise
_libm_sse2_atan_precise
_libm_sse2_cos_precise
_libm_sse2_exp_precise
_libm_sse2_log10_precise
_libm_sse2_log_precise
_libm_sse2_pow_precise
_libm_sse2_sin_precise
_libm_sse2_sqrt_precise
_libm_sse2_tan_precise
_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
_strtof_l
_strtoi64
_strtoi64_l
_strtoimax_l
_strtol_l
; _strtold_l ; Can't use long double functions from the CRT on x86
_strtoll_l
_strtoui64
_strtoui64_l
_strtoul_l
_strtoull_l
_strtoumax_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
_vacopy
_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
_wcreate_locale
_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
_wcstof_l
_wcstoi64
_wcstoi64_l
_wcstoimax_l
_wcstol_l
; _wcstold_l ; Can't use long double functions from the CRT on x86
_wcstoll_l
_wcstombs_l
_wcstombs_s_l
_wcstoui64
_wcstoui64_l
_wcstoul_l
_wcstoull_l
_wcstoumax_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
_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
_wtoll
_wtoll_l
_wunlink
_wutime32
_wutime64
_y0
_y1
_yn
abort
abs
acos
acosh
acoshf
; acoshl ; Can't use long double functions from the CRT on x86
asctime
asctime_s
asin
asinh
asinhf
; asinhl ; Can't use long double functions from the CRT on x86
atan
atan2
atanh
atanhf
; atanhl ; Can't use long double functions from the CRT on x86
_crt_atexit == atexit ; rename atexit to _crt_atexit for compatibility with UCRT, real atexit function provided by mingw-w64
atof
atoi
atol
atoll
bsearch
bsearch_s
; btowc ; replaced for consistency with wctob
cabs
cabsf
; cabsl ; Can't use long double functions from the CRT on x86
cacos
cacosf
cacosh
cacoshf
; cacoshl ; Can't use long double functions from the CRT on x86
; cacosl ; Can't use long double functions from the CRT on x86
calloc
carg
cargf
; cargl ; Can't use long double functions from the CRT on x86
casin
casinf
casinh
casinhf
; casinhl ; Can't use long double functions from the CRT on x86
; casinl ; Can't use long double functions from the CRT on x86
catan
catanf
catanh
catanhf
; catanhl ; Can't use long double functions from the CRT on x86
; catanl ; Can't use long double functions from the CRT on x86
cbrt
cbrtf
; cbrtl ; Can't use long double functions from the CRT on x86
ccos
ccosf
ccosh
ccoshf
; ccoshl ; Can't use long double functions from the CRT on x86
; ccosl ; Can't use long double functions from the CRT on x86
ceil
cexp
cexpf
; cexpl ; Can't use long double functions from the CRT on x86
cimag
cimagf
; cimagl ; Can't use long double functions from the CRT on x86
clearerr
clearerr_s
clock
clog
clog10
clog10f
; clog10l ; Can't use long double functions from the CRT on x86
clogf
; clogl ; Can't use long double functions from the CRT on x86
conj
conjf
; conjl ; Can't use long double functions from the CRT on x86
copysign
copysignf
; copysignl ; Can't use long double functions from the CRT on x86
cos
cosh
cpow
cpowf
; cpowl ; Can't use long double functions from the CRT on x86
cproj
cprojf
; cprojl ; Can't use long double functions from the CRT on x86
creal
crealf
; creall ; Can't use long double functions from the CRT on x86
csin
csinf
csinh
csinhf
; csinhl ; Can't use long double functions from the CRT on x86
; csinl ; Can't use long double functions from the CRT on x86
csqrt
csqrtf
; csqrtl ; Can't use long double functions from the CRT on x86
ctan
ctanf
ctanh
ctanhf
; ctanhl ; Can't use long double functions from the CRT on x86
; ctanl ; Can't use long double functions from the CRT on x86
div
erf
erfc
erfcf
; erfcl ; Can't use long double functions from the CRT on x86
erff
; erfl ; Can't use long double functions from the CRT on x86
exit
exp
exp2
exp2f
; exp2l ; Can't use long double functions from the CRT on x86
expm1
expm1f
; expm1l ; Can't use long double functions from the CRT on x86
fabs
fclose
fdim
fdimf
; fdiml ; Can't use long double functions from the CRT on x86
feclearexcept
fegetenv
fegetexceptflag
fegetround
feholdexcept
feof
feraiseexcept
ferror
fesetenv
fesetexceptflag
fesetround
fetestexcept
feupdateenv
fflush
fgetc
fgetpos
fgets
fgetwc
fgetws
floor
fma
fmaf
; fmal ; Can't use long double functions from the CRT on x86
fmax
fmaxf
; fmaxl ; Can't use long double functions from the CRT on x86
fmin
fminf
; fminl ; Can't use long double functions from the CRT on x86
fmod
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
ilogb
ilogbf
; ilogbl ; Can't use long double functions from the CRT on x86
imaxabs
imaxdiv
is_wctype
isalnum
isalpha
isblank
iscntrl
isdigit
isgraph
isleadbyte
islower
isprint
ispunct
isspace
isupper
iswalnum
iswalpha
iswascii
iswblank
iswcntrl
iswctype
iswdigit
iswgraph
iswlower
iswprint
iswpunct
iswspace
iswupper
iswxdigit
isxdigit
labs
ldexp
ldiv
lgamma
lgammaf
; lgammal ; Can't use long double functions from the CRT on x86
llabs
lldiv
llrint
llrintf
; llrintl ; Can't use long double functions from the CRT on x86
llround
llroundf
; llroundl ; Can't use long double functions from the CRT on x86
localeconv
log
log10
log1p
log1pf
; log1pl ; Can't use long double functions from the CRT on x86
log2
log2f
; log2l ; Can't use long double functions from the CRT on x86
logb
logbf
; logbl ; Can't use long double functions from the CRT on x86
longjmp
lrint
lrintf
; lrintl ; Can't use long double functions from the CRT on x86
lround
lroundf
; lroundl ; Can't use long double functions from the CRT on x86
malloc
mblen
mbrlen
mbrtowc
mbsrtowcs
mbsrtowcs_s
mbstowcs
mbstowcs_s
mbtowc
memchr
memcmp
memcpy
memcpy_s
memmove
memmove_s
memset
modf
nan
nanf
; nanl ; Can't use long double functions from the CRT on x86
nearbyint
nearbyintf
; nearbyintl ; Can't use long double functions from the CRT on x86
nextafter
nextafterf
; nextafterl ; Can't use long double functions from the CRT on x86
; nexttoward ; Can't use long double functions from the CRT on x86
; nexttowardf ; Can't use long double functions from the CRT on x86
; nexttowardl ; Can't use long double functions from the CRT on x86
norm
normf
norml
perror
pow
printf
printf_s
putc
putchar
puts
putwc
putwchar
qsort
qsort_s
raise
rand
rand_s
realloc
remainder
remainderf
; remainderl ; Can't use long double functions from the CRT on x86
remove
remquo
remquof
; remquol ; Can't use long double functions from the CRT on x86
rename
rewind
rint
rintf
; rintl ; Can't use long double functions from the CRT on x86
round
roundf
; roundl ; Can't use long double functions from the CRT on x86
scalbln
scalblnf
; scalblnl ; Can't use long double functions from the CRT on x86
scalbn
scalbnf
; scalbnl ; Can't use long double functions from the CRT on x86
scanf
scanf_s
setbuf
setlocale
setvbuf
signal
sin
sinh
sprintf
sprintf_s
sqrt
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
strtof
strtoimax
strtok
strtok_s
strtol
; strtold ; Can't use long double functions from the CRT on x86
strtoll
strtoul
strtoull
strtoumax
strxfrm
swprintf_s
swscanf
swscanf_s
system
tan
tanh
tgamma
tgammaf
; tgammal ; Can't use long double functions from the CRT on x86
tmpfile
tmpfile_s
tmpnam
tmpnam_s
tolower
toupper
towctrans
towlower
towupper
trunc
truncf
; truncl ; Can't use long double functions from the CRT on x86
ungetc
ungetwc
vfprintf
vfprintf_s
vfscanf
vfscanf_s
vfwprintf
vfwprintf_s
vfwscanf
vfwscanf_s
vprintf
vprintf_s
vscanf
vscanf_s
vsprintf
vsprintf_s
vsscanf
vsscanf_s
vswprintf_s
vswscanf
vswscanf_s
vwprintf
vwprintf_s
vwscanf
vwscanf_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
wcstof
wcstoimax
_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
; wcstold ; Can't use long double functions from the CRT on x86
wcstoll
wcstombs
wcstombs_s
wcstoul
wcstoull
wcstoumax
wcsxfrm
; wctob ; replaced, CRT version may sign-extend its return value
wctomb
wctomb_s
wctrans
wctype
wmemcpy_s
wmemmove_s
wprintf
wprintf_s
wscanf
wscanf_s

#define USE_WCSTOK_S_FOR_WCSTOK
#include "crt-aliases.def.in"
