;
; Definition file of MSVCR120.dll
; Automatic generated by gendef
; written by Kai Tietz 2008
;
LIBRARY "MSVCR120.dll"
EXPORTS
; public: __cdecl Concurrency::details::<0x1ULL>::<0x1ULL>(void(__cdecl *)(void))__ptr64 
??0?$_SpinWait@$00@details@Concurrency@@QEAA@P6AXXZ@Z
; public: __cdecl Concurrency::details::<0x0ULL>::<0x0ULL>(void(__cdecl *)(void))__ptr64 
??0?$_SpinWait@$0A@@details@Concurrency@@QEAA@P6AXXZ@Z
; public: __cdecl Concurrency::SchedulerPolicy::SchedulerPolicy(class Concurrency::SchedulerPolicy const &__ptr64 )__ptr64 
??0SchedulerPolicy@Concurrency@@QEAA@AEBV01@@Z
; public: __cdecl Concurrency::SchedulerPolicy::SchedulerPolicy(void)__ptr64 
??0SchedulerPolicy@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::SchedulerPolicy::SchedulerPolicy(unsigned __int64,...)__ptr64 
??0SchedulerPolicy@Concurrency@@QEAA@_KZZ
; public: __cdecl Concurrency::details::_Cancellation_beacon::_Cancellation_beacon(void)__ptr64 
??0_Cancellation_beacon@details@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::details::_Condition_variable::_Condition_variable(void)__ptr64 
??0_Condition_variable@details@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::details::_Context::_Context(class Concurrency::Context *__ptr64)__ptr64 
??0_Context@details@Concurrency@@QEAA@PEAVContext@2@@Z
; public: __cdecl Concurrency::details::_Interruption_exception::_Interruption_exception(char const *__ptr64)__ptr64 
??0_Interruption_exception@details@Concurrency@@QEAA@PEBD@Z
; public: __cdecl Concurrency::details::_Interruption_exception::_Interruption_exception(void)__ptr64 
??0_Interruption_exception@details@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::details::_NonReentrantBlockingLock::_NonReentrantBlockingLock(void)__ptr64 
??0_NonReentrantBlockingLock@details@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::details::_NonReentrantPPLLock::_NonReentrantPPLLock(void)__ptr64 
??0_NonReentrantPPLLock@details@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::details::_ReaderWriterLock::_ReaderWriterLock(void)__ptr64 
??0_ReaderWriterLock@details@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::details::_ReentrantBlockingLock::_ReentrantBlockingLock(void)__ptr64 
??0_ReentrantBlockingLock@details@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::details::_ReentrantLock::_ReentrantLock(void)__ptr64 
??0_ReentrantLock@details@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::details::_ReentrantPPLLock::_ReentrantPPLLock(void)__ptr64 
??0_ReentrantPPLLock@details@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::details::_Scheduler::_Scheduler(class Concurrency::Scheduler *__ptr64)__ptr64 
??0_Scheduler@details@Concurrency@@QEAA@PEAVScheduler@2@@Z
; public: __cdecl Concurrency::details::_NonReentrantPPLLock::_Scoped_lock::_Scoped_lock(class Concurrency::details::_NonReentrantPPLLock &__ptr64 )__ptr64 
??0_Scoped_lock@_NonReentrantPPLLock@details@Concurrency@@QEAA@AEAV123@@Z
; public: __cdecl Concurrency::details::_ReentrantPPLLock::_Scoped_lock::_Scoped_lock(class Concurrency::details::_ReentrantPPLLock &__ptr64 )__ptr64 
??0_Scoped_lock@_ReentrantPPLLock@details@Concurrency@@QEAA@AEAV123@@Z
; public: __cdecl Concurrency::details::_SpinLock::_SpinLock(long volatile &__ptr64 )__ptr64 
??0_SpinLock@details@Concurrency@@QEAA@AECJ@Z
; public: __cdecl Concurrency::details::_StructuredTaskCollection::_StructuredTaskCollection(class Concurrency::details::_CancellationTokenState *__ptr64)__ptr64 
??0_StructuredTaskCollection@details@Concurrency@@QEAA@PEAV_CancellationTokenState@12@@Z
; public: __cdecl Concurrency::details::_TaskCollection::_TaskCollection(class Concurrency::details::_CancellationTokenState *__ptr64)__ptr64 
??0_TaskCollection@details@Concurrency@@QEAA@PEAV_CancellationTokenState@12@@Z
; public: __cdecl Concurrency::details::_TaskCollection::_TaskCollection(void)__ptr64 
??0_TaskCollection@details@Concurrency@@QEAA@XZ
; protected: __cdecl Concurrency::details::_Timer::_Timer(unsigned int,bool)__ptr64 
??0_Timer@details@Concurrency@@IEAA@I_N@Z
; public: __cdecl std::__non_rtti_object::__non_rtti_object(class std::__non_rtti_object const &__ptr64 )__ptr64 
??0__non_rtti_object@std@@QEAA@AEBV01@@Z
; public: __cdecl std::__non_rtti_object::__non_rtti_object(char const *__ptr64)__ptr64 
??0__non_rtti_object@std@@QEAA@PEBD@Z
; private: __cdecl std::bad_cast::bad_cast(char const *__ptr64 const *__ptr64)__ptr64 
??0bad_cast@std@@AEAA@PEBQEBD@Z
; public: __cdecl std::bad_cast::bad_cast(class std::bad_cast const &__ptr64 )__ptr64 
??0bad_cast@std@@QEAA@AEBV01@@Z
; public: __cdecl std::bad_cast::bad_cast(char const *__ptr64)__ptr64 
??0bad_cast@std@@QEAA@PEBD@Z
; public: __cdecl Concurrency::bad_target::bad_target(char const *__ptr64)__ptr64 
??0bad_target@Concurrency@@QEAA@PEBD@Z
; public: __cdecl Concurrency::bad_target::bad_target(void)__ptr64 
??0bad_target@Concurrency@@QEAA@XZ
; public: __cdecl std::bad_typeid::bad_typeid(class std::bad_typeid const &__ptr64 )__ptr64 
??0bad_typeid@std@@QEAA@AEBV01@@Z
; public: __cdecl std::bad_typeid::bad_typeid(char const *__ptr64)__ptr64 
??0bad_typeid@std@@QEAA@PEBD@Z
; public: __cdecl Concurrency::context_self_unblock::context_self_unblock(char const *__ptr64)__ptr64 
??0context_self_unblock@Concurrency@@QEAA@PEBD@Z
; public: __cdecl Concurrency::context_self_unblock::context_self_unblock(void)__ptr64 
??0context_self_unblock@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::context_unblock_unbalanced::context_unblock_unbalanced(char const *__ptr64)__ptr64 
??0context_unblock_unbalanced@Concurrency@@QEAA@PEBD@Z
; public: __cdecl Concurrency::context_unblock_unbalanced::context_unblock_unbalanced(void)__ptr64 
??0context_unblock_unbalanced@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::critical_section::critical_section(void)__ptr64 
??0critical_section@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::default_scheduler_exists::default_scheduler_exists(char const *__ptr64)__ptr64 
??0default_scheduler_exists@Concurrency@@QEAA@PEBD@Z
; public: __cdecl Concurrency::default_scheduler_exists::default_scheduler_exists(void)__ptr64 
??0default_scheduler_exists@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::event::event(void)__ptr64 
??0event@Concurrency@@QEAA@XZ
; public: __cdecl std::exception::exception(char const *__ptr64 const &__ptr64 )__ptr64 
??0exception@std@@QEAA@AEBQEBD@Z
; public: __cdecl std::exception::exception(char const *__ptr64 const &__ptr64 ,int)__ptr64 
??0exception@std@@QEAA@AEBQEBDH@Z
; public: __cdecl std::exception::exception(class std::exception const &__ptr64 )__ptr64 
??0exception@std@@QEAA@AEBV01@@Z
; public: __cdecl std::exception::exception(void)__ptr64 
??0exception@std@@QEAA@XZ
; public: __cdecl Concurrency::improper_lock::improper_lock(char const *__ptr64)__ptr64 
??0improper_lock@Concurrency@@QEAA@PEBD@Z
; public: __cdecl Concurrency::improper_lock::improper_lock(void)__ptr64 
??0improper_lock@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::improper_scheduler_attach::improper_scheduler_attach(char const *__ptr64)__ptr64 
??0improper_scheduler_attach@Concurrency@@QEAA@PEBD@Z
; public: __cdecl Concurrency::improper_scheduler_attach::improper_scheduler_attach(void)__ptr64 
??0improper_scheduler_attach@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::improper_scheduler_detach::improper_scheduler_detach(char const *__ptr64)__ptr64 
??0improper_scheduler_detach@Concurrency@@QEAA@PEBD@Z
; public: __cdecl Concurrency::improper_scheduler_detach::improper_scheduler_detach(void)__ptr64 
??0improper_scheduler_detach@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::improper_scheduler_reference::improper_scheduler_reference(char const *__ptr64)__ptr64 
??0improper_scheduler_reference@Concurrency@@QEAA@PEBD@Z
; public: __cdecl Concurrency::improper_scheduler_reference::improper_scheduler_reference(void)__ptr64 
??0improper_scheduler_reference@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::invalid_link_target::invalid_link_target(char const *__ptr64)__ptr64 
??0invalid_link_target@Concurrency@@QEAA@PEBD@Z
; public: __cdecl Concurrency::invalid_link_target::invalid_link_target(void)__ptr64 
??0invalid_link_target@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::invalid_multiple_scheduling::invalid_multiple_scheduling(char const *__ptr64)__ptr64 
??0invalid_multiple_scheduling@Concurrency@@QEAA@PEBD@Z
; public: __cdecl Concurrency::invalid_multiple_scheduling::invalid_multiple_scheduling(void)__ptr64 
??0invalid_multiple_scheduling@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::invalid_operation::invalid_operation(char const *__ptr64)__ptr64 
??0invalid_operation@Concurrency@@QEAA@PEBD@Z
; public: __cdecl Concurrency::invalid_operation::invalid_operation(void)__ptr64 
??0invalid_operation@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::invalid_oversubscribe_operation::invalid_oversubscribe_operation(char const *__ptr64)__ptr64 
??0invalid_oversubscribe_operation@Concurrency@@QEAA@PEBD@Z
; public: __cdecl Concurrency::invalid_oversubscribe_operation::invalid_oversubscribe_operation(void)__ptr64 
??0invalid_oversubscribe_operation@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::invalid_scheduler_policy_key::invalid_scheduler_policy_key(char const *__ptr64)__ptr64 
??0invalid_scheduler_policy_key@Concurrency@@QEAA@PEBD@Z
; public: __cdecl Concurrency::invalid_scheduler_policy_key::invalid_scheduler_policy_key(void)__ptr64 
??0invalid_scheduler_policy_key@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::invalid_scheduler_policy_thread_specification::invalid_scheduler_policy_thread_specification(char const *__ptr64)__ptr64 
??0invalid_scheduler_policy_thread_specification@Concurrency@@QEAA@PEBD@Z
; public: __cdecl Concurrency::invalid_scheduler_policy_thread_specification::invalid_scheduler_policy_thread_specification(void)__ptr64 
??0invalid_scheduler_policy_thread_specification@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::invalid_scheduler_policy_value::invalid_scheduler_policy_value(char const *__ptr64)__ptr64 
??0invalid_scheduler_policy_value@Concurrency@@QEAA@PEBD@Z
; public: __cdecl Concurrency::invalid_scheduler_policy_value::invalid_scheduler_policy_value(void)__ptr64 
??0invalid_scheduler_policy_value@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::message_not_found::message_not_found(char const *__ptr64)__ptr64 
??0message_not_found@Concurrency@@QEAA@PEBD@Z
; public: __cdecl Concurrency::message_not_found::message_not_found(void)__ptr64 
??0message_not_found@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::missing_wait::missing_wait(char const *__ptr64)__ptr64 
??0missing_wait@Concurrency@@QEAA@PEBD@Z
; public: __cdecl Concurrency::missing_wait::missing_wait(void)__ptr64 
??0missing_wait@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::nested_scheduler_missing_detach::nested_scheduler_missing_detach(char const *__ptr64)__ptr64 
??0nested_scheduler_missing_detach@Concurrency@@QEAA@PEBD@Z
; public: __cdecl Concurrency::nested_scheduler_missing_detach::nested_scheduler_missing_detach(void)__ptr64 
??0nested_scheduler_missing_detach@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::operation_timed_out::operation_timed_out(char const *__ptr64)__ptr64 
??0operation_timed_out@Concurrency@@QEAA@PEBD@Z
; public: __cdecl Concurrency::operation_timed_out::operation_timed_out(void)__ptr64 
??0operation_timed_out@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::reader_writer_lock::reader_writer_lock(void)__ptr64 
??0reader_writer_lock@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::scheduler_not_attached::scheduler_not_attached(char const *__ptr64)__ptr64 
??0scheduler_not_attached@Concurrency@@QEAA@PEBD@Z
; public: __cdecl Concurrency::scheduler_not_attached::scheduler_not_attached(void)__ptr64 
??0scheduler_not_attached@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::scheduler_resource_allocation_error::scheduler_resource_allocation_error(long)__ptr64 
??0scheduler_resource_allocation_error@Concurrency@@QEAA@J@Z
; public: __cdecl Concurrency::scheduler_resource_allocation_error::scheduler_resource_allocation_error(char const *__ptr64,long)__ptr64 
??0scheduler_resource_allocation_error@Concurrency@@QEAA@PEBDJ@Z
; public: __cdecl Concurrency::scheduler_worker_creation_error::scheduler_worker_creation_error(long)__ptr64 
??0scheduler_worker_creation_error@Concurrency@@QEAA@J@Z
; public: __cdecl Concurrency::scheduler_worker_creation_error::scheduler_worker_creation_error(char const *__ptr64,long)__ptr64 
??0scheduler_worker_creation_error@Concurrency@@QEAA@PEBDJ@Z
; public: __cdecl Concurrency::critical_section::scoped_lock::scoped_lock(class Concurrency::critical_section &__ptr64 )__ptr64 
??0scoped_lock@critical_section@Concurrency@@QEAA@AEAV12@@Z
; public: __cdecl Concurrency::reader_writer_lock::scoped_lock::scoped_lock(class Concurrency::reader_writer_lock &__ptr64 )__ptr64 
??0scoped_lock@reader_writer_lock@Concurrency@@QEAA@AEAV12@@Z
; public: __cdecl Concurrency::reader_writer_lock::scoped_lock_read::scoped_lock_read(class Concurrency::reader_writer_lock &__ptr64 )__ptr64 
??0scoped_lock_read@reader_writer_lock@Concurrency@@QEAA@AEAV12@@Z
; public: __cdecl Concurrency::task_canceled::task_canceled(char const *__ptr64)__ptr64 
??0task_canceled@Concurrency@@QEAA@PEBD@Z
; public: __cdecl Concurrency::task_canceled::task_canceled(void)__ptr64 
??0task_canceled@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::unsupported_os::unsupported_os(char const *__ptr64)__ptr64 
??0unsupported_os@Concurrency@@QEAA@PEBD@Z
; public: __cdecl Concurrency::unsupported_os::unsupported_os(void)__ptr64 
??0unsupported_os@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::SchedulerPolicy::~SchedulerPolicy(void)__ptr64 
??1SchedulerPolicy@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::details::_Cancellation_beacon::~_Cancellation_beacon(void)__ptr64 
??1_Cancellation_beacon@details@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::details::_Condition_variable::~_Condition_variable(void)__ptr64 
??1_Condition_variable@details@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::details::_NonReentrantBlockingLock::~_NonReentrantBlockingLock(void)__ptr64 
??1_NonReentrantBlockingLock@details@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::details::_ReentrantBlockingLock::~_ReentrantBlockingLock(void)__ptr64 
??1_ReentrantBlockingLock@details@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::details::_NonReentrantPPLLock::_Scoped_lock::~_Scoped_lock(void)__ptr64 
??1_Scoped_lock@_NonReentrantPPLLock@details@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::details::_ReentrantPPLLock::_Scoped_lock::~_Scoped_lock(void)__ptr64 
??1_Scoped_lock@_ReentrantPPLLock@details@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::details::_SpinLock::~_SpinLock(void)__ptr64 
??1_SpinLock@details@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::details::_StructuredTaskCollection::~_StructuredTaskCollection(void)__ptr64 
??1_StructuredTaskCollection@details@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::details::_TaskCollection::~_TaskCollection(void)__ptr64 
??1_TaskCollection@details@Concurrency@@QEAA@XZ
; protected: virtual __cdecl Concurrency::details::_Timer::~_Timer(void)__ptr64 
??1_Timer@details@Concurrency@@MEAA@XZ
; public: virtual __cdecl std::__non_rtti_object::~__non_rtti_object(void)__ptr64 
??1__non_rtti_object@std@@UEAA@XZ
; public: virtual __cdecl std::bad_cast::~bad_cast(void)__ptr64 
??1bad_cast@std@@UEAA@XZ
; public: virtual __cdecl std::bad_typeid::~bad_typeid(void)__ptr64 
??1bad_typeid@std@@UEAA@XZ
; public: __cdecl Concurrency::critical_section::~critical_section(void)__ptr64 
??1critical_section@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::event::~event(void)__ptr64 
??1event@Concurrency@@QEAA@XZ
; public: virtual __cdecl std::exception::~exception(void)__ptr64 
??1exception@std@@UEAA@XZ
; public: __cdecl Concurrency::reader_writer_lock::~reader_writer_lock(void)__ptr64 
??1reader_writer_lock@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::critical_section::scoped_lock::~scoped_lock(void)__ptr64 
??1scoped_lock@critical_section@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::reader_writer_lock::scoped_lock::~scoped_lock(void)__ptr64 
??1scoped_lock@reader_writer_lock@Concurrency@@QEAA@XZ
; public: __cdecl Concurrency::reader_writer_lock::scoped_lock_read::~scoped_lock_read(void)__ptr64 
??1scoped_lock_read@reader_writer_lock@Concurrency@@QEAA@XZ
; public: virtual __cdecl type_info::~type_info(void)__ptr64 
??1type_info@@UEAA@XZ
; void *__ptr64 __cdecl operator new(unsigned __int64)
??2@YAPEAX_K@Z
; void *__ptr64 __cdecl operator new(unsigned __int64,int,char const *__ptr64,int)
??2@YAPEAX_KHPEBDH@Z
; void __cdecl operator delete(void *__ptr64)
??3@YAXPEAX@Z
; void __cdecl operator delete(void *__ptr64,int,char const *__ptr64,int)
??3@YAXPEAXHPEBDH@Z
; public: class Concurrency::details::<0x1ULL> &__ptr64 __cdecl Concurrency::details::<0x1ULL>::operator =(class Concurrency::details::<0x1ULL> const &__ptr64 )__ptr64 
??4?$_SpinWait@$00@details@Concurrency@@QEAAAEAV012@AEBV012@@Z
; public: class Concurrency::details::<0x0ULL> &__ptr64 __cdecl Concurrency::details::<0x0ULL>::operator =(class Concurrency::details::<0x0ULL> const &__ptr64 )__ptr64 
??4?$_SpinWait@$0A@@details@Concurrency@@QEAAAEAV012@AEBV012@@Z
; public: class Concurrency::SchedulerPolicy &__ptr64 __cdecl Concurrency::SchedulerPolicy::operator =(class Concurrency::SchedulerPolicy const &__ptr64 )__ptr64 
??4SchedulerPolicy@Concurrency@@QEAAAEAV01@AEBV01@@Z
; public: class std::__non_rtti_object &__ptr64 __cdecl std::__non_rtti_object::operator =(class std::__non_rtti_object const &__ptr64 )__ptr64 
??4__non_rtti_object@std@@QEAAAEAV01@AEBV01@@Z
; public: class std::bad_cast &__ptr64 __cdecl std::bad_cast::operator =(class std::bad_cast const &__ptr64 )__ptr64 
??4bad_cast@std@@QEAAAEAV01@AEBV01@@Z
; public: class std::bad_typeid &__ptr64 __cdecl std::bad_typeid::operator =(class std::bad_typeid const &__ptr64 )__ptr64 
??4bad_typeid@std@@QEAAAEAV01@AEBV01@@Z
; public: class std::exception &__ptr64 __cdecl std::exception::operator =(class std::exception const &__ptr64 )__ptr64 
??4exception@std@@QEAAAEAV01@AEBV01@@Z
; public: bool __cdecl type_info::operator ==(class type_info const &__ptr64 )const __ptr64 
??8type_info@@QEBA_NAEBV0@@Z
; public: bool __cdecl type_info::operator !=(class type_info const &__ptr64 )const __ptr64 
??9type_info@@QEBA_NAEBV0@@Z
; 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 __cdecl Concurrency::details::<0x1ULL>::__dflt_ctor_closure(void)__ptr64 
??_F?$_SpinWait@$00@details@Concurrency@@QEAAXXZ
; public: void __cdecl Concurrency::details::<0x0ULL>::__dflt_ctor_closure(void)__ptr64 
??_F?$_SpinWait@$0A@@details@Concurrency@@QEAAXXZ
; public: void __cdecl Concurrency::details::_Context::__dflt_ctor_closure(void)__ptr64 
??_F_Context@details@Concurrency@@QEAAXXZ
; public: void __cdecl Concurrency::details::_Scheduler::__dflt_ctor_closure(void)__ptr64 
??_F_Scheduler@details@Concurrency@@QEAAXXZ
; public: void __cdecl std::bad_cast::__dflt_ctor_closure(void)__ptr64 
??_Fbad_cast@std@@QEAAXXZ
; public: void __cdecl std::bad_typeid::__dflt_ctor_closure(void)__ptr64 
??_Fbad_typeid@std@@QEAAXXZ
; void *__ptr64 __cdecl operator new[](unsigned __int64)
??_U@YAPEAX_K@Z
; void *__ptr64 __cdecl operator new[](unsigned __int64,int,char const *__ptr64,int)
??_U@YAPEAX_KHPEBDH@Z
; void __cdecl operator delete[](void *__ptr64)
??_V@YAXPEAX@Z
; void __cdecl operator delete[](void *__ptr64,int,char const *__ptr64,int)
??_V@YAXPEAXHPEBDH@Z
; void *__ptr64 __cdecl Concurrency::Alloc(unsigned __int64)
?Alloc@Concurrency@@YAPEAX_K@Z
; public: static void __cdecl Concurrency::Context::Block(void)
?Block@Context@Concurrency@@SAXXZ
; unsigned __int64 __cdecl Concurrency::details::platform::CaptureCallstack(void *__ptr64 *__ptr64,unsigned __int64,unsigned __int64)
?CaptureCallstack@platform@details@Concurrency@@YA_KPEAPEAX_K1@Z
; public: static void __cdecl Concurrency::CurrentScheduler::Create(class Concurrency::SchedulerPolicy const &__ptr64 )
?Create@CurrentScheduler@Concurrency@@SAXAEBVSchedulerPolicy@2@@Z
; public: static class Concurrency::Scheduler *__ptr64 __cdecl Concurrency::Scheduler::Create(class Concurrency::SchedulerPolicy const &__ptr64 )
?Create@Scheduler@Concurrency@@SAPEAV12@AEBVSchedulerPolicy@2@@Z
; struct Concurrency::IResourceManager *__ptr64 __cdecl Concurrency::CreateResourceManager(void)
?CreateResourceManager@Concurrency@@YAPEAUIResourceManager@1@XZ
; public: static class Concurrency::ScheduleGroup *__ptr64 __cdecl Concurrency::CurrentScheduler::CreateScheduleGroup(class Concurrency::location &__ptr64 )
?CreateScheduleGroup@CurrentScheduler@Concurrency@@SAPEAVScheduleGroup@2@AEAVlocation@2@@Z
; public: static class Concurrency::ScheduleGroup *__ptr64 __cdecl Concurrency::CurrentScheduler::CreateScheduleGroup(void)
?CreateScheduleGroup@CurrentScheduler@Concurrency@@SAPEAVScheduleGroup@2@XZ
; public: static class Concurrency::Context *__ptr64 __cdecl Concurrency::Context::CurrentContext(void)
?CurrentContext@Context@Concurrency@@SAPEAV12@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 *__ptr64)
?Free@Concurrency@@YAXPEAX@Z
; public: static class Concurrency::Scheduler *__ptr64 __cdecl Concurrency::CurrentScheduler::Get(void)
?Get@CurrentScheduler@Concurrency@@SAPEAVScheduler@2@XZ
; long __cdecl Concurrency::details::platform::GetCurrentThreadId(void)
?GetCurrentThreadId@platform@details@Concurrency@@YAJXZ
; 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 __cdecl Concurrency::SchedulerPolicy::GetPolicyValue(enum Concurrency::PolicyElementKey)const __ptr64 
?GetPolicyValue@SchedulerPolicy@Concurrency@@QEBAIW4PolicyElementKey@2@@Z
; 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 *__ptr64 __cdecl Concurrency::details::GetSharedTimerQueue(void)
?GetSharedTimerQueue@details@Concurrency@@YAPEAXXZ
; 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 &__ptr64 )
?IsAvailableLocation@CurrentScheduler@Concurrency@@SA_NAEBVlocation@2@@Z
; public: static bool __cdecl Concurrency::Context::IsCurrentTaskCollectionCanceling(void)
?IsCurrentTaskCollectionCanceling@Context@Concurrency@@SA_NXZ
; unsigned long __cdecl Concurrency::details::Log2(unsigned __int64)
?Log2@details@Concurrency@@YAK_K@Z
; public: static void __cdecl Concurrency::Context::Oversubscribe(bool)
?Oversubscribe@Context@Concurrency@@SAX_N@Z
; public: static void __cdecl Concurrency::CurrentScheduler::RegisterShutdownEvent(void *__ptr64)
?RegisterShutdownEvent@CurrentScheduler@Concurrency@@SAXPEAX@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 *__ptr64),void *__ptr64)
?ScheduleTask@CurrentScheduler@Concurrency@@SAXP6AXPEAX@Z0@Z
; public: static void __cdecl Concurrency::CurrentScheduler::ScheduleTask(void(__cdecl *)(void *__ptr64),void *__ptr64,class Concurrency::location &__ptr64 )
?ScheduleTask@CurrentScheduler@Concurrency@@SAXP6AXPEAX@Z0AEAVlocation@2@@Z
; public: void __cdecl Concurrency::SchedulerPolicy::SetConcurrencyLimits(unsigned int,unsigned int)__ptr64 
?SetConcurrencyLimits@SchedulerPolicy@Concurrency@@QEAAXII@Z
; public: static void __cdecl Concurrency::Scheduler::SetDefaultSchedulerPolicy(class Concurrency::SchedulerPolicy const &__ptr64 )
?SetDefaultSchedulerPolicy@Scheduler@Concurrency@@SAXAEBVSchedulerPolicy@2@@Z
; public: unsigned int __cdecl Concurrency::SchedulerPolicy::SetPolicyValue(enum Concurrency::PolicyElementKey,unsigned int)__ptr64 
?SetPolicyValue@SchedulerPolicy@Concurrency@@QEAAIW4PolicyElementKey@2@I@Z
; 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 __cdecl Concurrency::details::_StructuredTaskCollection::_Abort(void)__ptr64 
?_Abort@_StructuredTaskCollection@details@Concurrency@@AEAAXXZ
; public: void __cdecl Concurrency::details::_NonReentrantBlockingLock::_Acquire(void)__ptr64 
?_Acquire@_NonReentrantBlockingLock@details@Concurrency@@QEAAXXZ
; public: void __cdecl Concurrency::details::_NonReentrantPPLLock::_Acquire(void *__ptr64)__ptr64 
?_Acquire@_NonReentrantPPLLock@details@Concurrency@@QEAAXPEAX@Z
; public: void __cdecl Concurrency::details::_ReentrantBlockingLock::_Acquire(void)__ptr64 
?_Acquire@_ReentrantBlockingLock@details@Concurrency@@QEAAXXZ
; public: void __cdecl Concurrency::details::_ReentrantLock::_Acquire(void)__ptr64 
?_Acquire@_ReentrantLock@details@Concurrency@@QEAAXXZ
; public: void __cdecl Concurrency::details::_ReentrantPPLLock::_Acquire(void *__ptr64)__ptr64 
?_Acquire@_ReentrantPPLLock@details@Concurrency@@QEAAXPEAX@Z
; public: void __cdecl Concurrency::details::_ReaderWriterLock::_AcquireRead(void)__ptr64 
?_AcquireRead@_ReaderWriterLock@details@Concurrency@@QEAAXXZ
; public: void __cdecl Concurrency::details::_ReaderWriterLock::_AcquireWrite(void)__ptr64 
?_AcquireWrite@_ReaderWriterLock@details@Concurrency@@QEAAXXZ
; public: void __cdecl Concurrency::details::_StructuredTaskCollection::_Cancel(void)__ptr64 
?_Cancel@_StructuredTaskCollection@details@Concurrency@@QEAAXXZ
; public: void __cdecl Concurrency::details::_TaskCollection::_Cancel(void)__ptr64 
?_Cancel@_TaskCollection@details@Concurrency@@QEAAXXZ
; protected: void __cdecl Concurrency::details::_UnrealizedChore::_CheckTaskCollection(void)__ptr64 
?_CheckTaskCollection@_UnrealizedChore@details@Concurrency@@IEAAXXZ
; private: void __cdecl Concurrency::details::_StructuredTaskCollection::_CleanupToken(void)__ptr64 
?_CleanupToken@_StructuredTaskCollection@details@Concurrency@@AEAAXXZ
; void __cdecl Concurrency::details::_ConcRT_CoreAssert(char const *__ptr64,char const *__ptr64,int)
?_ConcRT_CoreAssert@details@Concurrency@@YAXPEBD0H@Z
; void __cdecl Concurrency::details::_ConcRT_Trace(int,wchar_t const *__ptr64,...)
?_ConcRT_Trace@details@Concurrency@@YAXHPEB_WZZ
; public: bool __cdecl Concurrency::details::_Cancellation_beacon::_Confirm_cancel(void)__ptr64 
?_Confirm_cancel@_Cancellation_beacon@details@Concurrency@@QEAA_NXZ
; private: void __cdecl std::exception::_Copy_str(char const *__ptr64)__ptr64 
?_Copy_str@exception@std@@AEAAXPEBD@Z
; 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 __cdecl Concurrency::details::_AsyncTaskCollection::_Destroy(void)__ptr64 
?_Destroy@_AsyncTaskCollection@details@Concurrency@@EEAAXXZ
; protected: void __cdecl Concurrency::details::<0x1ULL>::_DoYield(void)__ptr64 
?_DoYield@?$_SpinWait@$00@details@Concurrency@@IEAAXXZ
; protected: void __cdecl Concurrency::details::<0x0ULL>::_DoYield(void)__ptr64 
?_DoYield@?$_SpinWait@$0A@@details@Concurrency@@IEAAXXZ
; 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 *__ptr64 __cdecl Concurrency::_GetConcRTTraceInfo(void)
?_GetConcRTTraceInfo@Concurrency@@YAPEBU_CONCRT_TRACE_INFO@details@1@XZ
; unsigned int __cdecl Concurrency::details::_GetConcurrency(void)
?_GetConcurrency@details@Concurrency@@YAIXZ
; private: static unsigned __int64 &__ptr64 __cdecl Concurrency::details::_StackGuard::_GetCurrentInlineDepth(void)
?_GetCurrentInlineDepth@_StackGuard@details@Concurrency@@CAAEA_KXZ
; public: static unsigned int __cdecl Concurrency::details::_CurrentScheduler::_GetNumberOfVirtualProcessors(void)
?_GetNumberOfVirtualProcessors@_CurrentScheduler@details@Concurrency@@SAIXZ
; public: class Concurrency::Scheduler *__ptr64 __cdecl Concurrency::details::_Scheduler::_GetScheduler(void)__ptr64 
?_GetScheduler@_Scheduler@details@Concurrency@@QEAAPEAVScheduler@3@XZ
; public: static unsigned int __cdecl Concurrency::details::_CurrentScheduler::_Id(void)
?_Id@_CurrentScheduler@details@Concurrency@@SAIXZ
; public: bool __cdecl Concurrency::details::_StructuredTaskCollection::_IsCanceling(void)__ptr64 
?_IsCanceling@_StructuredTaskCollection@details@Concurrency@@QEAA_NXZ
; public: bool __cdecl Concurrency::details::_TaskCollection::_IsCanceling(void)__ptr64 
?_IsCanceling@_TaskCollection@details@Concurrency@@QEAA_NXZ
; public: bool __cdecl Concurrency::details::_Context::_IsSynchronouslyBlocked(void)const __ptr64 
?_IsSynchronouslyBlocked@_Context@details@Concurrency@@QEBA_NXZ
; private: static char const *__ptr64 __cdecl type_info::_Name_base(class type_info const *__ptr64,struct __type_info_node *__ptr64)
?_Name_base@type_info@@CAPEBDPEBV1@PEAU__type_info_node@@@Z
; private: static char const *__ptr64 __cdecl type_info::_Name_base_internal(class type_info const *__ptr64,struct __type_info_node *__ptr64)
?_Name_base_internal@type_info@@CAPEBDPEBV1@PEAU__type_info_node@@@Z
; public: static class Concurrency::details::_AsyncTaskCollection *__ptr64 __cdecl Concurrency::details::_AsyncTaskCollection::_NewCollection(class Concurrency::details::_CancellationTokenState *__ptr64)
?_NewCollection@_AsyncTaskCollection@details@Concurrency@@SAPEAV123@PEAV_CancellationTokenState@23@@Z
; protected: unsigned long __cdecl Concurrency::details::<0x1ULL>::_NumberOfSpins(void)__ptr64 
?_NumberOfSpins@?$_SpinWait@$00@details@Concurrency@@IEAAKXZ
; protected: unsigned long __cdecl Concurrency::details::<0x0ULL>::_NumberOfSpins(void)__ptr64 
?_NumberOfSpins@?$_SpinWait@$0A@@details@Concurrency@@IEAAKXZ
; public: static void __cdecl Concurrency::details::_Context::_Oversubscribe(bool)
?_Oversubscribe@_Context@details@Concurrency@@SAX_N@Z
; public: unsigned int __cdecl Concurrency::details::_Scheduler::_Reference(void)__ptr64 
?_Reference@_Scheduler@details@Concurrency@@QEAAIXZ
; public: void __cdecl Concurrency::details::_NonReentrantBlockingLock::_Release(void)__ptr64 
?_Release@_NonReentrantBlockingLock@details@Concurrency@@QEAAXXZ
; public: void __cdecl Concurrency::details::_NonReentrantPPLLock::_Release(void)__ptr64 
?_Release@_NonReentrantPPLLock@details@Concurrency@@QEAAXXZ
; public: void __cdecl Concurrency::details::_ReentrantBlockingLock::_Release(void)__ptr64 
?_Release@_ReentrantBlockingLock@details@Concurrency@@QEAAXXZ
; public: void __cdecl Concurrency::details::_ReentrantLock::_Release(void)__ptr64 
?_Release@_ReentrantLock@details@Concurrency@@QEAAXXZ
; public: void __cdecl Concurrency::details::_ReentrantPPLLock::_Release(void)__ptr64 
?_Release@_ReentrantPPLLock@details@Concurrency@@QEAAXXZ
; public: unsigned int __cdecl Concurrency::details::_Scheduler::_Release(void)__ptr64 
?_Release@_Scheduler@details@Concurrency@@QEAAIXZ
; public: void __cdecl Concurrency::details::_ReaderWriterLock::_ReleaseRead(void)__ptr64 
?_ReleaseRead@_ReaderWriterLock@details@Concurrency@@QEAAXXZ
; public: void __cdecl Concurrency::details::_ReaderWriterLock::_ReleaseWrite(void)__ptr64 
?_ReleaseWrite@_ReaderWriterLock@details@Concurrency@@QEAAXXZ
; void __cdecl Concurrency::details::_ReportUnobservedException(void)
?_ReportUnobservedException@details@Concurrency@@YAXXZ
; protected: void __cdecl Concurrency::details::<0x1ULL>::_Reset(void)__ptr64 
?_Reset@?$_SpinWait@$00@details@Concurrency@@IEAAXXZ
; protected: void __cdecl Concurrency::details::<0x0ULL>::_Reset(void)__ptr64 
?_Reset@?$_SpinWait@$0A@@details@Concurrency@@IEAAXXZ
; public: enum Concurrency::details::_TaskCollectionStatus __cdecl Concurrency::details::_StructuredTaskCollection::_RunAndWait(class Concurrency::details::_UnrealizedChore *__ptr64)__ptr64 
?_RunAndWait@_StructuredTaskCollection@details@Concurrency@@QEAA?AW4_TaskCollectionStatus@23@PEAV_UnrealizedChore@23@@Z
; public: enum Concurrency::details::_TaskCollectionStatus __cdecl Concurrency::details::_TaskCollection::_RunAndWait(class Concurrency::details::_UnrealizedChore *__ptr64)__ptr64 
?_RunAndWait@_TaskCollection@details@Concurrency@@QEAA?AW4_TaskCollectionStatus@23@PEAV_UnrealizedChore@23@@Z
; public: void __cdecl Concurrency::details::_StructuredTaskCollection::_Schedule(class Concurrency::details::_UnrealizedChore *__ptr64)__ptr64 
?_Schedule@_StructuredTaskCollection@details@Concurrency@@QEAAXPEAV_UnrealizedChore@23@@Z
; public: void __cdecl Concurrency::details::_StructuredTaskCollection::_Schedule(class Concurrency::details::_UnrealizedChore *__ptr64,class Concurrency::location *__ptr64)__ptr64 
?_Schedule@_StructuredTaskCollection@details@Concurrency@@QEAAXPEAV_UnrealizedChore@23@PEAVlocation@3@@Z
; public: void __cdecl Concurrency::details::_TaskCollection::_Schedule(class Concurrency::details::_UnrealizedChore *__ptr64)__ptr64 
?_Schedule@_TaskCollection@details@Concurrency@@QEAAXPEAV_UnrealizedChore@23@@Z
; public: void __cdecl Concurrency::details::_TaskCollection::_Schedule(class Concurrency::details::_UnrealizedChore *__ptr64,class Concurrency::location *__ptr64)__ptr64 
?_Schedule@_TaskCollection@details@Concurrency@@QEAAXPEAV_UnrealizedChore@23@PEAVlocation@3@@Z
; public: static void __cdecl Concurrency::details::_CurrentScheduler::_ScheduleTask(void(__cdecl *)(void *__ptr64),void *__ptr64)
?_ScheduleTask@_CurrentScheduler@details@Concurrency@@SAXP6AXPEAX@Z0@Z
; public: void __cdecl Concurrency::details::<0x1ULL>::_SetSpinCount(unsigned int)__ptr64 
?_SetSpinCount@?$_SpinWait@$00@details@Concurrency@@QEAAXI@Z
; public: void __cdecl Concurrency::details::<0x0ULL>::_SetSpinCount(unsigned int)__ptr64 
?_SetSpinCount@?$_SpinWait@$0A@@details@Concurrency@@QEAAXI@Z
; void __cdecl Concurrency::details::_SetUnobservedExceptionHandler(void(__cdecl *)(void))
?_SetUnobservedExceptionHandler@details@Concurrency@@YAXP6AXXZ@Z
; protected: bool __cdecl Concurrency::details::<0x1ULL>::_ShouldSpinAgain(void)__ptr64 
?_ShouldSpinAgain@?$_SpinWait@$00@details@Concurrency@@IEAA_NXZ
; protected: bool __cdecl Concurrency::details::<0x0ULL>::_ShouldSpinAgain(void)__ptr64 
?_ShouldSpinAgain@?$_SpinWait@$0A@@details@Concurrency@@IEAA_NXZ
; public: bool __cdecl Concurrency::details::<0x1ULL>::_SpinOnce(void)__ptr64 
?_SpinOnce@?$_SpinWait@$00@details@Concurrency@@QEAA_NXZ
; public: bool __cdecl Concurrency::details::<0x0ULL>::_SpinOnce(void)__ptr64 
?_SpinOnce@?$_SpinWait@$0A@@details@Concurrency@@QEAA_NXZ
; public: static void __cdecl Concurrency::Context::_SpinYield(void)
?_SpinYield@Context@Concurrency@@SAXXZ
; protected: void __cdecl Concurrency::details::_Timer::_Start(void)__ptr64 
?_Start@_Timer@details@Concurrency@@IEAAXXZ
; protected: void __cdecl Concurrency::details::_Timer::_Stop(void)__ptr64 
?_Stop@_Timer@details@Concurrency@@IEAAXXZ
; private: void __cdecl std::exception::_Tidy(void)__ptr64 
?_Tidy@exception@std@@AEAAXXZ
; 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 &__ptr64 ,unsigned char,enum Concurrency::ConcRT_EventType)
?_Trace_ppl_function@Concurrency@@YAXAEBU_GUID@@EW4ConcRT_EventType@1@@Z
; public: bool __cdecl Concurrency::details::_NonReentrantBlockingLock::_TryAcquire(void)__ptr64 
?_TryAcquire@_NonReentrantBlockingLock@details@Concurrency@@QEAA_NXZ
; public: bool __cdecl Concurrency::details::_ReentrantBlockingLock::_TryAcquire(void)__ptr64 
?_TryAcquire@_ReentrantBlockingLock@details@Concurrency@@QEAA_NXZ
; public: bool __cdecl Concurrency::details::_ReentrantLock::_TryAcquire(void)__ptr64 
?_TryAcquire@_ReentrantLock@details@Concurrency@@QEAA_NXZ
; public: bool __cdecl Concurrency::details::_ReaderWriterLock::_TryAcquireWrite(void)__ptr64 
?_TryAcquireWrite@_ReaderWriterLock@details@Concurrency@@QEAA_NXZ
; private: static void __cdecl type_info::_Type_info_dtor(class type_info *__ptr64)
?_Type_info_dtor@type_info@@CAXPEAV1@@Z
; private: static void __cdecl type_info::_Type_info_dtor_internal(class type_info *__ptr64)
?_Type_info_dtor_internal@type_info@@CAXPEAV1@@Z
; void __cdecl Concurrency::details::_UnderlyingYield(void)
?_UnderlyingYield@details@Concurrency@@YAXXZ
; int __cdecl _ValidateExecute(__int64(__cdecl *)(void))
?_ValidateExecute@@YAHP6A_JXZ@Z
; int __cdecl _ValidateRead(void const *__ptr64,unsigned int)
?_ValidateRead@@YAHPEBXI@Z
; int __cdecl _ValidateWrite(void *__ptr64,unsigned int)
?_ValidateWrite@@YAHPEAXI@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 *__ptr64,void const *__ptr64)
?__ExceptionPtrAssign@@YAXPEAXPEBX@Z
; bool __cdecl __ExceptionPtrCompare(void const *__ptr64,void const *__ptr64)
?__ExceptionPtrCompare@@YA_NPEBX0@Z
; void __cdecl __ExceptionPtrCopy(void *__ptr64,void const *__ptr64)
?__ExceptionPtrCopy@@YAXPEAXPEBX@Z
; void __cdecl __ExceptionPtrCopyException(void *__ptr64,void const *__ptr64,void const *__ptr64)
?__ExceptionPtrCopyException@@YAXPEAXPEBX1@Z
; void __cdecl __ExceptionPtrCreate(void *__ptr64)
?__ExceptionPtrCreate@@YAXPEAX@Z
; void __cdecl __ExceptionPtrCurrentException(void *__ptr64)
?__ExceptionPtrCurrentException@@YAXPEAX@Z
; void __cdecl __ExceptionPtrDestroy(void *__ptr64)
?__ExceptionPtrDestroy@@YAXPEAX@Z
; void __cdecl __ExceptionPtrRethrow(void const *__ptr64)
?__ExceptionPtrRethrow@@YAXPEBX@Z
; void __cdecl __ExceptionPtrSwap(void *__ptr64,void *__ptr64)
?__ExceptionPtrSwap@@YAXPEAX0@Z
; bool __cdecl __ExceptionPtrToBool(void const *__ptr64)
?__ExceptionPtrToBool@@YA_NPEBX@Z
; void __cdecl _inconsistency(void)
?_inconsistency@@YAXXZ
; void __cdecl _invalid_parameter(unsigned short const *__ptr64,unsigned short const *__ptr64,unsigned short const *__ptr64,unsigned int,unsigned __int64)
?_invalid_parameter@@YAXPEBG00I_K@Z
; int __cdecl _is_exception_typeof(class type_info const &__ptr64 ,struct _EXCEPTION_POINTERS *__ptr64)
?_is_exception_typeof@@YAHAEBVtype_info@@PEAU_EXCEPTION_POINTERS@@@Z
; public: char const *__ptr64 __cdecl type_info::_name_internal_method(struct __type_info_node *__ptr64)const __ptr64 
?_name_internal_method@type_info@@QEBAPEBDPEAU__type_info_node@@@Z
; int __cdecl _open(char const *__ptr64,int,int)
?_open@@YAHPEBDHH@Z
; int(__cdecl *)(unsigned __int64)__cdecl _query_new_handler(void)
?_query_new_handler@@YAP6AH_K@ZXZ
; int __cdecl _query_new_mode(void)
?_query_new_mode@@YAHXZ
; int(__cdecl *)(unsigned __int64)__cdecl _set_new_handler(int)
?_set_new_handler@@YAP6AH_K@ZH@Z
; int(__cdecl *)(unsigned __int64)__cdecl _set_new_handler(int(__cdecl *)(unsigned __int64))
?_set_new_handler@@YAP6AH_K@ZP6AH0@Z@Z
; int __cdecl _set_new_mode(int)
?_set_new_mode@@YAHH@Z
; void(__cdecl *)(unsigned int,struct _EXCEPTION_POINTERS *__ptr64)__cdecl _set_se_translator(int)
?_set_se_translator@@YAP6AXIPEAU_EXCEPTION_POINTERS@@@ZH@Z
; void(__cdecl *)(unsigned int,struct _EXCEPTION_POINTERS *__ptr64)__cdecl _set_se_translator(void(__cdecl *)(unsigned int,struct _EXCEPTION_POINTERS *__ptr64))
?_set_se_translator@@YAP6AXIPEAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z
; int __cdecl _sopen(char const *__ptr64,int,int,int)
?_sopen@@YAHPEBDHHH@Z
; public: void __cdecl type_info::_type_info_dtor_internal_method(void)__ptr64 
?_type_info_dtor_internal_method@type_info@@QEAAXXZ
; int __cdecl _wopen(wchar_t const *__ptr64,int,int)
?_wopen@@YAHPEB_WHH@Z
; int __cdecl _wsopen(wchar_t const *__ptr64,int,int,int)
?_wsopen@@YAHPEB_WHHH@Z
; public: bool __cdecl type_info::before(class type_info const &__ptr64 )const __ptr64 
?before@type_info@@QEBA_NAEBV1@@Z
; 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 __cdecl Concurrency::scheduler_resource_allocation_error::get_error_code(void)const __ptr64 
?get_error_code@scheduler_resource_allocation_error@Concurrency@@QEBAJXZ
; public: void __cdecl Concurrency::critical_section::lock(void)__ptr64 
?lock@critical_section@Concurrency@@QEAAXXZ
; public: void __cdecl Concurrency::reader_writer_lock::lock(void)__ptr64 
?lock@reader_writer_lock@Concurrency@@QEAAXXZ
; public: void __cdecl Concurrency::reader_writer_lock::lock_read(void)__ptr64 
?lock_read@reader_writer_lock@Concurrency@@QEAAXXZ
; public: char const *__ptr64 __cdecl type_info::name(struct __type_info_node *__ptr64)const __ptr64 
?name@type_info@@QEBAPEBDPEAU__type_info_node@@@Z
; public: class Concurrency::critical_section &__ptr64 __cdecl Concurrency::critical_section::native_handle(void)__ptr64 
?native_handle@critical_section@Concurrency@@QEAAAEAV12@XZ
; public: void __cdecl Concurrency::details::_Condition_variable::notify_all(void)__ptr64 
?notify_all@_Condition_variable@details@Concurrency@@QEAAXXZ
; public: void __cdecl Concurrency::details::_Condition_variable::notify_one(void)__ptr64 
?notify_one@_Condition_variable@details@Concurrency@@QEAAXXZ
; public: char const *__ptr64 __cdecl type_info::raw_name(void)const __ptr64 
?raw_name@type_info@@QEBAPEBDXZ
; public: void __cdecl Concurrency::event::reset(void)__ptr64 
?reset@event@Concurrency@@QEAAXXZ
; public: void __cdecl Concurrency::event::set(void)__ptr64 
?set@event@Concurrency@@QEAAXXZ
; 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 *__ptr64)
?set_task_execution_resources@Concurrency@@YAXGPEAU_GROUP_AFFINITY@@@Z
; void __cdecl Concurrency::set_task_execution_resources(unsigned __int64)
?set_task_execution_resources@Concurrency@@YAX_K@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
; void __cdecl terminate(void)
?terminate@@YAXXZ
; public: bool __cdecl Concurrency::critical_section::try_lock(void)__ptr64 
?try_lock@critical_section@Concurrency@@QEAA_NXZ
; public: bool __cdecl Concurrency::reader_writer_lock::try_lock(void)__ptr64 
?try_lock@reader_writer_lock@Concurrency@@QEAA_NXZ
; public: bool __cdecl Concurrency::critical_section::try_lock_for(unsigned int)__ptr64 
?try_lock_for@critical_section@Concurrency@@QEAA_NI@Z
; public: bool __cdecl Concurrency::reader_writer_lock::try_lock_read(void)__ptr64 
?try_lock_read@reader_writer_lock@Concurrency@@QEAA_NXZ
; void __cdecl unexpected(void)
?unexpected@@YAXXZ
; public: void __cdecl Concurrency::critical_section::unlock(void)__ptr64 
?unlock@critical_section@Concurrency@@QEAAXXZ
; public: void __cdecl Concurrency::reader_writer_lock::unlock(void)__ptr64 
?unlock@reader_writer_lock@Concurrency@@QEAAXXZ
; void __cdecl Concurrency::wait(unsigned int)
?wait@Concurrency@@YAXI@Z
; public: void __cdecl Concurrency::details::_Condition_variable::wait(class Concurrency::critical_section &__ptr64 )__ptr64 
?wait@_Condition_variable@details@Concurrency@@QEAAXAEAVcritical_section@3@@Z
; public: unsigned __int64 __cdecl Concurrency::event::wait(unsigned int)__ptr64 
?wait@event@Concurrency@@QEAA_KI@Z
; public: bool __cdecl Concurrency::details::_Condition_variable::wait_for(class Concurrency::critical_section &__ptr64 ,unsigned int)__ptr64 
?wait_for@_Condition_variable@details@Concurrency@@QEAA_NAEAVcritical_section@3@I@Z
; public: static unsigned __int64 __cdecl Concurrency::event::wait_for_multiple(class Concurrency::event *__ptr64 *__ptr64,unsigned __int64,bool,unsigned int)
?wait_for_multiple@event@Concurrency@@SA_KPEAPEAV12@_K_NI@Z
; public: virtual char const *__ptr64 __cdecl std::exception::what(void)const __ptr64 
?what@exception@std@@UEBAPEBDXZ

