;
; Definition file of MSVCR120D.dll
; Automatic generated by gendef
; written by Kai Tietz 2008
;
LIBRARY "MSVCR120D.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
; int __cdecl _CrtDbgReportW(int,unsigned short const *__ptr64,int,unsigned short const *__ptr64,unsigned short const *__ptr64,...)
?_CrtDbgReportW@@YAHHPEBGH00ZZ
; 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
_CrtCheckMemory
_CrtDbgBreak
_CrtDbgReport
_CrtDbgReportW
_CrtDoForAllClientObjects
_CrtDumpMemoryLeaks
_CrtGetAllocHook
_CrtGetCheckCount
_CrtGetDumpClient
_CrtGetReportHook
_CrtIsMemoryBlock
_CrtIsValidHeapPointer
_CrtIsValidPointer
_CrtMemCheckpoint
_CrtMemDifference
_CrtMemDumpAllObjectsSince
_CrtMemDumpStatistics
_CrtReportBlockType
_CrtSetAllocHook
_CrtSetBreakAlloc
_CrtSetCheckCount
_CrtSetDbgBlockType
_CrtSetDbgFlag
_CrtSetDebugFillThreshold
_CrtSetDumpClient
_CrtSetReportFile
_CrtSetReportHook
_CrtSetReportHook2
_CrtSetReportHookW2
_CrtSetReportMode
_CxxThrowException
_FCbuild
_FindAndUnlinkFrame
_GetImageBase
_GetThrowImageBase
_Getdays
_Getmonths
_Gettnames
_HUGE DATA
_IsExceptionObjectToBeDestroyed
_LCbuild
_SetImageBase
_SetThrowImageBase
_SetWinRTOutOfMemoryExceptionCallback
_Strftime
_VCrtDbgReportA
_VCrtDbgReportW
_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__crtAssertBusy
__p__crtBreakAlloc
__p__crtDbgFlag
__p__daylight
__p__dstbias
__p__environ
__p__fmode
__p__iob
__p__mbcasemap
__p__mbctype
__p__pctype
__p__pgmptr
__p__pwctype
__p__timezone
__p__tzname
__p__wcmdln
__p__wenviron
__p__wpgmptr
__pctype_func
__pioinfo DATA
__pwctype_func
__pxcptinfoptrs
__report_gsfailure
__set_app_type
__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_free_dbg
_aligned_malloc
_aligned_malloc_dbg
_aligned_msize
_aligned_msize_dbg
_aligned_offset_malloc
_aligned_offset_malloc_dbg
_aligned_offset_realloc
_aligned_offset_realloc_dbg
_aligned_offset_recalloc
_aligned_offset_recalloc_dbg
_aligned_realloc
_aligned_realloc_dbg
_aligned_recalloc
_aligned_recalloc_dbg
_amsg_exit
_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_dbg
_cexit
_cgets
_cgets_s
_cgetws
_cgetws_s
_chdir
_chdrive
_chgsign
_chgsignf
_chmod
_chsize
_chsize_s
_chvalidator
_chvalidator_l
_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
_crtAssertBusy DATA
_crtBreakAlloc DATA
_crtDbgFlag DATA
_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
_dupenv_s_dbg
_ecvt
_ecvt_s
_endthread
_endthreadex
_environ DATA
_eof
_errno
_execl
_execle
_execlp
_execlpe
_execv
_execve
_execvp
_execvpe
_exit
_expand
_expand_dbg
_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_base
_free_dbg
_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
_fullpath_dbg
_futime32
_futime64
_fwprintf_l
_fwprintf_p
_fwprintf_p_l
_fwprintf_s_l
_fwrite_nolock
_fwscanf_l
_fwscanf_s_l
_gcvt
_gcvt_s
_get_current_locale
_get_daylight
_get_doserrno
_get_dstbias
_get_errno
_get_fmode
_get_heap_handle
_get_invalid_parameter_handler
_get_osfhandle
_get_output_format
_get_pgmptr
_get_printf_count_output
_get_purecall_handler
_get_terminate
_get_timezone
_get_tzname
_get_unexpected
_get_wpgmptr
_getc_nolock
_getch
_getch_nolock
_getche
_getche_nolock
_getcwd
_getcwd_dbg
_getdcwd
_getdcwd_dbg
_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
_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_base
_malloc_dbg
_mbbtombc
_mbbtombc_l
_mbbtype
_mbbtype_l
_mbcasemap DATA
_mbccpy
_mbccpy_l
_mbccpy_s
_mbccpy_s_l
_mbcjistojms
_mbcjistojms_l
_mbcjmstojis
_mbcjmstojis_l
_mbclen
_mbclen_l
_mbctohira
_mbctohira_l
_mbctokata
_mbctokata_l
_mbctolower
_mbctolower_l
_mbctombb
_mbctombb_l
_mbctoupper
_mbctoupper_l
_mbctype DATA
_mblen_l
_mbsbtype
_mbsbtype_l
_mbscat_s
_mbscat_s_l
_mbschr
_mbschr_l
_mbscmp
_mbscmp_l
_mbscoll
_mbscoll_l
_mbscpy_s
_mbscpy_s_l
_mbscspn
_mbscspn_l
_mbsdec
_mbsdec_l
_mbsicmp
_mbsicmp_l
_mbsicoll
_mbsicoll_l
_mbsinc
_mbsinc_l
_mbslen
_mbslen_l
_mbslwr
_mbslwr_l
_mbslwr_s
_mbslwr_s_l
_mbsnbcat
_mbsnbcat_l
_mbsnbcat_s
_mbsnbcat_s_l
_mbsnbcmp
_mbsnbcmp_l
_mbsnbcnt
_mbsnbcnt_l
_mbsnbcoll
_mbsnbcoll_l
_mbsnbcpy
_mbsnbcpy_l
_mbsnbcpy_s
_mbsnbcpy_s_l
_mbsnbicmp
_mbsnbicmp_l
_mbsnbicoll
_mbsnbicoll_l
_mbsnbset
_mbsnbset_l
_mbsnbset_s
_mbsnbset_s_l
_mbsncat
_mbsncat_l
_mbsncat_s
_mbsncat_s_l
_mbsnccnt
_mbsnccnt_l
_mbsncmp
_mbsncmp_l
_mbsncoll
_mbsncoll_l
_mbsncpy
_mbsncpy_l
_mbsncpy_s
_mbsncpy_s_l
_mbsnextc
_mbsnextc_l
_mbsnicmp
_mbsnicmp_l
_mbsnicoll
_mbsnicoll_l
_mbsninc
_mbsninc_l
_mbsnlen
_mbsnlen_l
_mbsnset
_mbsnset_l
_mbsnset_s
_mbsnset_s_l
_mbspbrk
_mbspbrk_l
_mbsrchr
_mbsrchr_l
_mbsrev
_mbsrev_l
_mbsset
_mbsset_l
_mbsset_s
_mbsset_s_l
_mbsspn
_mbsspn_l
_mbsspnp
_mbsspnp_l
_mbsstr
_mbsstr_l
_mbstok
_mbstok_l
_mbstok_s
_mbstok_s_l
_mbstowcs_l
_mbstowcs_s_l
_mbstrlen
_mbstrlen_l
_mbstrnlen
_mbstrnlen_l
_mbsupr
_mbsupr_l
_mbsupr_s
_mbsupr_s_l
_mbtowc_l
_memccpy
_memicmp
_memicmp_l
_mkdir
_mkgmtime32
_mkgmtime64
_mktemp
_mktemp_s
_mktime32
_mktime64
_msize
_msize_dbg
_nextafter
_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_dbg
_recalloc
_recalloc_dbg
_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
_strdup_dbg
_strerror
_strerror_s
_strftime_l
_stricmp
_stricmp_l
_stricoll
_stricoll_l
_strlwr
_strlwr_l
_strlwr_s
_strlwr_s_l
_strncoll
_strncoll_l
_strnicmp
_strnicmp_l
_strnicoll
_strnicoll_l
_strnset
_strnset_s
_strrev
_strset
_strset_s
_strtime
_strtime_s
_strtod_l
_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
_tempnam_dbg
_time32
_time64
_timezone DATA
_tolower
_tolower_l
_toupper
_toupper_l
_towlower_l
_towupper_l
_tzname DATA
_tzset
_ui64toa
_ui64toa_s
_ui64tow
_ui64tow_s
_ultoa
_ultoa_s
_ultow
_ultow_s
_umask
_umask_s
_ungetc_nolock
_ungetch
_ungetch_nolock
_ungetwc_nolock
_ungetwch
_ungetwch_nolock
_unlink
_unloaddll
_unlock
_unlock_file
_utime32
_utime64
_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
_wcsdup_dbg
_wcserror
_wcserror_s
_wcsftime_l
_wcsicmp
_wcsicmp_l
_wcsicoll
_wcsicoll_l
_wcslwr
_wcslwr_l
_wcslwr_s
_wcslwr_s_l
_wcsncoll
_wcsncoll_l
_wcsnicmp
_wcsnicmp_l
_wcsnicoll
_wcsnicoll_l
_wcsnset
_wcsnset_s
_wcsrev
_wcsset
_wcsset_s
_wcstod_l
_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
_wdupenv_s_dbg
_wenviron DATA
_wexecl
_wexecle
_wexeclp
_wexeclpe
_wexecv
_wexecve
_wexecvp
_wexecvpe
_wfdopen
_wfindfirst32
_wfindfirst32i64
_wfindfirst64
_wfindfirst64i32
_wfindnext32
_wfindnext32i64
_wfindnext64
_wfindnext64i32
_wfopen
_wfopen_s
_wfreopen
_wfreopen_s
_wfsopen
_wfullpath
_wfullpath_dbg
_wgetcwd
_wgetcwd_dbg
_wgetdcwd
_wgetdcwd_dbg
_wgetenv
_wgetenv_s
_wmakepath
_wmakepath_s
_wmkdir
_wmktemp
_wmktemp_s
_wopen
_wperror
_wpgmptr DATA
_wpopen
_wprintf_l
_wprintf_p
_wprintf_p_l
_wprintf_s_l
_wputenv
_wputenv_s
_wremove
_wrename
_write
_wrmdir
_wscanf_l
_wscanf_s_l
_wsearchenv
_wsearchenv_s
_wsetlocale
_wsopen
_wsopen_s
_wspawnl
_wspawnle
_wspawnlp
_wspawnlpe
_wspawnv
_wspawnve
_wspawnvp
_wspawnvpe
_wsplitpath
_wsplitpath_s
_wstat32
_wstat32i64
_wstat64
_wstat64i32
_wstrdate
_wstrdate_s
_wstrtime
_wstrtime_s
_wsystem
_wtempnam
_wtempnam_dbg
_wtmpnam
_wtmpnam_s
_wtof
_wtof_l
_wtoi
_wtoi64
_wtoi64_l
_wtoi_l
_wtol
_wtol_l
_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
mbrtowc
mbsrtowcs
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
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"
