;
; Definition file of MSVCR110.dll
; Automatic generated by gendef
; written by Kai Tietz 2008
;
LIBRARY "MSVCR110.dll"
EXPORTS

#include "msvcrt-common.def.in"

$I10_OUTPUT
; 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
; private: __cdecl Concurrency::details::_CancellationTokenState::_CancellationTokenState(void)__ptr64 
??0_CancellationTokenState@details@Concurrency@@AEAA@XZ
; 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: virtual __cdecl Concurrency::details::_CancellationTokenState::~_CancellationTokenState(void)__ptr64 
??1_CancellationTokenState@details@Concurrency@@UEAA@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::_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
; 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
; 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::_CancellationTokenState::_Cancel(void)__ptr64 
?_Cancel@_CancellationTokenState@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
; public: void __cdecl Concurrency::details::_CancellationTokenState::_DeregisterCallback(class Concurrency::details::_CancellationTokenRegistration *__ptr64)__ptr64 
?_DeregisterCallback@_CancellationTokenState@details@Concurrency@@QEAAXPEAV_CancellationTokenRegistration@23@@Z
; private: virtual void __cdecl Concurrency::details::_AsyncTaskCollection::_Destroy(void)__ptr64 
?_Destroy@_AsyncTaskCollection@details@Concurrency@@EEAAXXZ
; private: virtual void __cdecl Concurrency::details::_CancellationTokenState::_Destroy(void)__ptr64 
?_Destroy@_CancellationTokenState@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
; private: void __cdecl Concurrency::details::_CancellationTokenRegistration::_Invoke(void)__ptr64 
?_Invoke@_CancellationTokenRegistration@details@Concurrency@@AEAAXXZ
; 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
; public: static class Concurrency::details::_CancellationTokenState *__ptr64 __cdecl Concurrency::details::_CancellationTokenState::_NewTokenState(void)
?_NewTokenState@_CancellationTokenState@details@Concurrency@@SAPEAV123@XZ
; 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: class Concurrency::details::_CancellationTokenRegistration *__ptr64 __cdecl Concurrency::details::_CancellationTokenState::_RegisterCallback(void(__cdecl *)(void *__ptr64),void *__ptr64,int)__ptr64 
?_RegisterCallback@_CancellationTokenState@details@Concurrency@@QEAAPEAV_CancellationTokenRegistration@23@P6AXPEAX@Z0H@Z
; public: void __cdecl Concurrency::details::_CancellationTokenState::_RegisterCallback(class Concurrency::details::_CancellationTokenRegistration *__ptr64)__ptr64 
?_RegisterCallback@_CancellationTokenState@details@Concurrency@@QEAAXPEAV_CancellationTokenRegistration@23@@Z
; 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
__uncaught_exception
; 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
_CRT_RTC_INIT
_CRT_RTC_INITW
_CreateFrameInfo
_CxxThrowException
_FindAndUnlinkFrame
_GetImageBase
_GetThrowImageBase
_Getdays
_Getmonths
_Gettnames
_HUGE DATA
_IsExceptionObjectToBeDestroyed
_Lock_shared_ptr_spin_lock
_SetImageBase
_SetThrowImageBase
_Strftime
_Unlock_shared_ptr_spin_lock
_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
__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
__crtCompareStringW
__crtGetShowWindowMode
__crtIsPackagedApp
__crtLCMapStringA
__crtLCMapStringW
__crtSetUnhandledExceptionFilter
__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
_assert
_atodbl
_atodbl_l
_atof_l
_atoflt
_atoflt_l
_atoi64
_atoi64_l
_atoi_l
_atol_l
_atoldbl
_atoldbl_l
_beep
_beginthread
_beginthreadex
_byteswap_uint64
_byteswap_ulong
_byteswap_ushort
_c_exit
_cabs DATA
_callnewh
_calloc_crt
_cexit
_cgets
_cgets_s
_cgetws
_cgetws_s
_chdir
_chdrive
_chgsign
_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
ctime == _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
_difftime32
_difftime64
_dosmaperr
_dstbias DATA
_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
_fdopen
_fflush_nolock
_fgetchar
_fgetwc_nolock
_fgetwchar
_filbuf
_filelength
_filelengthi64
_fileno
_findclose
_findfirst32
_findfirst == _findfirst64i32
_findfirst32i64
_findfirst64
_findfirst64i32
_findnext32
_findnext == _findnext64i32
_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
_fstat == _fstat64i32
_fstati64 == _fstat64
_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
gmtime == _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
_iscntrl_l
_isctype
_isctype_l
_isdigit_l
_isgraph_l
_isleadbyte_l
_islower_l
_ismbbalnum
_ismbbalnum_l
_ismbbalpha
_ismbbalpha_l
_ismbbgraph
_ismbbgraph_l
_ismbbkalnum
_ismbbkalnum_l
_ismbbkana
_ismbbkana_l
_ismbbkprint
_ismbbkprint_l
_ismbbkpunct
_ismbbkpunct_l
_ismbblead
_ismbblead_l
_ismbbprint
_ismbbprint_l
_ismbbpunct
_ismbbpunct_l
_ismbbtrail
_ismbbtrail_l
_ismbcalnum
_ismbcalnum_l
_ismbcalpha
_ismbcalpha_l
_ismbcdigit
_ismbcdigit_l
_ismbcgraph
_ismbcgraph_l
_ismbchira
_ismbchira_l
_ismbckata
_ismbckata_l
_ismbcl0
_ismbcl0_l
_ismbcl1
_ismbcl1_l
_ismbcl2
_ismbcl2_l
_ismbclegal
_ismbclegal_l
_ismbclower
_ismbclower_l
_ismbcprint
_ismbcprint_l
_ismbcpunct
_ismbcpunct_l
_ismbcspace
_ismbcspace_l
_ismbcsymbol
_ismbcsymbol_l
_ismbcupper
_ismbcupper_l
_ismbslead
_ismbslead_l
_ismbstrail
_ismbstrail_l
_isnan
_isnanf
_isprint_l
_ispunct_l
_isspace_l
_isupper_l
_iswalnum_l
_iswalpha_l
_iswcntrl_l
_iswcsym_l
_iswcsymf_l
_iswctype_l
_iswdigit_l
_iswgraph_l
_iswlower_l
_iswprint_l
_iswpunct_l
_iswspace_l
_iswupper_l
_iswxdigit_l
_isxdigit_l
_itoa
_itoa_s
_itow
_itow_s
_j0
_j1
_jn
_kbhit
_lfind
_lfind_s
_loaddll
_local_unwind
_localtime32
_localtime32_s
_localtime64
localtime == _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
_mkgmtime == _mkgmtime64
_mktemp
_mktemp_s
_mktime32
_mktime64
mktime == _mktime64
_msize
_nextafter
_nextafterf
_onexit
_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_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
_stat == _stat64i32
_stati64 == _stat64
_stat32i64
_stat64
_stat64i32
_statusfp
_strcoll_l
_strdate
_strdate_s
_strdup
_strerror
_strerror_s
_strftime_l
_stricmp
_strcmpi == _stricmp
_stricmp_l
_stricoll
_stricoll_l
_strlwr
_strlwr_l
_strlwr_s
_strlwr_s_l
_strncoll
_strncoll_l
_strnicmp
_strnicmp_l
_strnicoll
_strnicoll_l
_strnset
_strnset_s
_strrev
_strset
_strset_s
_strtime
_strtime_s
_strtod_l
_strtoi64
_strtoi64_l
_strtol_l
_strtoui64
_strtoui64_l
_strtoul_l
_strupr
_strupr_l
_strupr_s
_strupr_s_l
_strxfrm_l
_swab
_swprintf
_swprintf_c
_swprintf_c_l
_swprintf_p
_swprintf_p_l
_swprintf_s_l
_swscanf_l
_swscanf_s_l
_sys_errlist DATA
_sys_nerr DATA
_tell
_telli64
_tempnam
_time32
_time64
time == _time64
_tolower
_tolower_l
_toupper
_toupper_l
_towlower_l
_towupper_l
_tzset
_ui64toa
_ui64toa_s
_ui64tow
_ui64tow_s
_ultoa
_ultoa_s
_ultow
_ultow_s
_umask
_umask_s
_ungetc_nolock
_ungetch
_ungetch_nolock
_ungetwc_nolock
_ungetwch
_ungetwch_nolock
_unlink
_unloaddll
_unlock
_unlock_file
_utime32
_utime64
_vcprintf
_vcprintf_l
_vcprintf_p
_vcprintf_p_l
_vcprintf_s
_vcprintf_s_l
_vcwprintf
_vcwprintf_l
_vcwprintf_p
_vcwprintf_p_l
_vcwprintf_s
_vcwprintf_s_l
_vfprintf_l
_vfprintf_p
_vfprintf_p_l
_vfprintf_s_l
_vfwprintf_l
_vfwprintf_p
_vfwprintf_p_l
_vfwprintf_s_l
_vprintf_l
_vprintf_p
_vprintf_p_l
_vprintf_s_l
_vscprintf
_vscprintf_l
_vscprintf_p
_vscprintf_p_l
_vscwprintf
_vscwprintf_l
_vscwprintf_p
_vscwprintf_p_l
_vsnprintf
vsnprintf == _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
_wcstoi64
_wcstoi64_l
_wcstol_l
_wcstombs_l
_wcstombs_s_l
_wcstoui64
_wcstoui64_l
_wcstoul_l
_wcsupr
_wcsupr_l
_wcsupr_s
_wcsupr_s_l
_wcsxfrm_l
_wctime32
_wctime32_s
_wctime64
_wctime == _wctime64
_wctime64_s
_wctomb_l
_wctomb_s_l
_wctype DATA
_wdupenv_s
_wenviron DATA
_wexecl
_wexecle
_wexeclp
_wexeclpe
_wexecv
_wexecve
_wexecvp
_wexecvpe
_wfdopen
_wfindfirst32
_wfindfirst == _wfindfirst64i32
_wfindfirst32i64
_wfindfirst64
_wfindfirst64i32
_wfindnext32
_wfindnext == _wfindnext64i32
_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
_wstat == _wstat64i32
_wstati64 == _wstat64
_wstat32i64
_wstat64
_wstat64i32
_wstrdate
_wstrdate_s
_wstrtime
_wstrtime_s
_wsystem
_wtempnam
_wtmpnam
_wtmpnam_s
_wtof
_wtof_l
_wtoi
_wtoi64
_wtoi64_l
_wtoi_l
_wtol
_wtol_l
_wunlink
_wutime32
_wutime64
_y0
_y1
_yn
abort
abs
acos
acosf DATA
asctime
asctime_s
asin
asinf DATA
atan
atan2 DATA
atan2f DATA
atanf DATA
atexit DATA
atof
atoi
atol
bsearch
bsearch_s
btowc
calloc
ceil
ceilf
clearerr
clearerr_s
clock
cos
cosf
cosh
coshf
div
exit
exp
expf
fabs
fclose
feof
ferror
fflush
fgetc
fgetpos
fgets
fgetwc
fgetws
floor
floorf
fmod
fmodf
fopen
fopen_s
fprintf
fprintf_s
fputc
fputs
fputwc
fputws
fread
fread_s
free
freopen
freopen_s
frexp
fscanf
fscanf_s
fseek
fsetpos
ftell
fwprintf
__ms_fwprintf == fwprintf
fwprintf_s
fwrite
fwscanf
fwscanf_s
getc
getchar
getenv
getenv_s
gets
gets_s
getwc
getwchar
is_wctype
isalnum
isalpha
iscntrl
isdigit
isgraph
isleadbyte
islower
isprint
ispunct
isspace
isupper
iswalnum
iswalpha
iswascii
iswcntrl
iswctype
iswdigit
iswgraph
iswlower
iswprint
iswpunct
iswspace
iswupper
iswxdigit
isxdigit
labs
ldexp
ldiv
llabs
lldiv
localeconv
log
log10
log10f
logf
malloc
mblen
mbrlen
mbrtowc
mbsrtowcs
mbsrtowcs_s
mbstowcs
mbstowcs_s
mbtowc
memchr
memcmp
memcpy
memcpy_s
memmove
memmove_s
memset
modf
modff
perror
pow
powf
printf
printf_s
putc
putchar
puts
putwc
putwchar
qsort
qsort_s
raise
rand
rand_s
realloc
remove
rename
rewind
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
strtok
strtok_s
strtol
strtoul
strxfrm
swprintf_s
swscanf
swscanf_s
system
tan
tanf
tanh
tanhf
tmpfile
tmpfile_s
tmpnam
tmpnam_s
tolower
toupper
towlower
towupper
ungetc
ungetwc
vfprintf
vfprintf_s
vfwprintf
vfwprintf_s
vprintf
vprintf_s
vsprintf
vsprintf_s
vswprintf_s
vwprintf
vwprintf_s
wcrtomb
wcrtomb_s
wcscat
wcscat_s
wcschr
wcscmp
wcscoll
wcscpy
wcscpy_s
wcscspn
wcsftime
wcslen
wcsncat
wcsncat_s
wcsncmp
wcsncpy
wcsncpy_s
wcsnlen
wcspbrk
wcsrchr
wcsrtombs
wcsrtombs_s
wcsspn
wcsstr
wcstod
wcstok
wcstok_s
wcstol
wcstombs
wcstombs_s
wcstoul
wcsxfrm
wctob
wctomb
wctomb_s
wmemcpy_s
wmemmove_s
wprintf
wprintf_s
wscanf
wscanf_s