$I10_OUTPUT
__uncaught_exception
_CRT_RTC_INIT
_CRT_RTC_INITW
_Cbuild
_CreateFrameInfo
_CxxThrowException
_FCbuild
_FindAndUnlinkFrame
_GetImageBase
_GetThrowImageBase
_Getdays
_Getmonths
_Gettnames
_HUGE DATA
_IsExceptionObjectToBeDestroyed
_LCbuild
_SetImageBase
_SetThrowImageBase
_SetWinRTOutOfMemoryExceptionCallback
_Strftime
_W_Getdays
_W_Getmonths
_W_Gettnames
_Wcsftime
_XcptFilter
__AdjustPointer
__BuildCatchObject
__BuildCatchObjectHelper
__C_specific_handler
__CppXcptFilter
__CxxDetectRethrow
__CxxExceptionFilter
__CxxFrameHandler
__CxxFrameHandler2
__CxxFrameHandler3
__CxxQueryExceptionSize
__CxxRegisterExceptionObject
__CxxUnregisterExceptionObject
__DestructExceptionObject
__FrameUnwindFilter
__GetPlatformExceptionInfo
__NLG_Dispatch2
__NLG_Return2
__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
__create_locale
__crtCaptureCurrentContext
__crtCapturePreviousContext
__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
__crt_debugger_hook
__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
__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
_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
__msvcrt_assert DATA == _assert ; mingw-w64 provides _assert() function as wrapper around renamed __msvcrt_assert symbol
_atodbl
_atodbl_l
_atof_l
_atoflt
_atoflt_l
_atoi64
_atoi64_l
_atoi_l
_atol_l
_atoldbl
_atoldbl_l
_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
_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
_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
_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
_finitef
_flsbuf
_flushall
_fmode DATA
_fpclass
_fpclassf
_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
_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
_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
_gmtime32
_gmtime32_s
_gmtime64
_gmtime64_s
_heapadd
_heapchk
_heapmin
_heapset
_heapused
_heapwalk
_hypot
_hypotf
_i64toa
_i64toa_s
_i64tow
_i64tow_s
_initptd
_initterm
_initterm_e
_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
_isnanf
_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
_loaddll
_local_unwind
_localtime32
_localtime32_s
_localtime64
_localtime64_s
_lock
_lock_file
_locking
_logb
_logbf
_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
_nextafterf
; _onexit ; disable _onexit for compatibility with DLL builds, real _onexit function provided by mingw-w64
_open
_open_osfhandle
_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
_scalbf
_scanf_l
_scanf_s_l
_scprintf
_scprintf_l
_scprintf_p
_scprintf_p_l
_scwprintf
_scwprintf_l
_scwprintf_p
_scwprintf_p_l
_searchenv
_searchenv_s
_set_FMA3_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
_setjmpex
_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
_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
acosf
acosh
acoshf
; acoshl ; Can't use long double functions from the CRT on x86
asctime
asctime_s
asin
asinf
asinh
asinhf
; asinhl ; Can't use long double functions from the CRT on x86
atan
atan2
atan2f
atanf
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
ceilf
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
cosf
cosh
coshf
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
expf
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
floorf
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
fmodf
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
log10f
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
logf
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 ; replaced, CRT version does not conform to C95
; mbrtowc ; replaced, CRT version does not conform to C95
; mbsrtowcs ; replaced, CRT version does not conform to C95
mbsrtowcs_s
mbstowcs
mbstowcs_s
mbtowc
memchr
memcmp
memcpy
memcpy_s
memmove
memmove_s
memset
modf
modff
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
powf
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
setjmp
setlocale
setvbuf
signal
sin
sinf
sinh
sinhf
sprintf
sprintf_s
sqrt
sqrtf
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
tanf
tanh
tanhf
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 ; replaced, CRT version does not report invalid conversion state
wcrtomb_s
wcscat
wcscat_s
wcschr
wcscmp
wcscoll
wcscpy
wcscpy_s
wcscspn
wcsftime
wcslen
wcsncat
wcsncat_s
wcsncmp
wcsncpy
wcsncpy_s
wcsnlen
wcspbrk
wcsrchr
; wcsrtombs ; replaced, CRT version does not report invalid conversion state
wcsrtombs_s
wcsspn
wcsstr
wcstod
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

#include "crt-aliases.def.in"
