;
; Definition file of MSVCR100.dll
; Automatic generated by gendef
; written by Kai Tietz 2008
;
LIBRARY "MSVCR100.dll"
EXPORTS
; public: __thiscall Concurrency::details::<0x1ULL>::<0x1ULL>(void(__cdecl *)(void))
??0?$_SpinWait@$00@details@Concurrency@@QAE@P6AXXZ@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::details::<0x0ULL>::<0x0ULL>(void(__cdecl *)(void))
??0?$_SpinWait@$0A@@details@Concurrency@@QAE@P6AXXZ@Z ; has WINAPI (@4)
; public: __cdecl Concurrency::SchedulerPolicy::SchedulerPolicy(unsigned int,...)
??0SchedulerPolicy@Concurrency@@QAA@IZZ
; public: __thiscall Concurrency::SchedulerPolicy::SchedulerPolicy(class Concurrency::SchedulerPolicy const &)
??0SchedulerPolicy@Concurrency@@QAE@ABV01@@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::SchedulerPolicy::SchedulerPolicy(void)
??0SchedulerPolicy@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::details::_NonReentrantBlockingLock::_NonReentrantBlockingLock(void)
??0_NonReentrantBlockingLock@details@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::details::_NonReentrantPPLLock::_NonReentrantPPLLock(void)
??0_NonReentrantPPLLock@details@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::details::_ReaderWriterLock::_ReaderWriterLock(void)
??0_ReaderWriterLock@details@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::details::_ReentrantBlockingLock::_ReentrantBlockingLock(void)
??0_ReentrantBlockingLock@details@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::details::_ReentrantLock::_ReentrantLock(void)
??0_ReentrantLock@details@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::details::_ReentrantPPLLock::_ReentrantPPLLock(void)
??0_ReentrantPPLLock@details@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::details::_NonReentrantPPLLock::_Scoped_lock::_Scoped_lock(class Concurrency::details::_NonReentrantPPLLock &)
??0_Scoped_lock@_NonReentrantPPLLock@details@Concurrency@@QAE@AAV123@@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::details::_ReentrantPPLLock::_Scoped_lock::_Scoped_lock(class Concurrency::details::_ReentrantPPLLock &)
??0_Scoped_lock@_ReentrantPPLLock@details@Concurrency@@QAE@AAV123@@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::details::_SpinLock::_SpinLock(long volatile &)
??0_SpinLock@details@Concurrency@@QAE@ACJ@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::details::_TaskCollection::_TaskCollection(void)
??0_TaskCollection@details@Concurrency@@QAE@XZ
; protected: __thiscall Concurrency::details::_Timer::_Timer(unsigned int,bool)
??0_Timer@details@Concurrency@@IAE@I_N@Z ; has WINAPI (@8)
; public: __thiscall std::__non_rtti_object::__non_rtti_object(class std::__non_rtti_object const &)
??0__non_rtti_object@std@@QAE@ABV01@@Z ; has WINAPI (@4)
; public: __thiscall std::__non_rtti_object::__non_rtti_object(char const *)
??0__non_rtti_object@std@@QAE@PBD@Z ; has WINAPI (@4)
; private: __thiscall std::bad_cast::bad_cast(char const *const *)
??0bad_cast@std@@AAE@PBQBD@Z ; has WINAPI (@4)
; public: __thiscall std::bad_cast::bad_cast(class std::bad_cast const &)
??0bad_cast@std@@QAE@ABV01@@Z ; has WINAPI (@4)
; public: __thiscall std::bad_cast::bad_cast(char const *)
??0bad_cast@std@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::bad_target::bad_target(char const *)
??0bad_target@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::bad_target::bad_target(void)
??0bad_target@Concurrency@@QAE@XZ
; public: __thiscall std::bad_typeid::bad_typeid(class std::bad_typeid const &)
??0bad_typeid@std@@QAE@ABV01@@Z ; has WINAPI (@4)
; public: __thiscall std::bad_typeid::bad_typeid(char const *)
??0bad_typeid@std@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::context_self_unblock::context_self_unblock(char const *)
??0context_self_unblock@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::context_self_unblock::context_self_unblock(void)
??0context_self_unblock@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::context_unblock_unbalanced::context_unblock_unbalanced(char const *)
??0context_unblock_unbalanced@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::context_unblock_unbalanced::context_unblock_unbalanced(void)
??0context_unblock_unbalanced@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::critical_section::critical_section(void)
??0critical_section@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::default_scheduler_exists::default_scheduler_exists(char const *)
??0default_scheduler_exists@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::default_scheduler_exists::default_scheduler_exists(void)
??0default_scheduler_exists@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::event::event(void)
??0event@Concurrency@@QAE@XZ
; public: __thiscall std::exception::exception(char const *const &)
??0exception@std@@QAE@ABQBD@Z ; has WINAPI (@4)
; public: __thiscall std::exception::exception(char const *const &,int)
??0exception@std@@QAE@ABQBDH@Z ; has WINAPI (@8)
; public: __thiscall std::exception::exception(class std::exception const &)
??0exception@std@@QAE@ABV01@@Z ; has WINAPI (@4)
; public: __thiscall std::exception::exception(void)
??0exception@std@@QAE@XZ
; public: __thiscall Concurrency::improper_lock::improper_lock(char const *)
??0improper_lock@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::improper_lock::improper_lock(void)
??0improper_lock@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::improper_scheduler_attach::improper_scheduler_attach(char const *)
??0improper_scheduler_attach@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::improper_scheduler_attach::improper_scheduler_attach(void)
??0improper_scheduler_attach@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::improper_scheduler_detach::improper_scheduler_detach(char const *)
??0improper_scheduler_detach@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::improper_scheduler_detach::improper_scheduler_detach(void)
??0improper_scheduler_detach@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::improper_scheduler_reference::improper_scheduler_reference(char const *)
??0improper_scheduler_reference@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::improper_scheduler_reference::improper_scheduler_reference(void)
??0improper_scheduler_reference@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::invalid_link_target::invalid_link_target(char const *)
??0invalid_link_target@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::invalid_link_target::invalid_link_target(void)
??0invalid_link_target@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::invalid_multiple_scheduling::invalid_multiple_scheduling(char const *)
??0invalid_multiple_scheduling@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::invalid_multiple_scheduling::invalid_multiple_scheduling(void)
??0invalid_multiple_scheduling@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::invalid_operation::invalid_operation(char const *)
??0invalid_operation@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::invalid_operation::invalid_operation(void)
??0invalid_operation@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::invalid_oversubscribe_operation::invalid_oversubscribe_operation(char const *)
??0invalid_oversubscribe_operation@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::invalid_oversubscribe_operation::invalid_oversubscribe_operation(void)
??0invalid_oversubscribe_operation@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::invalid_scheduler_policy_key::invalid_scheduler_policy_key(char const *)
??0invalid_scheduler_policy_key@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::invalid_scheduler_policy_key::invalid_scheduler_policy_key(void)
??0invalid_scheduler_policy_key@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::invalid_scheduler_policy_thread_specification::invalid_scheduler_policy_thread_specification(char const *)
??0invalid_scheduler_policy_thread_specification@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::invalid_scheduler_policy_thread_specification::invalid_scheduler_policy_thread_specification(void)
??0invalid_scheduler_policy_thread_specification@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::invalid_scheduler_policy_value::invalid_scheduler_policy_value(char const *)
??0invalid_scheduler_policy_value@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::invalid_scheduler_policy_value::invalid_scheduler_policy_value(void)
??0invalid_scheduler_policy_value@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::message_not_found::message_not_found(char const *)
??0message_not_found@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::message_not_found::message_not_found(void)
??0message_not_found@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::missing_wait::missing_wait(char const *)
??0missing_wait@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::missing_wait::missing_wait(void)
??0missing_wait@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::nested_scheduler_missing_detach::nested_scheduler_missing_detach(char const *)
??0nested_scheduler_missing_detach@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::nested_scheduler_missing_detach::nested_scheduler_missing_detach(void)
??0nested_scheduler_missing_detach@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::operation_timed_out::operation_timed_out(char const *)
??0operation_timed_out@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::operation_timed_out::operation_timed_out(void)
??0operation_timed_out@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::reader_writer_lock::reader_writer_lock(void)
??0reader_writer_lock@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::scheduler_not_attached::scheduler_not_attached(char const *)
??0scheduler_not_attached@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::scheduler_not_attached::scheduler_not_attached(void)
??0scheduler_not_attached@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::scheduler_resource_allocation_error::scheduler_resource_allocation_error(long)
??0scheduler_resource_allocation_error@Concurrency@@QAE@J@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::scheduler_resource_allocation_error::scheduler_resource_allocation_error(char const *,long)
??0scheduler_resource_allocation_error@Concurrency@@QAE@PBDJ@Z ; has WINAPI (@8)
; public: __thiscall Concurrency::critical_section::scoped_lock::scoped_lock(class Concurrency::critical_section &)
??0scoped_lock@critical_section@Concurrency@@QAE@AAV12@@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::reader_writer_lock::scoped_lock::scoped_lock(class Concurrency::reader_writer_lock &)
??0scoped_lock@reader_writer_lock@Concurrency@@QAE@AAV12@@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::reader_writer_lock::scoped_lock_read::scoped_lock_read(class Concurrency::reader_writer_lock &)
??0scoped_lock_read@reader_writer_lock@Concurrency@@QAE@AAV12@@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::details::task_canceled::task_canceled(char const *)
??0task_canceled@details@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::details::task_canceled::task_canceled(void)
??0task_canceled@details@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::unsupported_os::unsupported_os(char const *)
??0unsupported_os@Concurrency@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall Concurrency::unsupported_os::unsupported_os(void)
??0unsupported_os@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::SchedulerPolicy::~SchedulerPolicy(void)
??1SchedulerPolicy@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::details::_NonReentrantBlockingLock::~_NonReentrantBlockingLock(void)
??1_NonReentrantBlockingLock@details@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::details::_ReentrantBlockingLock::~_ReentrantBlockingLock(void)
??1_ReentrantBlockingLock@details@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::details::_NonReentrantPPLLock::_Scoped_lock::~_Scoped_lock(void)
??1_Scoped_lock@_NonReentrantPPLLock@details@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::details::_ReentrantPPLLock::_Scoped_lock::~_Scoped_lock(void)
??1_Scoped_lock@_ReentrantPPLLock@details@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::details::_SpinLock::~_SpinLock(void)
??1_SpinLock@details@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::details::_TaskCollection::~_TaskCollection(void)
??1_TaskCollection@details@Concurrency@@QAE@XZ
; protected: __thiscall Concurrency::details::_Timer::~_Timer(void)
??1_Timer@details@Concurrency@@IAE@XZ
; public: virtual __thiscall std::__non_rtti_object::~__non_rtti_object(void)
??1__non_rtti_object@std@@UAE@XZ
; public: virtual __thiscall std::bad_cast::~bad_cast(void)
??1bad_cast@std@@UAE@XZ
; public: virtual __thiscall std::bad_typeid::~bad_typeid(void)
??1bad_typeid@std@@UAE@XZ
; public: __thiscall Concurrency::critical_section::~critical_section(void)
??1critical_section@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::event::~event(void)
??1event@Concurrency@@QAE@XZ
; public: virtual __thiscall std::exception::~exception(void)
??1exception@std@@UAE@XZ
; public: __thiscall Concurrency::reader_writer_lock::~reader_writer_lock(void)
??1reader_writer_lock@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::critical_section::scoped_lock::~scoped_lock(void)
??1scoped_lock@critical_section@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::reader_writer_lock::scoped_lock::~scoped_lock(void)
??1scoped_lock@reader_writer_lock@Concurrency@@QAE@XZ
; public: __thiscall Concurrency::reader_writer_lock::scoped_lock_read::~scoped_lock_read(void)
??1scoped_lock_read@reader_writer_lock@Concurrency@@QAE@XZ
; public: virtual __thiscall type_info::~type_info(void)
??1type_info@@UAE@XZ
; void *__cdecl operator new(unsigned int)
??2@YAPAXI@Z
; void *__cdecl operator new(unsigned int,int,char const *,int)
??2@YAPAXIHPBDH@Z
; void __cdecl operator delete(void *)
??3@YAXPAX@Z
; public: class Concurrency::details::<0x1ULL> &__thiscall Concurrency::details::<0x1ULL>::operator =(class Concurrency::details::<0x1ULL> const &)
??4?$_SpinWait@$00@details@Concurrency@@QAEAAV012@ABV012@@Z ; has WINAPI (@4)
; public: class Concurrency::details::<0x0ULL> &__thiscall Concurrency::details::<0x0ULL>::operator =(class Concurrency::details::<0x0ULL> const &)
??4?$_SpinWait@$0A@@details@Concurrency@@QAEAAV012@ABV012@@Z ; has WINAPI (@4)
; public: class Concurrency::SchedulerPolicy &__thiscall Concurrency::SchedulerPolicy::operator =(class Concurrency::SchedulerPolicy const &)
??4SchedulerPolicy@Concurrency@@QAEAAV01@ABV01@@Z ; has WINAPI (@4)
; public: class std::__non_rtti_object &__thiscall std::__non_rtti_object::operator =(class std::__non_rtti_object const &)
??4__non_rtti_object@std@@QAEAAV01@ABV01@@Z ; has WINAPI (@4)
; public: class std::bad_cast &__thiscall std::bad_cast::operator =(class std::bad_cast const &)
??4bad_cast@std@@QAEAAV01@ABV01@@Z ; has WINAPI (@4)
; public: class std::bad_typeid &__thiscall std::bad_typeid::operator =(class std::bad_typeid const &)
??4bad_typeid@std@@QAEAAV01@ABV01@@Z ; has WINAPI (@4)
; public: class std::exception &__thiscall std::exception::operator =(class std::exception const &)
??4exception@std@@QAEAAV01@ABV01@@Z ; has WINAPI (@4)
; public: bool __thiscall type_info::operator ==(class type_info const &)const 
??8type_info@@QBE_NABV0@@Z ; has WINAPI (@4)
; public: bool __thiscall type_info::operator !=(class type_info const &)const 
??9type_info@@QBE_NABV0@@Z ; has WINAPI (@4)
; const std::__non_rtti_object::$vftable
??_7__non_rtti_object@std@@6B@ DATA
; const std::bad_cast::$vftable
??_7bad_cast@std@@6B@ DATA
; const std::bad_typeid::$vftable
??_7bad_typeid@std@@6B@ DATA
; const exception::$vftable
??_7exception@@6B@ DATA
; const std::exception::$vftable
??_7exception@std@@6B@ DATA
; public: void __thiscall Concurrency::details::<0x1ULL>::__dflt_ctor_closure(void)
??_F?$_SpinWait@$00@details@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::details::<0x0ULL>::__dflt_ctor_closure(void)
??_F?$_SpinWait@$0A@@details@Concurrency@@QAEXXZ
; public: void __thiscall std::bad_cast::__dflt_ctor_closure(void)
??_Fbad_cast@std@@QAEXXZ
; public: void __thiscall std::bad_typeid::__dflt_ctor_closure(void)
??_Fbad_typeid@std@@QAEXXZ
; void *__cdecl operator new[](unsigned int)
??_U@YAPAXI@Z
; void *__cdecl operator new[](unsigned int,int,char const *,int)
??_U@YAPAXIHPBDH@Z
; void __cdecl operator delete[](void *)
??_V@YAXPAX@Z
; void *__cdecl Concurrency::Alloc(unsigned int)
?Alloc@Concurrency@@YAPAXI@Z
; public: static void __cdecl Concurrency::Context::Block(void)
?Block@Context@Concurrency@@SAXXZ
; public: static void __cdecl Concurrency::CurrentScheduler::Create(class Concurrency::SchedulerPolicy const &)
?Create@CurrentScheduler@Concurrency@@SAXABVSchedulerPolicy@2@@Z ; Check!!! Couldn't determine function argument count. Function doesn't return. 
; public: static class Concurrency::Scheduler *__cdecl Concurrency::Scheduler::Create(class Concurrency::SchedulerPolicy const &)
?Create@Scheduler@Concurrency@@SAPAV12@ABVSchedulerPolicy@2@@Z
; struct Concurrency::IResourceManager *__cdecl Concurrency::CreateResourceManager(void)
?CreateResourceManager@Concurrency@@YAPAUIResourceManager@1@XZ
; public: static class Concurrency::ScheduleGroup *__cdecl Concurrency::CurrentScheduler::CreateScheduleGroup(void)
?CreateScheduleGroup@CurrentScheduler@Concurrency@@SAPAVScheduleGroup@2@XZ ; Check!!! Couldn't determine function argument count. Function doesn't return. 
; public: static class Concurrency::Context *__cdecl Concurrency::Context::CurrentContext(void)
?CurrentContext@Context@Concurrency@@SAPAV12@XZ
; public: static void __cdecl Concurrency::CurrentScheduler::Detach(void)
?Detach@CurrentScheduler@Concurrency@@SAXXZ
; long __cdecl Concurrency::DisableTracing(void)
?DisableTracing@Concurrency@@YAJXZ
; long __cdecl Concurrency::EnableTracing(void)
?EnableTracing@Concurrency@@YAJXZ
; void __cdecl Concurrency::Free(void *)
?Free@Concurrency@@YAXPAX@Z
; public: static class Concurrency::Scheduler *__cdecl Concurrency::CurrentScheduler::Get(void)
?Get@CurrentScheduler@Concurrency@@SAPAVScheduler@2@XZ
; unsigned int __cdecl Concurrency::GetExecutionContextId(void)
?GetExecutionContextId@Concurrency@@YAIXZ
; public: static unsigned int __cdecl Concurrency::CurrentScheduler::GetNumberOfVirtualProcessors(void)
?GetNumberOfVirtualProcessors@CurrentScheduler@Concurrency@@SAIXZ
; enum Concurrency::IResourceManager::OSVersion __cdecl Concurrency::GetOSVersion(void)
?GetOSVersion@Concurrency@@YA?AW4OSVersion@IResourceManager@1@XZ
; public: static class Concurrency::SchedulerPolicy __cdecl Concurrency::CurrentScheduler::GetPolicy(void)
?GetPolicy@CurrentScheduler@Concurrency@@SA?AVSchedulerPolicy@2@XZ
; public: unsigned int __thiscall Concurrency::SchedulerPolicy::GetPolicyValue(enum Concurrency::PolicyElementKey)const 
?GetPolicyValue@SchedulerPolicy@Concurrency@@QBEIW4PolicyElementKey@2@@Z ; has WINAPI (@4)
; unsigned int __cdecl Concurrency::GetProcessorCount(void)
?GetProcessorCount@Concurrency@@YAIXZ
; unsigned int __cdecl Concurrency::GetProcessorNodeCount(void)
?GetProcessorNodeCount@Concurrency@@YAIXZ
; unsigned int __cdecl Concurrency::GetSchedulerId(void)
?GetSchedulerId@Concurrency@@YAIXZ
; void *__cdecl Concurrency::details::GetSharedTimerQueue(void)
?GetSharedTimerQueue@details@Concurrency@@YAPAXXZ
; public: static unsigned int __cdecl Concurrency::Context::Id(void)
?Id@Context@Concurrency@@SAIXZ
; public: static unsigned int __cdecl Concurrency::CurrentScheduler::Id(void)
?Id@CurrentScheduler@Concurrency@@SAIXZ
; public: static bool __cdecl Concurrency::Context::IsCurrentTaskCollectionCanceling(void)
?IsCurrentTaskCollectionCanceling@Context@Concurrency@@SA_NXZ
; unsigned long __cdecl Concurrency::details::Log2(unsigned int)
?Log2@details@Concurrency@@YAKI@Z
; public: static void __cdecl Concurrency::Context::Oversubscribe(bool)
?Oversubscribe@Context@Concurrency@@SAX_N@Z
; public: static void __cdecl Concurrency::CurrentScheduler::RegisterShutdownEvent(void *)
?RegisterShutdownEvent@CurrentScheduler@Concurrency@@SAXPAX@Z
; public: static void __cdecl Concurrency::Scheduler::ResetDefaultSchedulerPolicy(void)
?ResetDefaultSchedulerPolicy@Scheduler@Concurrency@@SAXXZ
; public: static unsigned int __cdecl Concurrency::Context::ScheduleGroupId(void)
?ScheduleGroupId@Context@Concurrency@@SAIXZ
; public: static void __cdecl Concurrency::CurrentScheduler::ScheduleTask(void(__cdecl *)(void *),void *)
?ScheduleTask@CurrentScheduler@Concurrency@@SAXP6AXPAX@Z0@Z
; public: void __thiscall Concurrency::SchedulerPolicy::SetConcurrencyLimits(unsigned int,unsigned int)
?SetConcurrencyLimits@SchedulerPolicy@Concurrency@@QAEXII@Z ; has WINAPI (@8)
; public: static void __cdecl Concurrency::Scheduler::SetDefaultSchedulerPolicy(class Concurrency::SchedulerPolicy const &)
?SetDefaultSchedulerPolicy@Scheduler@Concurrency@@SAXABVSchedulerPolicy@2@@Z
; public: unsigned int __thiscall Concurrency::SchedulerPolicy::SetPolicyValue(enum Concurrency::PolicyElementKey,unsigned int)
?SetPolicyValue@SchedulerPolicy@Concurrency@@QAEIW4PolicyElementKey@2@I@Z ; has WINAPI (@8)
; public: static unsigned int __cdecl Concurrency::Context::VirtualProcessorId(void)
?VirtualProcessorId@Context@Concurrency@@SAIXZ
; public: static void __cdecl Concurrency::Context::Yield(void)
?Yield@Context@Concurrency@@SAXXZ ; Check!!! Couldn't determine function argument count. Function doesn't return. 
; private: void __thiscall Concurrency::details::_StructuredTaskCollection::_Abort(void)
?_Abort@_StructuredTaskCollection@details@Concurrency@@AAEXXZ
; public: void __thiscall Concurrency::details::_NonReentrantBlockingLock::_Acquire(void)
?_Acquire@_NonReentrantBlockingLock@details@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::details::_NonReentrantPPLLock::_Acquire(void *)
?_Acquire@_NonReentrantPPLLock@details@Concurrency@@QAEXPAX@Z ; has WINAPI (@4)
; public: void __thiscall Concurrency::details::_ReentrantBlockingLock::_Acquire(void)
?_Acquire@_ReentrantBlockingLock@details@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::details::_ReentrantLock::_Acquire(void)
?_Acquire@_ReentrantLock@details@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::details::_ReentrantPPLLock::_Acquire(void *)
?_Acquire@_ReentrantPPLLock@details@Concurrency@@QAEXPAX@Z ; has WINAPI (@4)
; public: void __thiscall Concurrency::details::_ReaderWriterLock::_AcquireRead(void)
?_AcquireRead@_ReaderWriterLock@details@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::details::_ReaderWriterLock::_AcquireWrite(void)
?_AcquireWrite@_ReaderWriterLock@details@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::details::_StructuredTaskCollection::_Cancel(void)
?_Cancel@_StructuredTaskCollection@details@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::details::_TaskCollection::_Cancel(void)
?_Cancel@_TaskCollection@details@Concurrency@@QAEXXZ
; protected: void __thiscall Concurrency::details::_UnrealizedChore::_CheckTaskCollection(void)
?_CheckTaskCollection@_UnrealizedChore@details@Concurrency@@IAEXXZ
; void __cdecl Concurrency::details::_ConcRT_Assert(char const *,char const *,int)
?_ConcRT_Assert@details@Concurrency@@YAXPBD0H@Z
; void __cdecl Concurrency::details::_ConcRT_CoreAssert(char const *,char const *,int)
?_ConcRT_CoreAssert@details@Concurrency@@YAXPBD0H@Z ; has WINAPI (@0)
; void __cdecl Concurrency::details::_ConcRT_DumpMessage(wchar_t const *,...)
?_ConcRT_DumpMessage@details@Concurrency@@YAXPB_WZZ
; void __cdecl Concurrency::details::_ConcRT_Trace(int,wchar_t const *,...)
?_ConcRT_Trace@details@Concurrency@@YAXHPB_WZZ
; private: void __thiscall std::exception::_Copy_str(char const *)
?_Copy_str@exception@std@@AAEXPBD@Z ; has WINAPI (@4)
; protected: void __thiscall Concurrency::details::<0x1ULL>::_DoYield(void)
?_DoYield@?$_SpinWait@$00@details@Concurrency@@IAEXXZ ; Check!!! Couldn't determine function argument count. Function doesn't return. 
; protected: void __thiscall Concurrency::details::<0x0ULL>::_DoYield(void)
?_DoYield@?$_SpinWait@$0A@@details@Concurrency@@IAEXXZ
; public: bool __thiscall Concurrency::details::_StructuredTaskCollection::_IsCanceling(void)
?_IsCanceling@_StructuredTaskCollection@details@Concurrency@@QAE_NXZ
; public: bool __thiscall Concurrency::details::_TaskCollection::_IsCanceling(void)
?_IsCanceling@_TaskCollection@details@Concurrency@@QAE_NXZ
; private: static char const *__cdecl type_info::_Name_base(class type_info const *,struct __type_info_node *)
?_Name_base@type_info@@CAPBDPBV1@PAU__type_info_node@@@Z
; private: static char const *__cdecl type_info::_Name_base_internal(class type_info const *,struct __type_info_node *)
?_Name_base_internal@type_info@@CAPBDPBV1@PAU__type_info_node@@@Z
; protected: unsigned long __thiscall Concurrency::details::<0x1ULL>::_NumberOfSpins(void)
?_NumberOfSpins@?$_SpinWait@$00@details@Concurrency@@IAEKXZ
; protected: unsigned long __thiscall Concurrency::details::<0x0ULL>::_NumberOfSpins(void)
?_NumberOfSpins@?$_SpinWait@$0A@@details@Concurrency@@IAEKXZ
; public: void __thiscall Concurrency::details::_NonReentrantBlockingLock::_Release(void)
?_Release@_NonReentrantBlockingLock@details@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::details::_NonReentrantPPLLock::_Release(void)
?_Release@_NonReentrantPPLLock@details@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::details::_ReentrantBlockingLock::_Release(void)
?_Release@_ReentrantBlockingLock@details@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::details::_ReentrantLock::_Release(void)
?_Release@_ReentrantLock@details@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::details::_ReentrantPPLLock::_Release(void)
?_Release@_ReentrantPPLLock@details@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::details::_ReaderWriterLock::_ReleaseRead(void)
?_ReleaseRead@_ReaderWriterLock@details@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::details::_ReaderWriterLock::_ReleaseWrite(void)
?_ReleaseWrite@_ReaderWriterLock@details@Concurrency@@QAEXXZ
; protected: void __thiscall Concurrency::details::<0x1ULL>::_Reset(void)
?_Reset@?$_SpinWait@$00@details@Concurrency@@IAEXXZ
; protected: void __thiscall Concurrency::details::<0x0ULL>::_Reset(void)
?_Reset@?$_SpinWait@$0A@@details@Concurrency@@IAEXXZ
; public: enum Concurrency::details::_TaskCollectionStatus __stdcall Concurrency::details::_StructuredTaskCollection::_RunAndWait(class Concurrency::details::_UnrealizedChore *)
?_RunAndWait@_StructuredTaskCollection@details@Concurrency@@QAG?AW4_TaskCollectionStatus@23@PAV_UnrealizedChore@23@@Z ; has WINAPI (@8)
; public: enum Concurrency::details::_TaskCollectionStatus __stdcall Concurrency::details::_TaskCollection::_RunAndWait(class Concurrency::details::_UnrealizedChore *)
?_RunAndWait@_TaskCollection@details@Concurrency@@QAG?AW4_TaskCollectionStatus@23@PAV_UnrealizedChore@23@@Z ; has WINAPI (@8)
; public: void __thiscall Concurrency::details::_StructuredTaskCollection::_Schedule(class Concurrency::details::_UnrealizedChore *)
?_Schedule@_StructuredTaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@@Z ; has WINAPI (@4)
; public: void __thiscall Concurrency::details::_TaskCollection::_Schedule(class Concurrency::details::_UnrealizedChore *)
?_Schedule@_TaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@@Z ; has WINAPI (@4)
; public: void __thiscall Concurrency::details::<0x1ULL>::_SetSpinCount(unsigned int)
?_SetSpinCount@?$_SpinWait@$00@details@Concurrency@@QAEXI@Z ; has WINAPI (@4)
; public: void __thiscall Concurrency::details::<0x0ULL>::_SetSpinCount(unsigned int)
?_SetSpinCount@?$_SpinWait@$0A@@details@Concurrency@@QAEXI@Z ; has WINAPI (@4)
; protected: bool __thiscall Concurrency::details::<0x1ULL>::_ShouldSpinAgain(void)
?_ShouldSpinAgain@?$_SpinWait@$00@details@Concurrency@@IAE_NXZ
; protected: bool __thiscall Concurrency::details::<0x0ULL>::_ShouldSpinAgain(void)
?_ShouldSpinAgain@?$_SpinWait@$0A@@details@Concurrency@@IAE_NXZ
; public: bool __thiscall Concurrency::details::<0x1ULL>::_SpinOnce(void)
?_SpinOnce@?$_SpinWait@$00@details@Concurrency@@QAE_NXZ
; public: bool __thiscall Concurrency::details::<0x0ULL>::_SpinOnce(void)
?_SpinOnce@?$_SpinWait@$0A@@details@Concurrency@@QAE_NXZ
; public: static void __cdecl Concurrency::Context::_SpinYield(void)
?_SpinYield@Context@Concurrency@@SAXXZ ; Check!!! Couldn't determine function argument count. Function doesn't return. 
; protected: void __thiscall Concurrency::details::_Timer::_Start(void)
?_Start@_Timer@details@Concurrency@@IAEXXZ
; protected: void __thiscall Concurrency::details::_Timer::_Stop(void)
?_Stop@_Timer@details@Concurrency@@IAEXXZ
; private: void __thiscall std::exception::_Tidy(void)
?_Tidy@exception@std@@AAEXXZ
; void __cdecl Concurrency::_Trace_ppl_function(struct _GUID const &,unsigned char,enum Concurrency::ConcRT_EventType)
?_Trace_ppl_function@Concurrency@@YAXABU_GUID@@EW4ConcRT_EventType@1@@Z
; public: bool __thiscall Concurrency::details::_NonReentrantBlockingLock::_TryAcquire(void)
?_TryAcquire@_NonReentrantBlockingLock@details@Concurrency@@QAE_NXZ
; public: bool __thiscall Concurrency::details::_ReentrantBlockingLock::_TryAcquire(void)
?_TryAcquire@_ReentrantBlockingLock@details@Concurrency@@QAE_NXZ
; public: bool __thiscall Concurrency::details::_ReentrantLock::_TryAcquire(void)
?_TryAcquire@_ReentrantLock@details@Concurrency@@QAE_NXZ
; public: bool __thiscall Concurrency::details::_ReaderWriterLock::_TryAcquireWrite(void)
?_TryAcquireWrite@_ReaderWriterLock@details@Concurrency@@QAE_NXZ
; private: static void __cdecl type_info::_Type_info_dtor(class type_info *)
?_Type_info_dtor@type_info@@CAXPAV1@@Z
; private: static void __cdecl type_info::_Type_info_dtor_internal(class type_info *)
?_Type_info_dtor_internal@type_info@@CAXPAV1@@Z
; void __cdecl Concurrency::details::_UnderlyingYield(void)
?_UnderlyingYield@details@Concurrency@@YAXXZ ; has WINAPI (@0)
; int __cdecl _ValidateExecute(int(__stdcall *)(void))
?_ValidateExecute@@YAHP6GHXZ@Z
; int __cdecl _ValidateRead(void const *,unsigned int)
?_ValidateRead@@YAHPBXI@Z
; int __cdecl _ValidateWrite(void *,unsigned int)
?_ValidateWrite@@YAHPAXI@Z
; public: static unsigned int __cdecl Concurrency::details::_SpinCount::_Value(void)
?_Value@_SpinCount@details@Concurrency@@SAIXZ
; void __cdecl __ExceptionPtrAssign(void *,void const *)
?__ExceptionPtrAssign@@YAXPAXPBX@Z
; bool __cdecl __ExceptionPtrCompare(void const *,void const *)
?__ExceptionPtrCompare@@YA_NPBX0@Z
; void __cdecl __ExceptionPtrCopy(void *,void const *)
?__ExceptionPtrCopy@@YAXPAXPBX@Z
; void __cdecl __ExceptionPtrCopyException(void *,void const *,void const *)
?__ExceptionPtrCopyException@@YAXPAXPBX1@Z
; void __cdecl __ExceptionPtrCreate(void *)
?__ExceptionPtrCreate@@YAXPAX@Z
; void __cdecl __ExceptionPtrCurrentException(void *)
?__ExceptionPtrCurrentException@@YAXPAX@Z
; void __cdecl __ExceptionPtrDestroy(void *)
?__ExceptionPtrDestroy@@YAXPAX@Z
; void __cdecl __ExceptionPtrRethrow(void const *)
?__ExceptionPtrRethrow@@YAXPBX@Z
__uncaught_exception
; void __cdecl _inconsistency(void)
?_inconsistency@@YAXXZ ; Check!!! Couldn't determine function argument count. Function doesn't return. 
; void __cdecl _invalid_parameter(unsigned short const *,unsigned short const *,unsigned short const *,unsigned int,unsigned int)
?_invalid_parameter@@YAXPBG00II@Z ; Check!!! Couldn't determine function argument count. Function doesn't return. 
; int __cdecl _is_exception_typeof(class type_info const &,struct _EXCEPTION_POINTERS *)
?_is_exception_typeof@@YAHABVtype_info@@PAU_EXCEPTION_POINTERS@@@Z
; public: char const *__thiscall type_info::_name_internal_method(struct __type_info_node *)const 
?_name_internal_method@type_info@@QBEPBDPAU__type_info_node@@@Z ; has WINAPI (@4)
; int __cdecl _open(char const *,int,int)
?_open@@YAHPBDHH@Z
; int(__cdecl *)(unsigned int)__cdecl _query_new_handler(void)
?_query_new_handler@@YAP6AHI@ZXZ
; int __cdecl _query_new_mode(void)
?_query_new_mode@@YAHXZ
; int(__cdecl *)(unsigned int)__cdecl _set_new_handler(int)
?_set_new_handler@@YAP6AHI@ZH@Z
; int(__cdecl *)(unsigned int)__cdecl _set_new_handler(int(__cdecl *)(unsigned int))
?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z
; int __cdecl _set_new_mode(int)
?_set_new_mode@@YAHH@Z
; void(__cdecl *)(unsigned int,struct _EXCEPTION_POINTERS *)__cdecl _set_se_translator(int)
?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZH@Z
; void(__cdecl *)(unsigned int,struct _EXCEPTION_POINTERS *)__cdecl _set_se_translator(void(__cdecl *)(unsigned int,struct _EXCEPTION_POINTERS *))
?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z
; int __cdecl _sopen(char const *,int,int,int)
?_sopen@@YAHPBDHHH@Z
; public: void __thiscall type_info::_type_info_dtor_internal_method(void)
?_type_info_dtor_internal_method@type_info@@QAEXXZ
; int __cdecl _wopen(wchar_t const *,int,int)
?_wopen@@YAHPB_WHH@Z
; int __cdecl _wsopen(wchar_t const *,int,int,int)
?_wsopen@@YAHPB_WHHH@Z
; public: int __thiscall type_info::before(class type_info const &)const 
?before@type_info@@QBEHABV1@@Z ; has WINAPI (@4)
; public: long __thiscall Concurrency::scheduler_resource_allocation_error::get_error_code(void)const 
?get_error_code@scheduler_resource_allocation_error@Concurrency@@QBEJXZ
; public: void __thiscall Concurrency::critical_section::lock(void)
?lock@critical_section@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::reader_writer_lock::lock(void)
?lock@reader_writer_lock@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::reader_writer_lock::lock_read(void)
?lock_read@reader_writer_lock@Concurrency@@QAEXXZ
; public: char const *__thiscall type_info::name(struct __type_info_node *)const 
?name@type_info@@QBEPBDPAU__type_info_node@@@Z ; has WINAPI (@4)
; public: class Concurrency::critical_section &__thiscall Concurrency::critical_section::native_handle(void)
?native_handle@critical_section@Concurrency@@QAEAAV12@XZ
; public: char const *__thiscall type_info::raw_name(void)const 
?raw_name@type_info@@QBEPBDXZ
; public: void __thiscall Concurrency::event::reset(void)
?reset@event@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::event::set(void)
?set@event@Concurrency@@QAEXXZ
; void(__cdecl *)(void)__cdecl set_new_handler(void(__cdecl *)(void))
?set_new_handler@@YAP6AXXZP6AXXZ@Z
; void(__cdecl *)(void)__cdecl set_terminate(int)
?set_terminate@@YAP6AXXZH@Z
; void(__cdecl *)(void)__cdecl set_terminate(void(__cdecl *)(void))
?set_terminate@@YAP6AXXZP6AXXZ@Z
; void(__cdecl *)(void)__cdecl set_unexpected(int)
?set_unexpected@@YAP6AXXZH@Z
; void(__cdecl *)(void)__cdecl set_unexpected(void(__cdecl *)(void))
?set_unexpected@@YAP6AXXZP6AXXZ@Z
; int __cdecl swprintf(unsigned short *,unsigned int,unsigned short const *,...)
?swprintf@@YAHPAGIPBGZZ
; int __cdecl swprintf(wchar_t *,unsigned int,wchar_t const *,...)
?swprintf@@YAHPA_WIPB_WZZ
; void __cdecl terminate(void)
?terminate@@YAXXZ
; public: bool __thiscall Concurrency::critical_section::try_lock(void)
?try_lock@critical_section@Concurrency@@QAE_NXZ
; public: bool __thiscall Concurrency::reader_writer_lock::try_lock(void)
?try_lock@reader_writer_lock@Concurrency@@QAE_NXZ
; public: bool __thiscall Concurrency::reader_writer_lock::try_lock_read(void)
?try_lock_read@reader_writer_lock@Concurrency@@QAE_NXZ
; void __cdecl unexpected(void)
?unexpected@@YAXXZ
; public: void __thiscall Concurrency::critical_section::unlock(void)
?unlock@critical_section@Concurrency@@QAEXXZ
; public: void __thiscall Concurrency::reader_writer_lock::unlock(void)
?unlock@reader_writer_lock@Concurrency@@QAEXXZ
; int __cdecl vswprintf(wchar_t *,unsigned int,wchar_t const *,char *)
?vswprintf@@YAHPA_WIPB_WPAD@Z
; void __cdecl Concurrency::wait(unsigned int)
?wait@Concurrency@@YAXI@Z
; public: unsigned int __thiscall Concurrency::event::wait(unsigned int)
?wait@event@Concurrency@@QAEII@Z ; has WINAPI (@4)
; public: static unsigned int __cdecl Concurrency::event::wait_for_multiple(class Concurrency::event **,unsigned int,bool,unsigned int)
?wait_for_multiple@event@Concurrency@@SAIPAPAV12@I_NI@Z
; public: virtual char const *__thiscall std::exception::what(void)const 
?what@exception@std@@UBEPBDXZ
$I10_OUTPUT
_CIacos
_CIasin
_CIatan
_CIatan2
_CIcos
_CIcosh
_CIexp
_CIfmod
_CIlog
_CIlog10
_CIpow
_CIsin
_CIsinh
_CIsqrt
_CItan
_CItanh
_CRT_RTC_INIT
_CRT_RTC_INITW
_CreateFrameInfo
_CxxThrowException@8
_EH_prolog
_FindAndUnlinkFrame
_Getdays
_Getmonths
_Gettnames
_HUGE DATA
_IsExceptionObjectToBeDestroyed
_NLG_Dispatch2@4
_NLG_Return@12
_NLG_Return2
_Strftime
_XcptFilter
__AdjustPointer
__BuildCatchObject
__BuildCatchObjectHelper
__CppXcptFilter
__CxxCallUnwindDelDtor
__CxxCallUnwindDtor
__CxxCallUnwindStdDelDtor
__CxxCallUnwindVecDtor
__CxxDetectRethrow
__CxxExceptionFilter
__CxxFrameHandler
__CxxFrameHandler2
__CxxFrameHandler3
__CxxLongjmpUnwind@4
__CxxQueryExceptionSize
__CxxRegisterExceptionObject
__CxxUnregisterExceptionObject
__DestructExceptionObject
__FrameUnwindFilter
__RTCastToVoid
__RTDynamicCast
__RTtypeid
__STRINGTOLD
__STRINGTOLD_L
__TypeMatch
___lc_codepage_func
___lc_collate_cp_func
___lc_handle_func
___mb_cur_max_func
___mb_cur_max_l_func
___setlc_active_func
___unguarded_readlc_active_add_func
__argc DATA
__argv DATA
__badioinfo DATA
__clean_type_info_names_internal
__control87_2
__create_locale
__crtCompareStringA
__crtCompareStringW
__crtLCMapStringA
__crtLCMapStringW
__daylight
__dllonexit
__doserrno
__dstbias
___fls_getvalue@4@4
___fls_setvalue@8@8
__fpecode
__free_locale
__get_current_locale
__get_flsindex
__get_tlsindex
__getmainargs
__initenv DATA
__iob_func
__isascii
__iscsym
__iscsymf
__iswcsym
__iswcsymf
__lconv DATA
__lconv_init
__libm_sse2_acos
__libm_sse2_acosf
__libm_sse2_asin
__libm_sse2_asinf
__libm_sse2_atan
__libm_sse2_atan2
__libm_sse2_atanf
__libm_sse2_cos
__libm_sse2_cosf
__libm_sse2_exp
__libm_sse2_expf
__libm_sse2_log
__libm_sse2_log10
__libm_sse2_log10f
__libm_sse2_logf
__libm_sse2_pow
__libm_sse2_powf
__libm_sse2_sin
__libm_sse2_sinf
__libm_sse2_tan
__libm_sse2_tanf
__mb_cur_max DATA
__p___argc
__p___argv
__p___initenv
__p___mb_cur_max
__p___wargv
__p___winitenv
__p__acmdln
__p__commode
__p__daylight
__p__dstbias
__p__environ
__p__fmode
__p__iob
__p__mbcasemap
__p__mbctype
__p__pctype
__p__pgmptr
__p__pwctype
__p__timezone
__p__tzname
__p__wcmdln
__p__wenviron
__p__wpgmptr
__pctype_func
__pioinfo DATA
__pwctype_func
__pxcptinfoptrs
__report_gsfailure
__set_app_type
__set_flsgetvalue
__setlc_active DATA
__setusermatherr
__strncnt
__swprintf_l
__sys_errlist
__sys_nerr
__threadhandle@0
__threadid@0
__timezone
__toascii
__tzname
__unDName
__unDNameEx
__unDNameHelper
__unguarded_readlc_active DATA
__vswprintf_l
__wargv DATA
__wcserror
__wcserror_s
__wcsncnt
__wgetmainargs
__winitenv DATA
_abnormal_termination
_abs64
_access
_access_s
_acmdln DATA
_aligned_free
_aligned_malloc
_aligned_msize
_aligned_offset_malloc
_aligned_offset_realloc
_aligned_offset_recalloc
_aligned_realloc
_aligned_recalloc
_amsg_exit
_assert
_atodbl
_atodbl_l
_atof_l
_atoflt
_atoflt_l
_atoi64
_atoi64_l
_atoi_l
_atol_l
_atoldbl
_atoldbl_l
_beep
_beginthread
_beginthreadex
_byteswap_uint64
_byteswap_ulong
_byteswap_ushort
_c_exit
_cabs
_callnewh
_calloc_crt
_cexit
_cgets
_cgets_s
_cgetws
_cgetws_s
_chdir
_chdrive
_chgsign
_chkesp
_chmod
_chsize
_chsize_s
_clearfp
_close
_commit
_commode DATA
_configthreadlocale
_control87
_controlfp
_controlfp_s
_copysign
_cprintf
_cprintf_l
_cprintf_p
_cprintf_p_l
_cprintf_s
_cprintf_s_l
_cputs
_cputws
_creat
_create_locale
_crt_debugger_hook
_cscanf
_cscanf_l
_cscanf_s
_cscanf_s_l
_ctime32
_ctime32_s
_ctime64
_ctime64_s
_cwait
_cwprintf
_cwprintf_l
_cwprintf_p
_cwprintf_p_l
_cwprintf_s
_cwprintf_s_l
_cwscanf
_cwscanf_l
_cwscanf_s
_cwscanf_s_l
_daylight DATA
_difftime32
_difftime64
_dosmaperr
_dstbias DATA
_dup
_dup2
_dupenv_s
_ecvt
_ecvt_s
_encoded_null
_endthread
_endthreadex 
_environ DATA
_eof
_errno
_except_handler2
_except_handler3
_except_handler4_common
_execl
_execle
_execlp
_execlpe
_execv
_execve
_execvp
_execvpe
_exit
_expand
_fclose_nolock
_fcloseall
_fcvt
_fcvt_s
_fdopen
_fflush_nolock
_fgetchar
_fgetwc_nolock
_fgetwchar
_filbuf
_filelength
_filelengthi64
_fileno
_findclose
_findfirst32
_findfirst32i64
_findfirst64
_findfirst64i32
_findnext32
_findnext32i64
_findnext64
_findnext64i32
_finite
_flsbuf
_flushall
_fmode DATA
_fpclass
_fpieee_flt
_fpreset
_fprintf_l
_fprintf_p
_fprintf_p_l
_fprintf_s_l
_fputchar
_fputwc_nolock
_fputwchar
_fread_nolock
_fread_nolock_s
_free_locale
_freea
_freea_s
_freefls@4
_fscanf_l
_fscanf_s_l
_fseek_nolock
_fseeki64
_fseeki64_nolock
_fsopen
_fstat32
_fstat32i64
_fstat64
_fstat64i32
_ftell_nolock
_ftelli64
_ftelli64_nolock
_ftime32
_ftime32_s
_ftime64
_ftime64_s
_ftol
_fullpath
_futime32
_futime64
_fwprintf_l
_fwprintf_p
_fwprintf_p_l
_fwprintf_s_l
_fwrite_nolock
_fwscanf_l
_fwscanf_s_l
_gcvt
_gcvt_s
_get_current_locale
_get_daylight
_get_doserrno
_get_dstbias
_get_errno
_get_fmode
_get_heap_handle
_get_invalid_parameter_handler
_get_osfhandle
_get_output_format
_get_pgmptr
_get_printf_count_output
_get_purecall_handler
_get_terminate
_get_timezone
_get_tzname
_get_unexpected
_get_wpgmptr
_getc_nolock
_getch
_getch_nolock
_getche
_getche_nolock
_getcwd
_getdcwd
_getdcwd_nolock
_getdiskfree
_getdllprocaddr
_getdrive
_getdrives@0
_getmaxstdio
_getmbcp
_getpid@0
_getptd
_getsystime
_getw
_getwch
_getwch_nolock
_getwche
_getwche_nolock
_getws
_getws_s
_global_unwind2
_gmtime32
_gmtime32_s
_gmtime64
_gmtime64_s
_heapadd
_heapchk
_heapmin
_heapset
_heapused
_heapwalk
_hypot
_hypotf
_i64toa
_i64toa_s
_i64tow
_i64tow_s
_initptd
_initterm
_initterm_e
_inp
_inpd
_inpw
_invalid_parameter
_invalid_parameter_noinfo
_invalid_parameter_noinfo_noreturn 
_invoke_watson
_iob DATA
_isalnum_l
_isalpha_l
_isatty
_iscntrl_l
_isctype
_isctype_l
_isdigit_l
_isgraph_l
_isleadbyte_l
_islower_l
_ismbbalnum
_ismbbalnum_l
_ismbbalpha
_ismbbalpha_l
_ismbbgraph
_ismbbgraph_l
_ismbbkalnum
_ismbbkalnum_l
_ismbbkana
_ismbbkana_l
_ismbbkprint
_ismbbkprint_l
_ismbbkpunct
_ismbbkpunct_l
_ismbblead
_ismbblead_l
_ismbbprint
_ismbbprint_l
_ismbbpunct
_ismbbpunct_l
_ismbbtrail
_ismbbtrail_l
_ismbcalnum
_ismbcalnum_l
_ismbcalpha
_ismbcalpha_l
_ismbcdigit
_ismbcdigit_l
_ismbcgraph
_ismbcgraph_l
_ismbchira
_ismbchira_l
_ismbckata
_ismbckata_l
_ismbcl0
_ismbcl0_l
_ismbcl1
_ismbcl1_l
_ismbcl2
_ismbcl2_l
_ismbclegal
_ismbclegal_l
_ismbclower
_ismbclower_l
_ismbcprint
_ismbcprint_l
_ismbcpunct
_ismbcpunct_l
_ismbcspace
_ismbcspace_l
_ismbcsymbol
_ismbcsymbol_l
_ismbcupper
_ismbcupper_l
_ismbslead
_ismbslead_l
_ismbstrail
_ismbstrail_l
_isnan
_isprint_l
_ispunct_l
_isspace_l
_isupper_l
_iswalnum_l
_iswalpha_l
_iswcntrl_l
_iswcsym_l
_iswcsymf_l
_iswctype_l
_iswdigit_l
_iswgraph_l
_iswlower_l
_iswprint_l
_iswpunct_l
_iswspace_l
_iswupper_l
_iswxdigit_l
_isxdigit_l
_itoa
_itoa_s
_itow
_itow_s
_j0
_j1
_jn
_kbhit
_lfind
_lfind_s
_loaddll
_local_unwind2
_local_unwind4
_localtime32
_localtime32_s
_localtime64
_localtime64_s
_lock
_lock_file
_locking
_logb
_longjmpex
_lrotl
_lrotr
_lsearch
_lsearch_s
_lseek
_lseeki64
_ltoa
_ltoa_s
_ltow
_ltow_s
_makepath
_makepath_s
_malloc_crt
_mbbtombc
_mbbtombc_l
_mbbtype
_mbbtype_l
_mbcasemap DATA
_mbccpy
_mbccpy_l
_mbccpy_s
_mbccpy_s_l
_mbcjistojms
_mbcjistojms_l
_mbcjmstojis
_mbcjmstojis_l
_mbclen
_mbclen_l
_mbctohira
_mbctohira_l
_mbctokata
_mbctokata_l
_mbctolower
_mbctolower_l
_mbctombb
_mbctombb_l
_mbctoupper
_mbctoupper_l
_mbctype DATA
_mblen_l
_mbsbtype
_mbsbtype_l
_mbscat_s
_mbscat_s_l
_mbschr
_mbschr_l
_mbscmp
_mbscmp_l
_mbscoll
_mbscoll_l
_mbscpy_s
_mbscpy_s_l
_mbscspn
_mbscspn_l
_mbsdec
_mbsdec_l
_mbsicmp
_mbsicmp_l
_mbsicoll
_mbsicoll_l
_mbsinc
_mbsinc_l
_mbslen
_mbslen_l
_mbslwr
_mbslwr_l
_mbslwr_s
_mbslwr_s_l
_mbsnbcat
_mbsnbcat_l
_mbsnbcat_s
_mbsnbcat_s_l
_mbsnbcmp
_mbsnbcmp_l
_mbsnbcnt
_mbsnbcnt_l
_mbsnbcoll
_mbsnbcoll_l
_mbsnbcpy
_mbsnbcpy_l
_mbsnbcpy_s
_mbsnbcpy_s_l
_mbsnbicmp
_mbsnbicmp_l
_mbsnbicoll
_mbsnbicoll_l
_mbsnbset
_mbsnbset_l
_mbsnbset_s
_mbsnbset_s_l
_mbsncat
_mbsncat_l
_mbsncat_s
_mbsncat_s_l
_mbsnccnt
_mbsnccnt_l
_mbsncmp
_mbsncmp_l
_mbsncoll
_mbsncoll_l
_mbsncpy
_mbsncpy_l
_mbsncpy_s
_mbsncpy_s_l
_mbsnextc
_mbsnextc_l
_mbsnicmp
_mbsnicmp_l
_mbsnicoll
_mbsnicoll_l
_mbsninc
_mbsninc_l
_mbsnlen
_mbsnlen_l
_mbsnset
_mbsnset_l
_mbsnset_s
_mbsnset_s_l
_mbspbrk
_mbspbrk_l
_mbsrchr
_mbsrchr_l
_mbsrev
_mbsrev_l
_mbsset
_mbsset_l
_mbsset_s
_mbsset_s_l
_mbsspn
_mbsspn_l
_mbsspnp
_mbsspnp_l
_mbsstr
_mbsstr_l
_mbstok
_mbstok_l
_mbstok_s
_mbstok_s_l
_mbstowcs_l
_mbstowcs_s_l
_mbstrlen
_mbstrlen_l
_mbstrnlen
_mbstrnlen_l
_mbsupr
_mbsupr_l
_mbsupr_s
_mbsupr_s_l
_mbtowc_l
_memccpy
_memicmp
_memicmp_l
_mkdir
_mkgmtime32
_mkgmtime64
_mktemp
_mktemp_s
_mktime32
_mktime64
_msize
_nextafter
_onexit
_open
_open_osfhandle
_outp
_outpd
_outpw
_pclose
_pctype DATA
_pgmptr DATA
_pipe
_popen
_printf_l
_printf_p
_printf_p_l
_printf_s_l
_purecall
_putch
_putch_nolock
_putenv
_putenv_s
_putw
_putwch
_putwch_nolock
_putws
_pwctype DATA
_read
_realloc_crt
_recalloc
_recalloc_crt
_resetstkoflw
_rmdir
_rmtmp
_rotl
_rotl64
_rotr
_rotr64
_scalb
_scanf_l
_scanf_s_l
_scprintf
_scprintf_l
_scprintf_p
_scprintf_p_l
_scwprintf
_scwprintf_l
_scwprintf_p
_scwprintf_p_l
_searchenv
_searchenv_s
_seh_longjmp_unwind4@4
_seh_longjmp_unwind@4
_set_SSE2_enable
_set_abort_behavior
_set_controlfp
_set_doserrno
_set_errno
_set_error_mode
_set_fmode
_set_invalid_parameter_handler
_set_malloc_crt_max_wait
_set_output_format
_set_printf_count_output
_set_purecall_handler
_seterrormode
_setjmp
_setjmp3
_setmaxstdio
_setmbcp
_setmode
_setsystime
_sleep
_snprintf
_snprintf_c
_snprintf_c_l
_snprintf_l
_snprintf_s
_snprintf_s_l
_snscanf
_snscanf_l
_snscanf_s
_snscanf_s_l
_snwprintf
_snwprintf_l
_snwprintf_s
_snwprintf_s_l
_snwscanf
_snwscanf_l
_snwscanf_s
_snwscanf_s_l
_sopen
_sopen_s
_spawnl
_spawnle
_spawnlp
_spawnlpe
_spawnv
_spawnve
_spawnvp
_spawnvpe
_splitpath
_splitpath_s
_sprintf_l
_sprintf_p
_sprintf_p_l
_sprintf_s_l
_sscanf_l
_sscanf_s_l
_stat32
_stat32i64
_stat64
_stat64i32
_statusfp
_statusfp2
_strcoll_l
_strdate
_strdate_s
_strdup
_strerror
_strerror_s
_strftime_l
_stricmp
_stricmp_l
_stricoll
_stricoll_l
_strlwr
_strlwr_l
_strlwr_s
_strlwr_s_l
_strncoll
_strncoll_l
_strnicmp
_strnicmp_l
_strnicoll
_strnicoll_l
_strnset
_strnset_s
_strrev
_strset
_strset_s
_strtime
_strtime_s
_strtod_l
_strtoi64
_strtoi64_l
_strtol_l
_strtoui64
_strtoui64_l
_strtoul_l
_strupr
_strupr_l
_strupr_s
_strupr_s_l
_strxfrm_l
_swab
_swprintf
_swprintf_c
_swprintf_c_l
_swprintf_p
_swprintf_p_l
_swprintf_s_l
_swscanf_l
_swscanf_s_l
_sys_errlist DATA
_sys_nerr DATA
_tell
_telli64
_tempnam
_time32
_time64
_timezone DATA
_tolower
_tolower_l
_toupper
_toupper_l
_towlower_l
_towupper_l
_tzname DATA
_tzset
_ui64toa
_ui64toa_s
_ui64tow
_ui64tow_s
_ultoa
_ultoa_s
_ultow
_ultow_s
_umask
_umask_s
_ungetc_nolock
_ungetch
_ungetch_nolock
_ungetwc_nolock
_ungetwch
_ungetwch_nolock
_unlink
_unloaddll@0
_unlock
_unlock_file
_utime32
_utime64
_vcprintf
_vcprintf_l
_vcprintf_p
_vcprintf_p_l
_vcprintf_s
_vcprintf_s_l
_vcwprintf
_vcwprintf_l
_vcwprintf_p
_vcwprintf_p_l
_vcwprintf_s
_vcwprintf_s_l
_vfprintf_l
_vfprintf_p
_vfprintf_p_l
_vfprintf_s_l
_vfwprintf_l
_vfwprintf_p
_vfwprintf_p_l
_vfwprintf_s_l
_vprintf_l
_vprintf_p
_vprintf_p_l
_vprintf_s_l
_vscprintf
_vscprintf_l
_vscprintf_p
_vscprintf_p_l
_vscwprintf
_vscwprintf_l
_vscwprintf_p
_vscwprintf_p_l
_vsnprintf
_vsnprintf_c
_vsnprintf_c_l
_vsnprintf_l
_vsnprintf_s
_vsnprintf_s_l
_vsnwprintf
_vsnwprintf_l
_vsnwprintf_s
_vsnwprintf_s_l
_vsprintf_l
_vsprintf_p
_vsprintf_p_l
_vsprintf_s_l
_vswprintf
_vswprintf_c
_vswprintf_c_l
_vswprintf_l
_vswprintf_p
_vswprintf_p_l
_vswprintf_s_l
_vwprintf_l
_vwprintf_p
_vwprintf_p_l
_vwprintf_s_l
_waccess
_waccess_s
_wasctime
_wasctime_s
_wassert
_wchdir
_wchmod
_wcmdln DATA
_wcreat
_wcscoll_l
_wcsdup
_wcserror
_wcserror_s
_wcsftime_l
_wcsicmp
_wcsicmp_l
_wcsicoll
_wcsicoll_l
_wcslwr
_wcslwr_l
_wcslwr_s
_wcslwr_s_l
_wcsncoll
_wcsncoll_l
_wcsnicmp
_wcsnicmp_l
_wcsnicoll
_wcsnicoll_l
_wcsnset
_wcsnset_s
_wcsrev
_wcsset
_wcsset_s
_wcstod_l
_wcstoi64
_wcstoi64_l
_wcstol_l
_wcstombs_l
_wcstombs_s_l
_wcstoui64
_wcstoui64_l
_wcstoul_l
_wcsupr
_wcsupr_l
_wcsupr_s
_wcsupr_s_l
_wcsxfrm_l
_wctime32
_wctime32_s
_wctime64
_wctime64_s
_wctomb_l
_wctomb_s_l
_wctype
_wdupenv_s
_wenviron DATA
_wexecl
_wexecle
_wexeclp
_wexeclpe
_wexecv
_wexecve
_wexecvp
_wexecvpe
_wfdopen
_wfindfirst32
_wfindfirst32i64
_wfindfirst64
_wfindfirst64i32
_wfindnext32
_wfindnext32i64
_wfindnext64
_wfindnext64i32
_wfopen
_wfopen_s
_wfreopen
_wfreopen_s
_wfsopen
_wfullpath
_wgetcwd
_wgetdcwd
_wgetdcwd_nolock
_wgetenv
_wgetenv_s
_wmakepath
_wmakepath_s
_wmkdir
_wmktemp
_wmktemp_s
_wopen
_wperror
_wpgmptr DATA
_wpopen
_wprintf_l
_wprintf_p
_wprintf_p_l
_wprintf_s_l
_wputenv
_wputenv_s
_wremove
_wrename
_write
_wrmdir
_wscanf_l
_wscanf_s_l
_wsearchenv
_wsearchenv_s
_wsetlocale
_wsopen
_wsopen_s
_wspawnl
_wspawnle
_wspawnlp
_wspawnlpe
_wspawnv
_wspawnve
_wspawnvp
_wspawnvpe
_wsplitpath
_wsplitpath_s
_wstat32
_wstat32i64
_wstat64
_wstat64i32
_wstrdate
_wstrdate_s
_wstrtime
_wstrtime_s
_wsystem
_wtempnam
_wtmpnam
_wtmpnam_s
_wtof
_wtof_l
_wtoi
_wtoi64
_wtoi64_l
_wtoi_l
_wtol
_wtol_l
_wunlink
_wutime32
_wutime64
_y0
_y1
_yn
abort
abs
acos
asctime
asctime_s
asin
atan
atan2
atexit
atof
atoi
atol
bsearch
bsearch_s
btowc
calloc
ceil
clearerr
clearerr_s
clock
cos
cosh
div
exit
exp
fabs
fclose
feof
ferror
fflush
fgetc
fgetpos
fgets
fgetwc
fgetws
floor
fmod
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
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
longjmp
malloc
mblen
mbrlen
mbrtowc
mbsrtowcs
mbsrtowcs_s
mbstowcs
mbstowcs_s
mbtowc
memchr
memcmp
memcpy
memcpy_s
memmove
memmove_s
memset
modf
perror
pow
printf
printf_s
putc
putchar
puts
putwc
putwchar
qsort
qsort_s
raise
rand
rand_s
realloc
remove
rename
rewind
scanf
scanf_s
setbuf
setlocale
setvbuf
signal
sin
sinh
sprintf
sprintf_s
sqrt
srand
sscanf
sscanf_s
strcat
strcat_s
strchr
strcmp
strcoll
strcpy
strcpy_s
strcspn
strerror
strerror_s
strftime
strlen
strncat
strncat_s
strncmp
strncpy
strncpy_s
strnlen
strpbrk
strrchr
strspn
strstr
strtod
strtok
strtok_s
strtol
strtoul
strxfrm
swprintf_s
swscanf
swscanf_s
system
tan
tanh
tmpfile
tmpfile_s
tmpnam
tmpnam_s
tolower
toupper
towlower
towupper
ungetc
ungetwc
vfprintf
vfprintf_s
vfwprintf
vfwprintf_s
vprintf
vprintf_s
vsprintf
vsprintf_s
vswprintf_s
vwprintf
vwprintf_s
wcrtomb
wcrtomb_s
wcscat
wcscat_s
wcschr
wcscmp
wcscoll
wcscpy
wcscpy_s
wcscspn
wcsftime
wcslen
wcsncat
wcsncat_s
wcsncmp
wcsncpy
wcsncpy_s
wcsnlen
wcspbrk
wcsrchr
wcsrtombs
wcsrtombs_s
wcsspn
wcsstr
wcstod
wcstok
wcstok_s
wcstol
wcstombs
wcstombs_s
wcstoul
wcsxfrm
wctob
wctomb
wctomb_s
wmemcpy_s
wmemmove_s
wprintf
wprintf_s
wscanf
wscanf_s
