From: Daniel Lehman <dlehman@esri.com>
Subject: [PATCH 1/2] concrt140: Add concrt140 stub
Message-Id: <3b753ef495f8488d94527beae5bc5114@RED-INF-MXMB-P1.esri.com>
Date: Thu, 4 Aug 2016 22:33:48 +0000

From 48c08ab4c1291800f1031d7a0b176bed2dd23ceb Mon Sep 17 00:00:00 2001
From: Daniel Lehman <dlehman@esri.com>
Date: Wed, 3 Aug 2016 16:57:08 -0700
Subject: [PATCH 1/2] concrt140: Add concrt140 stub

Signed-off-by: Daniel Lehman <dlehman@esri.com>
---
 configure.ac                    |   1 +
 dlls/concrt140/Makefile.in      |   5 +
 dlls/concrt140/concrt140.spec   | 533 ++++++++++++++++++++++++++++++++++++++++
 dlls/concrt140/concrt140_main.c |  43 ++++
 tools/make_specfiles            |   1 +
 5 files changed, 583 insertions(+)
 create mode 100644 dlls/concrt140/Makefile.in
 create mode 100644 dlls/concrt140/concrt140.spec
 create mode 100644 dlls/concrt140/concrt140_main.c

diff --git a/configure.ac b/configure.ac
index b0d8268..89a914a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2783,6 +2783,7 @@ WINE_CONFIG_DLL(commdlg.dll16,enable_win16)
 WINE_CONFIG_DLL(compobj.dll16,enable_win16)
 WINE_CONFIG_DLL(compstui,,[implib])
 WINE_CONFIG_DLL(comsvcs,,[implib])
+WINE_CONFIG_DLL(concrt140,,[implib])
 WINE_CONFIG_DLL(connect)
 WINE_CONFIG_DLL(credui,,[clean,implib])
 WINE_CONFIG_TEST(dlls/credui/tests)
diff --git a/dlls/concrt140/Makefile.in b/dlls/concrt140/Makefile.in
new file mode 100644
index 0000000..e6eb823
--- /dev/null
+++ b/dlls/concrt140/Makefile.in
@@ -0,0 +1,5 @@
+MODULE    = concrt140.dll
+
+
+C_SRCS = \
+	concrt140_main.c
diff --git a/dlls/concrt140/concrt140.spec b/dlls/concrt140/concrt140.spec
new file mode 100644
index 0000000..b66edee
--- /dev/null
+++ b/dlls/concrt140/concrt140.spec
@@ -0,0 +1,533 @@
+@ thiscall -arch=i386 ??0?$_SpinWait@$00@details@Concurrency@@QAE@P6AXXZ@Z(ptr ptr) msvcr120.??0?$_SpinWait@$00@details@Concurrency@@QAE@P6AXXZ@Z
+@ cdecl -arch=win64 ??0?$_SpinWait@$00@details@Concurrency@@QEAA@P6AXXZ@Z(ptr ptr) msvcr120.??0?$_SpinWait@$00@details@Concurrency@@QEAA@P6AXXZ@Z
+@ thiscall -arch=i386 ??0?$_SpinWait@$0A@@details@Concurrency@@QAE@P6AXXZ@Z(ptr ptr) msvcr120.??0?$_SpinWait@$0A@@details@Concurrency@@QAE@P6AXXZ@Z
+@ cdecl -arch=win64 ??0?$_SpinWait@$0A@@details@Concurrency@@QEAA@P6AXXZ@Z(ptr ptr) msvcr120.??0?$_SpinWait@$0A@@details@Concurrency@@QEAA@P6AXXZ@Z
+@ stub -arch=win32 ??0SchedulerPolicy@Concurrency@@QAA@IZZ
+@ stub -arch=win64 ??0SchedulerPolicy@Concurrency@@QEAA@AEBV01@@Z
+@ stub -arch=i386 ??0SchedulerPolicy@Concurrency@@QAE@ABV01@@Z
+@ stub -arch=win64 ??0SchedulerPolicy@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??0SchedulerPolicy@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0SchedulerPolicy@Concurrency@@QEAA@_KZZ
+@ stub -arch=i386 ??0_Cancellation_beacon@details@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0_Cancellation_beacon@details@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??0_Concurrent_queue_base_v4@details@Concurrency@@IAE@I@Z
+@ stub -arch=win64 ??0_Concurrent_queue_base_v4@details@Concurrency@@IEAA@_K@Z
+@ stub -arch=i386 ??0_Concurrent_queue_iterator_base_v4@details@Concurrency@@IAE@ABV_Concurrent_queue_base_v4@12@@Z
+@ stub -arch=win64 ??0_Concurrent_queue_iterator_base_v4@details@Concurrency@@IEAA@AEBV_Concurrent_queue_base_v4@12@@Z
+@ stub -arch=i386 ??0_Condition_variable@details@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0_Condition_variable@details@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??0_Context@details@Concurrency@@QAE@PAVContext@2@@Z
+@ stub -arch=win64 ??0_Context@details@Concurrency@@QEAA@PEAVContext@2@@Z
+@ stub -arch=i386 ??0_NonReentrantBlockingLock@details@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0_NonReentrantBlockingLock@details@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??0_NonReentrantPPLLock@details@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0_NonReentrantPPLLock@details@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??0_ReaderWriterLock@details@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0_ReaderWriterLock@details@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??0_ReentrantBlockingLock@details@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0_ReentrantBlockingLock@details@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??0_ReentrantLock@details@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0_ReentrantLock@details@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??0_ReentrantPPLLock@details@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0_ReentrantPPLLock@details@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??0_Runtime_object@details@Concurrency@@QAE@H@Z
+@ stub -arch=win64 ??0_Runtime_object@details@Concurrency@@QEAA@H@Z
+@ stub -arch=i386 ??0_Runtime_object@details@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0_Runtime_object@details@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??0_Scheduler@details@Concurrency@@QAE@PAVScheduler@2@@Z
+@ stub -arch=win64 ??0_Scheduler@details@Concurrency@@QEAA@PEAVScheduler@2@@Z
+@ stub -arch=i386 ??0_Scoped_lock@_NonReentrantPPLLock@details@Concurrency@@QAE@AAV123@@Z
+@ stub -arch=win64 ??0_Scoped_lock@_NonReentrantPPLLock@details@Concurrency@@QEAA@AEAV123@@Z
+@ stub -arch=i386 ??0_Scoped_lock@_ReentrantPPLLock@details@Concurrency@@QAE@AAV123@@Z
+@ stub -arch=win64 ??0_Scoped_lock@_ReentrantPPLLock@details@Concurrency@@QEAA@AEAV123@@Z
+@ stub -arch=i386 ??0_SpinLock@details@Concurrency@@QAE@ACJ@Z
+@ stub -arch=win64 ??0_SpinLock@details@Concurrency@@QEAA@AECJ@Z
+@ stub -arch=i386 ??0_StructuredTaskCollection@details@Concurrency@@QAE@PAV_CancellationTokenState@12@@Z
+@ stub -arch=win64 ??0_StructuredTaskCollection@details@Concurrency@@QEAA@PEAV_CancellationTokenState@12@@Z
+@ stub -arch=i386 ??0_TaskCollection@details@Concurrency@@QAE@PAV_CancellationTokenState@12@@Z
+@ stub -arch=win64 ??0_TaskCollection@details@Concurrency@@QEAA@PEAV_CancellationTokenState@12@@Z
+@ stub -arch=i386 ??0_TaskCollection@details@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0_TaskCollection@details@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??0_Timer@details@Concurrency@@IAE@I_N@Z
+@ stub -arch=win64 ??0_Timer@details@Concurrency@@IEAA@I_N@Z
+@ stub -arch=i386 ??0agent@Concurrency@@QAE@AAVScheduleGroup@1@@Z
+@ stub -arch=win64 ??0agent@Concurrency@@QEAA@AEAVScheduleGroup@1@@Z
+@ stub -arch=i386 ??0agent@Concurrency@@QAE@AAVScheduler@1@@Z
+@ stub -arch=win64 ??0agent@Concurrency@@QEAA@AEAVScheduler@1@@Z
+@ stub -arch=i386 ??0agent@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0agent@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??0bad_target@Concurrency@@QAE@PBD@Z
+@ stub -arch=win64 ??0bad_target@Concurrency@@QEAA@PEBD@Z
+@ stub -arch=i386 ??0bad_target@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0bad_target@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??0context_self_unblock@Concurrency@@QAE@PBD@Z
+@ stub -arch=win64 ??0context_self_unblock@Concurrency@@QEAA@PEBD@Z
+@ stub -arch=i386 ??0context_self_unblock@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0context_self_unblock@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??0context_unblock_unbalanced@Concurrency@@QAE@PBD@Z
+@ stub -arch=win64 ??0context_unblock_unbalanced@Concurrency@@QEAA@PEBD@Z
+@ stub -arch=i386 ??0context_unblock_unbalanced@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0context_unblock_unbalanced@Concurrency@@QEAA@XZ
+@ thiscall -arch=i386 ??0critical_section@Concurrency@@QAE@XZ(ptr) msvcr120.??0critical_section@Concurrency@@QAE@XZ
+@ cdecl -arch=win64 ??0critical_section@Concurrency@@QEAA@XZ(ptr) msvcr120.??0critical_section@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??0default_scheduler_exists@Concurrency@@QAE@PBD@Z
+@ stub -arch=win64 ??0default_scheduler_exists@Concurrency@@QEAA@PEBD@Z
+@ stub -arch=i386 ??0default_scheduler_exists@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0default_scheduler_exists@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??0event@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0event@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??0improper_lock@Concurrency@@QAE@PBD@Z
+@ stub -arch=win64 ??0improper_lock@Concurrency@@QEAA@PEBD@Z
+@ stub -arch=i386 ??0improper_lock@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0improper_lock@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??0improper_scheduler_attach@Concurrency@@QAE@PBD@Z
+@ stub -arch=win64 ??0improper_scheduler_attach@Concurrency@@QEAA@PEBD@Z
+@ stub -arch=i386 ??0improper_scheduler_attach@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0improper_scheduler_attach@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??0improper_scheduler_detach@Concurrency@@QAE@PBD@Z
+@ stub -arch=win64 ??0improper_scheduler_detach@Concurrency@@QEAA@PEBD@Z
+@ stub -arch=i386 ??0improper_scheduler_detach@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0improper_scheduler_detach@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??0improper_scheduler_reference@Concurrency@@QAE@PBD@Z
+@ stub -arch=win64 ??0improper_scheduler_reference@Concurrency@@QEAA@PEBD@Z
+@ stub -arch=i386 ??0improper_scheduler_reference@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0improper_scheduler_reference@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??0invalid_link_target@Concurrency@@QAE@PBD@Z
+@ stub -arch=win64 ??0invalid_link_target@Concurrency@@QEAA@PEBD@Z
+@ stub -arch=i386 ??0invalid_link_target@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0invalid_link_target@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??0invalid_multiple_scheduling@Concurrency@@QAE@PBD@Z
+@ stub -arch=win64 ??0invalid_multiple_scheduling@Concurrency@@QEAA@PEBD@Z
+@ stub -arch=i386 ??0invalid_multiple_scheduling@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0invalid_multiple_scheduling@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??0invalid_oversubscribe_operation@Concurrency@@QAE@PBD@Z
+@ stub -arch=win64 ??0invalid_oversubscribe_operation@Concurrency@@QEAA@PEBD@Z
+@ stub -arch=i386 ??0invalid_oversubscribe_operation@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0invalid_oversubscribe_operation@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??0invalid_scheduler_policy_key@Concurrency@@QAE@PBD@Z
+@ stub -arch=win64 ??0invalid_scheduler_policy_key@Concurrency@@QEAA@PEBD@Z
+@ stub -arch=i386 ??0invalid_scheduler_policy_key@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0invalid_scheduler_policy_key@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??0invalid_scheduler_policy_thread_specification@Concurrency@@QAE@PBD@Z
+@ stub -arch=win64 ??0invalid_scheduler_policy_thread_specification@Concurrency@@QEAA@PEBD@Z
+@ stub -arch=win32 ??0invalid_scheduler_policy_thread_specification@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0invalid_scheduler_policy_thread_specification@Concurrency@@QEAA@XZ
+@ stub -arch=win32 ??0invalid_scheduler_policy_value@Concurrency@@QAE@PBD@Z
+@ stub -arch=win64 ??0invalid_scheduler_policy_value@Concurrency@@QEAA@PEBD@Z
+@ stub -arch=win32 ??0invalid_scheduler_policy_value@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0invalid_scheduler_policy_value@Concurrency@@QEAA@XZ
+@ stub -arch=win32 ??0message_not_found@Concurrency@@QAE@PBD@Z
+@ stub -arch=win64 ??0message_not_found@Concurrency@@QEAA@PEBD@Z
+@ stub -arch=win32 ??0message_not_found@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0message_not_found@Concurrency@@QEAA@XZ
+@ stub -arch=win32 ??0missing_wait@Concurrency@@QAE@PBD@Z
+@ stub -arch=win64 ??0missing_wait@Concurrency@@QEAA@PEBD@Z
+@ stub -arch=win32 ??0missing_wait@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0missing_wait@Concurrency@@QEAA@XZ
+@ stub -arch=win32 ??0nested_scheduler_missing_detach@Concurrency@@QAE@PBD@Z
+@ stub -arch=win64 ??0nested_scheduler_missing_detach@Concurrency@@QEAA@PEBD@Z
+@ stub -arch=win32 ??0nested_scheduler_missing_detach@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0nested_scheduler_missing_detach@Concurrency@@QEAA@XZ
+@ stub -arch=win32 ??0operation_timed_out@Concurrency@@QAE@PBD@Z
+@ stub -arch=win64 ??0operation_timed_out@Concurrency@@QEAA@PEBD@Z
+@ stub -arch=win32 ??0operation_timed_out@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0operation_timed_out@Concurrency@@QEAA@XZ
+@ stub -arch=win32 ??0reader_writer_lock@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0reader_writer_lock@Concurrency@@QEAA@XZ
+@ stub -arch=win32 ??0scheduler_not_attached@Concurrency@@QAE@PBD@Z
+@ stub -arch=win64 ??0scheduler_not_attached@Concurrency@@QEAA@PEBD@Z
+@ stub -arch=win32 ??0scheduler_not_attached@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0scheduler_not_attached@Concurrency@@QEAA@XZ
+@ stub -arch=win32 ??0scheduler_resource_allocation_error@Concurrency@@QAE@J@Z
+@ stub -arch=win64 ??0scheduler_resource_allocation_error@Concurrency@@QEAA@J@Z
+@ stub -arch=win32 ??0scheduler_resource_allocation_error@Concurrency@@QAE@PBDJ@Z
+@ stub -arch=win64 ??0scheduler_resource_allocation_error@Concurrency@@QEAA@PEBDJ@Z
+@ stub -arch=win32 ??0scheduler_worker_creation_error@Concurrency@@QAE@J@Z
+@ stub -arch=win64 ??0scheduler_worker_creation_error@Concurrency@@QEAA@J@Z
+@ stub -arch=win32 ??0scheduler_worker_creation_error@Concurrency@@QAE@PBDJ@Z
+@ stub -arch=win64 ??0scheduler_worker_creation_error@Concurrency@@QEAA@PEBDJ@Z
+@ thiscall -arch=i386 ??0scoped_lock@critical_section@Concurrency@@QAE@AAV12@@Z(ptr ptr) msvcr120.??0scoped_lock@critical_section@Concurrency@@QAE@AAV12@@Z
+@ cdecl -arch=win64 ??0scoped_lock@critical_section@Concurrency@@QEAA@AEAV12@@Z(ptr ptr) msvcr120.??0scoped_lock@critical_section@Concurrency@@QEAA@AEAV12@@Z
+@ stub -arch=win32 ??0scoped_lock@reader_writer_lock@Concurrency@@QAE@AAV12@@Z
+@ stub -arch=win64 ??0scoped_lock@reader_writer_lock@Concurrency@@QEAA@AEAV12@@Z
+@ stub -arch=i386 ??0scoped_lock_read@reader_writer_lock@Concurrency@@QAE@AAV12@@Z
+@ stub -arch=win64 ??0scoped_lock_read@reader_writer_lock@Concurrency@@QEAA@AEAV12@@Z
+@ stub -arch=i386 ??0unsupported_os@Concurrency@@QAE@PBD@Z
+@ stub -arch=win64 ??0unsupported_os@Concurrency@@QEAA@PEBD@Z
+@ stub -arch=i386 ??0unsupported_os@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??0unsupported_os@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??1SchedulerPolicy@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??1SchedulerPolicy@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??1_Cancellation_beacon@details@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??1_Cancellation_beacon@details@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??1_Concurrent_queue_base_v4@details@Concurrency@@MAE@XZ
+@ stub -arch=win64 ??1_Concurrent_queue_base_v4@details@Concurrency@@MEAA@XZ
+@ stub -arch=i386 ??1_Concurrent_queue_iterator_base_v4@details@Concurrency@@IAE@XZ
+@ stub -arch=win64 ??1_Concurrent_queue_iterator_base_v4@details@Concurrency@@IEAA@XZ
+@ stub -arch=i386 ??1_Concurrent_vector_base_v4@details@Concurrency@@IAE@XZ
+@ stub -arch=win64 ??1_Concurrent_vector_base_v4@details@Concurrency@@IEAA@XZ
+@ stub -arch=i386 ??1_Condition_variable@details@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??1_Condition_variable@details@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??1_NonReentrantBlockingLock@details@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??1_NonReentrantBlockingLock@details@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??1_ReentrantBlockingLock@details@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??1_ReentrantBlockingLock@details@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??1_Scoped_lock@_NonReentrantPPLLock@details@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??1_Scoped_lock@_NonReentrantPPLLock@details@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??1_Scoped_lock@_ReentrantPPLLock@details@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??1_Scoped_lock@_ReentrantPPLLock@details@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??1_SpinLock@details@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??1_SpinLock@details@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??1_StructuredTaskCollection@details@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??1_StructuredTaskCollection@details@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??1_TaskCollection@details@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??1_TaskCollection@details@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??1_Timer@details@Concurrency@@MAE@XZ
+@ stub -arch=win64 ??1_Timer@details@Concurrency@@MEAA@XZ
+@ stub -arch=i386 ??1agent@Concurrency@@UAE@XZ
+@ stub -arch=win64 ??1agent@Concurrency@@UEAA@XZ
+@ thiscall -arch=i386 ??1critical_section@Concurrency@@QAE@XZ(ptr) msvcr120.??1critical_section@Concurrency@@QAE@XZ
+@ cdecl -arch=win64 ??1critical_section@Concurrency@@QEAA@XZ(ptr) msvcr120.??1critical_section@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??1event@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??1event@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??1reader_writer_lock@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??1reader_writer_lock@Concurrency@@QEAA@XZ
+@ thiscall -arch=i386 ??1scoped_lock@critical_section@Concurrency@@QAE@XZ(ptr) msvcr120.??1scoped_lock@critical_section@Concurrency@@QAE@XZ
+@ cdecl -arch=win64 ??1scoped_lock@critical_section@Concurrency@@QEAA@XZ(ptr) msvcr120.??1scoped_lock@critical_section@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??1scoped_lock@reader_writer_lock@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??1scoped_lock@reader_writer_lock@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??1scoped_lock_read@reader_writer_lock@Concurrency@@QAE@XZ
+@ stub -arch=win64 ??1scoped_lock_read@reader_writer_lock@Concurrency@@QEAA@XZ
+@ stub -arch=i386 ??4?$_SpinWait@$00@details@Concurrency@@QAEAAV012@$$QAV012@@Z
+@ stub -arch=win64 ??4?$_SpinWait@$00@details@Concurrency@@QEAAAEAV012@$$QEAV012@@Z
+@ stub -arch=i386 ??4?$_SpinWait@$00@details@Concurrency@@QAEAAV012@ABV012@@Z
+@ stub -arch=win64 ??4?$_SpinWait@$00@details@Concurrency@@QEAAAEAV012@AEBV012@@Z
+@ stub -arch=i386 ??4?$_SpinWait@$0A@@details@Concurrency@@QAEAAV012@$$QAV012@@Z
+@ stub -arch=win64 ??4?$_SpinWait@$0A@@details@Concurrency@@QEAAAEAV012@$$QEAV012@@Z
+@ stub -arch=i386 ??4?$_SpinWait@$0A@@details@Concurrency@@QAEAAV012@ABV012@@Z
+@ stub -arch=win64 ??4?$_SpinWait@$0A@@details@Concurrency@@QEAAAEAV012@AEBV012@@Z
+@ stub -arch=i386 ??4SchedulerPolicy@Concurrency@@QAEAAV01@ABV01@@Z
+@ stub -arch=win64 ??4SchedulerPolicy@Concurrency@@QEAAAEAV01@AEBV01@@Z
+@ thiscall -arch=i386 ??_F?$_SpinWait@$00@details@Concurrency@@QAEXXZ(ptr) msvcr120.??_F?$_SpinWait@$00@details@Concurrency@@QAEXXZ
+@ cdecl -arch=win64 ??_F?$_SpinWait@$00@details@Concurrency@@QEAAXXZ(ptr) msvcr120.??_F?$_SpinWait@$00@details@Concurrency@@QEAAXXZ
+@ thiscall -arch=i386 ??_F?$_SpinWait@$0A@@details@Concurrency@@QAEXXZ(ptr) msvcr120.??_F?$_SpinWait@$0A@@details@Concurrency@@QAEXXZ
+@ cdecl -arch=win64 ??_F?$_SpinWait@$0A@@details@Concurrency@@QEAAXXZ(ptr) msvcr120.??_F?$_SpinWait@$0A@@details@Concurrency@@QEAAXXZ
+@ stub -arch=i386 ??_F_Context@details@Concurrency@@QAEXXZ
+@ stub -arch=win64 ??_F_Context@details@Concurrency@@QEAAXXZ
+@ stub -arch=i386 ??_F_Scheduler@details@Concurrency@@QAEXXZ
+@ stub -arch=win64 ??_F_Scheduler@details@Concurrency@@QEAAXXZ
+# extern ?AgentEventGuid@Concurrency@@3U_GUID@@B
+@ stub -arch=win32 ?Alloc@Concurrency@@YAPAXI@Z
+@ stub -arch=win64 ?Alloc@Concurrency@@YAPEAX_K@Z
+@ stub -arch=win64 ?Block@Context@Concurrency@@SAXXZ
+# extern ?ChoreEventGuid@Concurrency@@3U_GUID@@B
+# extern ?ConcRTEventGuid@Concurrency@@3U_GUID@@B
+# extern ?ConcRT_ProviderGuid@Concurrency@@3U_GUID@@B
+# extern ?ContextEventGuid@Concurrency@@3U_GUID@@B
+@ stub -arch=win32 ?Create@CurrentScheduler@Concurrency@@SAXABVSchedulerPolicy@2@@Z
+@ stub -arch=win64 ?Create@CurrentScheduler@Concurrency@@SAXAEBVSchedulerPolicy@2@@Z
+@ stub -arch=win32 ?Create@Scheduler@Concurrency@@SAPAV12@ABVSchedulerPolicy@2@@Z
+@ stub -arch=win64 ?Create@Scheduler@Concurrency@@SAPEAV12@AEBVSchedulerPolicy@2@@Z
+@ stub -arch=win32 ?CreateResourceManager@Concurrency@@YAPAUIResourceManager@1@XZ
+@ stub -arch=win64 ?CreateResourceManager@Concurrency@@YAPEAUIResourceManager@1@XZ
+@ stub -arch=win32 ?CreateScheduleGroup@CurrentScheduler@Concurrency@@SAPAVScheduleGroup@2@AAVlocation@2@@Z
+@ stub -arch=win64 ?CreateScheduleGroup@CurrentScheduler@Concurrency@@SAPEAVScheduleGroup@2@AEAVlocation@2@@Z
+@ stub -arch=win32 ?CreateScheduleGroup@CurrentScheduler@Concurrency@@SAPAVScheduleGroup@2@XZ
+@ stub -arch=win64 ?CreateScheduleGroup@CurrentScheduler@Concurrency@@SAPEAVScheduleGroup@2@XZ
+@ stub -arch=win32 ?CurrentContext@Context@Concurrency@@SAPAV12@XZ
+@ stub -arch=win64 ?CurrentContext@Context@Concurrency@@SAPEAV12@XZ
+@ stub -arch=win64 ?Detach@CurrentScheduler@Concurrency@@SAXXZ
+@ stub -arch=win64 ?DisableTracing@Concurrency@@YAJXZ
+@ stub -arch=win64 ?EnableTracing@Concurrency@@YAJXZ
+@ stub -arch=win32 ?Free@Concurrency@@YAXPAX@Z
+@ stub -arch=win64 ?Free@Concurrency@@YAXPEAX@Z
+@ stub -arch=win32 ?Get@CurrentScheduler@Concurrency@@SAPAVScheduler@2@XZ
+@ stub -arch=win64 ?Get@CurrentScheduler@Concurrency@@SAPEAVScheduler@2@XZ
+@ stub -arch=win64 ?GetExecutionContextId@Concurrency@@YAIXZ
+@ stub -arch=win64 ?GetNumberOfVirtualProcessors@CurrentScheduler@Concurrency@@SAIXZ
+@ stub -arch=win64 ?GetOSVersion@Concurrency@@YA?AW4OSVersion@IResourceManager@1@XZ
+@ stub -arch=win64 ?GetPolicy@CurrentScheduler@Concurrency@@SA?AVSchedulerPolicy@2@XZ
+@ stub -arch=i386 ?GetPolicyValue@SchedulerPolicy@Concurrency@@QBEIW4PolicyElementKey@2@@Z
+@ stub -arch=win64 ?GetPolicyValue@SchedulerPolicy@Concurrency@@QEBAIW4PolicyElementKey@2@@Z
+@ stub -arch=win64 ?GetProcessorCount@Concurrency@@YAIXZ
+@ stub -arch=win64 ?GetProcessorNodeCount@Concurrency@@YAIXZ
+@ stub -arch=win64 ?GetSchedulerId@Concurrency@@YAIXZ
+@ stub -arch=win32 ?GetSharedTimerQueue@details@Concurrency@@YAPAXXZ
+@ stub -arch=win64 ?GetSharedTimerQueue@details@Concurrency@@YAPEAXXZ
+@ stub -arch=win64 ?Id@Context@Concurrency@@SAIXZ
+@ stub -arch=win64 ?Id@CurrentScheduler@Concurrency@@SAIXZ
+@ stub -arch=win32 ?IsAvailableLocation@CurrentScheduler@Concurrency@@SA_NABVlocation@2@@Z
+@ stub -arch=win64 ?IsAvailableLocation@CurrentScheduler@Concurrency@@SA_NAEBVlocation@2@@Z
+@ stub -arch=win64 ?IsCurrentTaskCollectionCanceling@Context@Concurrency@@SA_NXZ
+# extern ?LockEventGuid@Concurrency@@3U_GUID@@B
+@ stub -arch=win32 ?Log2@details@Concurrency@@YAKI@Z
+@ stub -arch=win64 ?Log2@details@Concurrency@@YAK_K@Z
+@ stub -arch=win32 ?NFS_Allocate@details@Concurrency@@YAPAXIIPAX@Z
+@ stub -arch=win64 ?NFS_Allocate@details@Concurrency@@YAPEAX_K0PEAX@Z
+@ stub -arch=win32 ?NFS_Free@details@Concurrency@@YAXPAX@Z
+@ stub -arch=win64 ?NFS_Free@details@Concurrency@@YAXPEAX@Z
+@ stub -arch=win32 ?NFS_GetLineSize@details@Concurrency@@YAIXZ
+@ stub -arch=win64 ?NFS_GetLineSize@details@Concurrency@@YA_KXZ
+@ stub -arch=win64 ?Oversubscribe@Context@Concurrency@@SAX_N@Z
+# extern ?PPLParallelForEventGuid@Concurrency@@3U_GUID@@B
+# extern ?PPLParallelForeachEventGuid@Concurrency@@3U_GUID@@B
+# extern ?PPLParallelInvokeEventGuid@Concurrency@@3U_GUID@@B
+@ stub -arch=win32 ?RegisterShutdownEvent@CurrentScheduler@Concurrency@@SAXPAX@Z
+@ stub -arch=win64 ?RegisterShutdownEvent@CurrentScheduler@Concurrency@@SAXPEAX@Z
+@ stub -arch=win64 ?ResetDefaultSchedulerPolicy@Scheduler@Concurrency@@SAXXZ
+# extern ?ResourceManagerEventGuid@Concurrency@@3U_GUID@@B
+# extern ?ScheduleGroupEventGuid@Concurrency@@3U_GUID@@B
+@ stub -arch=win64 ?ScheduleGroupId@Context@Concurrency@@SAIXZ
+@ stub -arch=win32 ?ScheduleTask@CurrentScheduler@Concurrency@@SAXP6AXPAX@Z0@Z
+@ stub -arch=win64 ?ScheduleTask@CurrentScheduler@Concurrency@@SAXP6AXPEAX@Z0@Z
+@ stub -arch=win32 ?ScheduleTask@CurrentScheduler@Concurrency@@SAXP6AXPAX@Z0AAVlocation@2@@Z
+@ stub -arch=win64 ?ScheduleTask@CurrentScheduler@Concurrency@@SAXP6AXPEAX@Z0AEAVlocation@2@@Z
+# extern ?SchedulerEventGuid@Concurrency@@3U_GUID@@B
+@ stub -arch=i386 ?SetConcurrencyLimits@SchedulerPolicy@Concurrency@@QAEXII@Z
+@ stub -arch=win64 ?SetConcurrencyLimits@SchedulerPolicy@Concurrency@@QEAAXII@Z
+@ stub -arch=win32 ?SetDefaultSchedulerPolicy@Scheduler@Concurrency@@SAXABVSchedulerPolicy@2@@Z
+@ stub -arch=win64 ?SetDefaultSchedulerPolicy@Scheduler@Concurrency@@SAXAEBVSchedulerPolicy@2@@Z
+@ stub -arch=i386 ?SetPolicyValue@SchedulerPolicy@Concurrency@@QAEIW4PolicyElementKey@2@I@Z
+@ stub -arch=win64 ?SetPolicyValue@SchedulerPolicy@Concurrency@@QEAAIW4PolicyElementKey@2@I@Z
+# extern ?VirtualProcessorEventGuid@Concurrency@@3U_GUID@@B
+@ stub -arch=win64 ?VirtualProcessorId@Context@Concurrency@@SAIXZ
+@ stub -arch=win64 ?Yield@Context@Concurrency@@SAXXZ
+@ stub -arch=i386 ?_Abort@_StructuredTaskCollection@details@Concurrency@@AAEXXZ
+@ stub -arch=win64 ?_Abort@_StructuredTaskCollection@details@Concurrency@@AEAAXXZ
+@ stub -arch=i386 ?_Acquire@_NonReentrantBlockingLock@details@Concurrency@@QAEXXZ
+@ stub -arch=win64 ?_Acquire@_NonReentrantBlockingLock@details@Concurrency@@QEAAXXZ
+@ stub -arch=i386 ?_Acquire@_NonReentrantPPLLock@details@Concurrency@@QAEXPAX@Z
+@ stub -arch=win64 ?_Acquire@_NonReentrantPPLLock@details@Concurrency@@QEAAXPEAX@Z
+@ stub -arch=i386 ?_Acquire@_ReentrantBlockingLock@details@Concurrency@@QAEXXZ
+@ stub -arch=win64 ?_Acquire@_ReentrantBlockingLock@details@Concurrency@@QEAAXXZ
+@ stub -arch=i386 ?_Acquire@_ReentrantLock@details@Concurrency@@QAEXXZ
+@ stub -arch=win64 ?_Acquire@_ReentrantLock@details@Concurrency@@QEAAXXZ
+@ stub -arch=i386 ?_Acquire@_ReentrantPPLLock@details@Concurrency@@QAEXPAX@Z
+@ stub -arch=win64 ?_Acquire@_ReentrantPPLLock@details@Concurrency@@QEAAXPEAX@Z
+@ stub -arch=i386 ?_AcquireRead@_ReaderWriterLock@details@Concurrency@@QAEXXZ
+@ stub -arch=win64 ?_AcquireRead@_ReaderWriterLock@details@Concurrency@@QEAAXXZ
+@ stub -arch=i386 ?_AcquireWrite@_ReaderWriterLock@details@Concurrency@@QAEXXZ
+@ stub -arch=win64 ?_AcquireWrite@_ReaderWriterLock@details@Concurrency@@QEAAXXZ
+@ stub -arch=i386 ?_Advance@_Concurrent_queue_iterator_base_v4@details@Concurrency@@IAEXXZ
+@ stub -arch=win64 ?_Advance@_Concurrent_queue_iterator_base_v4@details@Concurrency@@IEAAXXZ
+@ stub -arch=i386 ?_Assign@_Concurrent_queue_iterator_base_v4@details@Concurrency@@IAEXABV123@@Z
+@ stub -arch=win64 ?_Assign@_Concurrent_queue_iterator_base_v4@details@Concurrency@@IEAAXAEBV123@@Z
+# extern ?_Byte_reverse_table@details@Concurrency@@3QBEB
+@ stub -arch=i386 ?_Cancel@_StructuredTaskCollection@details@Concurrency@@QAEXXZ
+@ stub -arch=win64 ?_Cancel@_StructuredTaskCollection@details@Concurrency@@QEAAXXZ
+@ stub -arch=i386 ?_Cancel@_TaskCollection@details@Concurrency@@QAEXXZ
+@ stub -arch=win64 ?_Cancel@_TaskCollection@details@Concurrency@@QEAAXXZ
+@ stub -arch=i386 ?_CheckTaskCollection@_UnrealizedChore@details@Concurrency@@IAEXXZ
+@ stub -arch=win64 ?_CheckTaskCollection@_UnrealizedChore@details@Concurrency@@IEAAXXZ
+@ stub -arch=i386 ?_CleanupToken@_StructuredTaskCollection@details@Concurrency@@AAEXXZ
+@ stub -arch=win64 ?_CleanupToken@_StructuredTaskCollection@details@Concurrency@@AEAAXXZ
+@ stub -arch=win32 ?_ConcRT_CoreAssert@details@Concurrency@@YAXPBD0H@Z
+@ stub -arch=win64 ?_ConcRT_CoreAssert@details@Concurrency@@YAXPEBD0H@Z
+@ stub -arch=win32 ?_ConcRT_Trace@details@Concurrency@@YAXHPB_WZZ
+@ stub -arch=win64 ?_ConcRT_Trace@details@Concurrency@@YAXHPEB_WZZ
+@ stub -arch=i386 ?_Confirm_cancel@_Cancellation_beacon@details@Concurrency@@QAE_NXZ
+@ stub -arch=win64 ?_Confirm_cancel@_Cancellation_beacon@details@Concurrency@@QEAA_NXZ
+@ stub -arch=win64 ?_CurrentContext@_Context@details@Concurrency@@SA?AV123@XZ
+@ stub ?_Current_node@location@Concurrency@@SA?AV12@XZ
+@ stub -arch=i386 ?_Destroy@_AsyncTaskCollection@details@Concurrency@@EAEXXZ
+@ stub -arch=win64 ?_Destroy@_AsyncTaskCollection@details@Concurrency@@EEAAXXZ
+@ thiscall -arch=i386 ?_DoYield@?$_SpinWait@$00@details@Concurrency@@IAEXXZ(ptr) msvcr120.?_DoYield@?$_SpinWait@$00@details@Concurrency@@IAEXXZ
+@ cdecl -arch=win64 ?_DoYield@?$_SpinWait@$00@details@Concurrency@@IEAAXXZ(ptr) msvcr120.?_DoYield@?$_SpinWait@$00@details@Concurrency@@IEAAXXZ
+@ thiscall -arch=i386 ?_DoYield@?$_SpinWait@$0A@@details@Concurrency@@IAEXXZ(ptr) msvcr120.?_DoYield@?$_SpinWait@$0A@@details@Concurrency@@IAEXXZ
+@ cdecl -arch=win64 ?_DoYield@?$_SpinWait@$0A@@details@Concurrency@@IEAAXXZ(ptr) msvcr120.?_DoYield@?$_SpinWait@$0A@@details@Concurrency@@IEAAXXZ
+@ stub -arch=win64 ?_Get@_CurrentScheduler@details@Concurrency@@SA?AV_Scheduler@23@XZ
+@ stub -arch=win32 ?_GetCombinableSize@details@Concurrency@@YAIXZ
+@ stub -arch=win64 ?_GetCombinableSize@details@Concurrency@@YA_KXZ
+@ stub -arch=win32 ?_GetConcRTTraceInfo@Concurrency@@YAPBU_CONCRT_TRACE_INFO@details@1@XZ
+@ stub -arch=win64 ?_GetConcRTTraceInfo@Concurrency@@YAPEBU_CONCRT_TRACE_INFO@details@1@XZ
+@ cdecl ?_GetConcurrency@details@Concurrency@@YAIXZ() msvcr120.?_GetConcurrency@details@Concurrency@@YAIXZ
+@ stub -arch=win32 ?_GetCurrentInlineDepth@_StackGuard@details@Concurrency@@CAAAIXZ
+@ stub -arch=win64 ?_GetCurrentInlineDepth@_StackGuard@details@Concurrency@@CAAEA_KXZ
+@ stub -arch=win64 ?_GetNumberOfVirtualProcessors@_CurrentScheduler@details@Concurrency@@SAIXZ
+@ stub -arch=i386 ?_GetScheduler@_Scheduler@details@Concurrency@@QAEPAVScheduler@3@XZ
+@ stub -arch=win64 ?_GetScheduler@_Scheduler@details@Concurrency@@QEAAPEAVScheduler@3@XZ
+@ stub -arch=win64 ?_Id@_CurrentScheduler@details@Concurrency@@SAIXZ
+@ stub -arch=i386 ?_Internal_assign@_Concurrent_vector_base_v4@details@Concurrency@@IAEXABV123@IP6AXPAXI@ZP6AX1PBXI@Z4@Z
+@ stub -arch=win64 ?_Internal_assign@_Concurrent_vector_base_v4@details@Concurrency@@IEAAXAEBV123@_KP6AXPEAX1@ZP6AX2PEBX1@Z5@Z
+@ stub -arch=i386 ?_Internal_capacity@_Concurrent_vector_base_v4@details@Concurrency@@IBEIXZ
+@ stub -arch=win64 ?_Internal_capacity@_Concurrent_vector_base_v4@details@Concurrency@@IEBA_KXZ
+@ stub -arch=i386 ?_Internal_clear@_Concurrent_vector_base_v4@details@Concurrency@@IAEIP6AXPAXI@Z@Z
+@ stub -arch=win64 ?_Internal_clear@_Concurrent_vector_base_v4@details@Concurrency@@IEAA_KP6AXPEAX_K@Z@Z
+@ stub -arch=i386 ?_Internal_compact@_Concurrent_vector_base_v4@details@Concurrency@@IAEPAXIPAXP6AX0I@ZP6AX0PBXI@Z@Z
+@ stub -arch=win64 ?_Internal_compact@_Concurrent_vector_base_v4@details@Concurrency@@IEAAPEAX_KPEAXP6AX10@ZP6AX1PEBX0@Z@Z
+@ stub -arch=i386 ?_Internal_copy@_Concurrent_vector_base_v4@details@Concurrency@@IAEXABV123@IP6AXPAXPBXI@Z@Z
+@ stub -arch=win64 ?_Internal_copy@_Concurrent_vector_base_v4@details@Concurrency@@IEAAXAEBV123@_KP6AXPEAXPEBX1@Z@Z
+@ stub -arch=i386 ?_Internal_empty@_Concurrent_queue_base_v4@details@Concurrency@@IBE_NXZ
+@ stub -arch=win64 ?_Internal_empty@_Concurrent_queue_base_v4@details@Concurrency@@IEBA_NXZ
+@ stub -arch=i386 ?_Internal_finish_clear@_Concurrent_queue_base_v4@details@Concurrency@@IAEXXZ
+@ stub -arch=win64 ?_Internal_finish_clear@_Concurrent_queue_base_v4@details@Concurrency@@IEAAXXZ
+@ stub -arch=i386 ?_Internal_grow_by@_Concurrent_vector_base_v4@details@Concurrency@@IAEIIIP6AXPAXPBXI@Z1@Z
+@ stub -arch=win64 ?_Internal_grow_by@_Concurrent_vector_base_v4@details@Concurrency@@IEAA_K_K0P6AXPEAXPEBX0@Z2@Z
+@ stub -arch=i386 ?_Internal_grow_to_at_least_with_result@_Concurrent_vector_base_v4@details@Concurrency@@IAEIIIP6AXPAXPBXI@Z1@Z
+@ stub -arch=win64 ?_Internal_grow_to_at_least_with_result@_Concurrent_vector_base_v4@details@Concurrency@@IEAA_K_K0P6AXPEAXPEBX0@Z2@Z
+@ stub -arch=i386 ?_Internal_move_push@_Concurrent_queue_base_v4@details@Concurrency@@IAEXPAX@Z
+@ stub -arch=win64 ?_Internal_move_push@_Concurrent_queue_base_v4@details@Concurrency@@IEAAXPEAX@Z
+@ stub -arch=i386 ?_Internal_pop_if_present@_Concurrent_queue_base_v4@details@Concurrency@@IAE_NPAX@Z
+@ stub -arch=win64 ?_Internal_pop_if_present@_Concurrent_queue_base_v4@details@Concurrency@@IEAA_NPEAX@Z
+@ stub -arch=i386 ?_Internal_push@_Concurrent_queue_base_v4@details@Concurrency@@IAEXPBX@Z
+@ stub -arch=win64 ?_Internal_push@_Concurrent_queue_base_v4@details@Concurrency@@IEAAXPEBX@Z
+@ stub -arch=i386 ?_Internal_push_back@_Concurrent_vector_base_v4@details@Concurrency@@IAEPAXIAAI@Z
+@ stub -arch=win64 ?_Internal_push_back@_Concurrent_vector_base_v4@details@Concurrency@@IEAAPEAX_KAEA_K@Z
+@ stub -arch=i386 ?_Internal_reserve@_Concurrent_vector_base_v4@details@Concurrency@@IAEXIII@Z
+@ stub -arch=win64 ?_Internal_reserve@_Concurrent_vector_base_v4@details@Concurrency@@IEAAX_K00@Z
+@ stub -arch=i386 ?_Internal_resize@_Concurrent_vector_base_v4@details@Concurrency@@IAEXIIIP6AXPAXI@ZP6AX0PBXI@Z2@Z
+@ stub -arch=win64 ?_Internal_resize@_Concurrent_vector_base_v4@details@Concurrency@@IEAAX_K00P6AXPEAX0@ZP6AX1PEBX0@Z3@Z
+@ stub -arch=i386 ?_Internal_size@_Concurrent_queue_base_v4@details@Concurrency@@IBEIXZ
+@ stub -arch=win64 ?_Internal_size@_Concurrent_queue_base_v4@details@Concurrency@@IEBA_KXZ
+@ stub -arch=i386 ?_Internal_swap@_Concurrent_queue_base_v4@details@Concurrency@@IAEXAAV123@@Z
+@ stub -arch=win64 ?_Internal_swap@_Concurrent_queue_base_v4@details@Concurrency@@IEAAXAEAV123@@Z
+@ stub -arch=i386 ?_Internal_swap@_Concurrent_vector_base_v4@details@Concurrency@@IAEXAAV123@@Z
+@ stub -arch=win64 ?_Internal_swap@_Concurrent_vector_base_v4@details@Concurrency@@IEAAXAEAV123@@Z
+@ stub -arch=i386 ?_Internal_throw_exception@_Concurrent_queue_base_v4@details@Concurrency@@IBEXXZ
+@ stub -arch=win64 ?_Internal_throw_exception@_Concurrent_queue_base_v4@details@Concurrency@@IEBAXXZ
+@ stub -arch=i386 ?_Internal_throw_exception@_Concurrent_vector_base_v4@details@Concurrency@@IBEXI@Z
+@ stub -arch=win64 ?_Internal_throw_exception@_Concurrent_vector_base_v4@details@Concurrency@@IEBAX_K@Z
+@ stub -arch=i386 ?_IsCanceling@_StructuredTaskCollection@details@Concurrency@@QAE_NXZ
+@ stub -arch=win64 ?_IsCanceling@_StructuredTaskCollection@details@Concurrency@@QEAA_NXZ
+@ stub -arch=i386 ?_IsCanceling@_TaskCollection@details@Concurrency@@QAE_NXZ
+@ stub -arch=win64 ?_IsCanceling@_TaskCollection@details@Concurrency@@QEAA_NXZ
+@ stub -arch=i386 ?_IsSynchronouslyBlocked@_Context@details@Concurrency@@QBE_NXZ
+@ stub -arch=win64 ?_IsSynchronouslyBlocked@_Context@details@Concurrency@@QEBA_NXZ
+@ stub -arch=win32 ?_NewCollection@_AsyncTaskCollection@details@Concurrency@@SAPAV123@PAV_CancellationTokenState@23@@Z
+@ stub -arch=win64 ?_NewCollection@_AsyncTaskCollection@details@Concurrency@@SAPEAV123@PEAV_CancellationTokenState@23@@Z
+@ thiscall -arch=i386 ?_NumberOfSpins@?$_SpinWait@$00@details@Concurrency@@IAEKXZ(ptr) msvcr120.?_NumberOfSpins@?$_SpinWait@$00@details@Concurrency@@IAEKXZ
+@ cdecl -arch=win64 ?_NumberOfSpins@?$_SpinWait@$00@details@Concurrency@@IEAAKXZ(ptr) msvcr120.?_NumberOfSpins@?$_SpinWait@$00@details@Concurrency@@IEAAKXZ
+@ thiscall -arch=i386 ?_NumberOfSpins@?$_SpinWait@$0A@@details@Concurrency@@IAEKXZ(ptr) msvcr120.?_NumberOfSpins@?$_SpinWait@$0A@@details@Concurrency@@IAEKXZ
+@ cdecl -arch=win64 ?_NumberOfSpins@?$_SpinWait@$0A@@details@Concurrency@@IEAAKXZ(ptr) msvcr120.?_NumberOfSpins@?$_SpinWait@$0A@@details@Concurrency@@IEAAKXZ
+@ stub -arch=win64 ?_Oversubscribe@_Context@details@Concurrency@@SAX_N@Z
+@ stub -arch=i386 ?_Reference@_Scheduler@details@Concurrency@@QAEIXZ
+@ stub -arch=win64 ?_Reference@_Scheduler@details@Concurrency@@QEAAIXZ
+@ stub -arch=i386 ?_Release@_NonReentrantBlockingLock@details@Concurrency@@QAEXXZ
+@ stub -arch=win64 ?_Release@_NonReentrantBlockingLock@details@Concurrency@@QEAAXXZ
+@ stub -arch=i386 ?_Release@_NonReentrantPPLLock@details@Concurrency@@QAEXXZ
+@ stub -arch=win64 ?_Release@_NonReentrantPPLLock@details@Concurrency@@QEAAXXZ
+@ stub -arch=i386 ?_Release@_ReentrantBlockingLock@details@Concurrency@@QAEXXZ
+@ stub -arch=win64 ?_Release@_ReentrantBlockingLock@details@Concurrency@@QEAAXXZ
+@ stub -arch=i386 ?_Release@_ReentrantLock@details@Concurrency@@QAEXXZ
+@ stub -arch=win64 ?_Release@_ReentrantLock@details@Concurrency@@QEAAXXZ
+@ stub -arch=i386 ?_Release@_ReentrantPPLLock@details@Concurrency@@QAEXXZ
+@ stub -arch=win64 ?_Release@_ReentrantPPLLock@details@Concurrency@@QEAAXXZ
+@ stub -arch=i386 ?_Release@_Scheduler@details@Concurrency@@QAEIXZ
+@ stub -arch=win64 ?_Release@_Scheduler@details@Concurrency@@QEAAIXZ
+@ stub -arch=i386 ?_ReleaseRead@_ReaderWriterLock@details@Concurrency@@QAEXXZ
+@ stub -arch=win64 ?_ReleaseRead@_ReaderWriterLock@details@Concurrency@@QEAAXXZ
+@ stub -arch=i386 ?_ReleaseWrite@_ReaderWriterLock@details@Concurrency@@QAEXXZ
+@ stub -arch=win64 ?_ReleaseWrite@_ReaderWriterLock@details@Concurrency@@QEAAXXZ
+@ thiscall -arch=i386 ?_Reset@?$_SpinWait@$00@details@Concurrency@@IAEXXZ(ptr) msvcr120.?_Reset@?$_SpinWait@$00@details@Concurrency@@IAEXXZ
+@ cdecl -arch=win64 ?_Reset@?$_SpinWait@$00@details@Concurrency@@IEAAXXZ(ptr) msvcr120.?_Reset@?$_SpinWait@$00@details@Concurrency@@IEAAXXZ
+@ thiscall -arch=i386 ?_Reset@?$_SpinWait@$0A@@details@Concurrency@@IAEXXZ(ptr) msvcr120.?_Reset@?$_SpinWait@$0A@@details@Concurrency@@IAEXXZ
+@ cdecl -arch=win64 ?_Reset@?$_SpinWait@$0A@@details@Concurrency@@IEAAXXZ(ptr) msvcr120.?_Reset@?$_SpinWait@$0A@@details@Concurrency@@IEAAXXZ
+@ stub -arch=win32 ?_RunAndWait@_StructuredTaskCollection@details@Concurrency@@QAG?AW4_TaskCollectionStatus@23@PAV_UnrealizedChore@23@@Z
+@ stub -arch=win64 ?_RunAndWait@_StructuredTaskCollection@details@Concurrency@@QEAA?AW4_TaskCollectionStatus@23@PEAV_UnrealizedChore@23@@Z
+@ stub -arch=win32 ?_RunAndWait@_TaskCollection@details@Concurrency@@QAG?AW4_TaskCollectionStatus@23@PAV_UnrealizedChore@23@@Z
+@ stub -arch=win64 ?_RunAndWait@_TaskCollection@details@Concurrency@@QEAA?AW4_TaskCollectionStatus@23@PEAV_UnrealizedChore@23@@Z
+@ stub -arch=i386 ?_Schedule@_StructuredTaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@@Z
+@ stub -arch=win64 ?_Schedule@_StructuredTaskCollection@details@Concurrency@@QEAAXPEAV_UnrealizedChore@23@@Z
+@ stub -arch=i386 ?_Schedule@_StructuredTaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@PAVlocation@3@@Z
+@ stub -arch=win64 ?_Schedule@_StructuredTaskCollection@details@Concurrency@@QEAAXPEAV_UnrealizedChore@23@PEAVlocation@3@@Z
+@ stub -arch=i386 ?_Schedule@_TaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@@Z
+@ stub -arch=win64 ?_Schedule@_TaskCollection@details@Concurrency@@QEAAXPEAV_UnrealizedChore@23@@Z
+@ stub -arch=i386 ?_Schedule@_TaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@PAVlocation@3@@Z
+@ stub -arch=win64 ?_Schedule@_TaskCollection@details@Concurrency@@QEAAXPEAV_UnrealizedChore@23@PEAVlocation@3@@Z
+@ stub -arch=win32 ?_ScheduleTask@_CurrentScheduler@details@Concurrency@@SAXP6AXPAX@Z0@Z
+@ stub -arch=win64 ?_ScheduleTask@_CurrentScheduler@details@Concurrency@@SAXP6AXPEAX@Z0@Z
+@ stub -arch=win32 ?_Segment_index_of@_Concurrent_vector_base_v4@details@Concurrency@@KAII@Z
+@ stub -arch=win64 ?_Segment_index_of@_Concurrent_vector_base_v4@details@Concurrency@@KA_K_K@Z
+@ thiscall -arch=i386 ?_SetSpinCount@?$_SpinWait@$00@details@Concurrency@@QAEXI@Z(ptr long) msvcr120.?_SetSpinCount@?$_SpinWait@$00@details@Concurrency@@QAEXI@Z
+@ cdecl -arch=win64 ?_SetSpinCount@?$_SpinWait@$00@details@Concurrency@@QEAAXI@Z(ptr long) msvcr120.?_SetSpinCount@?$_SpinWait@$00@details@Concurrency@@QEAAXI@Z
+@ thiscall -arch=i386 ?_SetSpinCount@?$_SpinWait@$0A@@details@Concurrency@@QAEXI@Z(ptr long) msvcr120.?_SetSpinCount@?$_SpinWait@$0A@@details@Concurrency@@QAEXI@Z
+@ cdecl -arch=win64 ?_SetSpinCount@?$_SpinWait@$0A@@details@Concurrency@@QEAAXI@Z(ptr long) msvcr120.?_SetSpinCount@?$_SpinWait@$0A@@details@Concurrency@@QEAAXI@Z
+@ thiscall -arch=i386 ?_ShouldSpinAgain@?$_SpinWait@$00@details@Concurrency@@IAE_NXZ(ptr) msvcr120.?_ShouldSpinAgain@?$_SpinWait@$00@details@Concurrency@@IAE_NXZ
+@ cdecl -arch=win64 ?_ShouldSpinAgain@?$_SpinWait@$00@details@Concurrency@@IEAA_NXZ(ptr) msvcr120.?_ShouldSpinAgain@?$_SpinWait@$00@details@Concurrency@@IEAA_NXZ
+@ thiscall -arch=i386 ?_ShouldSpinAgain@?$_SpinWait@$0A@@details@Concurrency@@IAE_NXZ(ptr) msvcr120.?_ShouldSpinAgain@?$_SpinWait@$0A@@details@Concurrency@@IAE_NXZ
+@ cdecl -arch=win64 ?_ShouldSpinAgain@?$_SpinWait@$0A@@details@Concurrency@@IEAA_NXZ(ptr) msvcr120.?_ShouldSpinAgain@?$_SpinWait@$0A@@details@Concurrency@@IEAA_NXZ
+@ thiscall -arch=i386 ?_SpinOnce@?$_SpinWait@$00@details@Concurrency@@QAE_NXZ(ptr) msvcr120.?_SpinOnce@?$_SpinWait@$00@details@Concurrency@@QAE_NXZ
+@ cdecl -arch=win64 ?_SpinOnce@?$_SpinWait@$00@details@Concurrency@@QEAA_NXZ(ptr) msvcr120.?_SpinOnce@?$_SpinWait@$00@details@Concurrency@@QEAA_NXZ
+@ thiscall -arch=i386 ?_SpinOnce@?$_SpinWait@$0A@@details@Concurrency@@QAE_NXZ(ptr) msvcr120.?_SpinOnce@?$_SpinWait@$0A@@details@Concurrency@@QAE_NXZ
+@ cdecl -arch=win64 ?_SpinOnce@?$_SpinWait@$0A@@details@Concurrency@@QEAA_NXZ(ptr) msvcr120.?_SpinOnce@?$_SpinWait@$0A@@details@Concurrency@@QEAA_NXZ
+@ stub -arch=win64 ?_SpinYield@Context@Concurrency@@SAXXZ
+@ stub -arch=i386 ?_Start@_Timer@details@Concurrency@@IAEXXZ
+@ stub -arch=win64 ?_Start@_Timer@details@Concurrency@@IEAAXXZ
+@ stub -arch=i386 ?_Stop@_Timer@details@Concurrency@@IAEXXZ
+@ stub -arch=win64 ?_Stop@_Timer@details@Concurrency@@IEAAXXZ
+@ stub -arch=win64 ?_Trace_agents@Concurrency@@YAXW4Agents_EventType@1@_JZZ
+@ stub ?_Trace_ppl_function@Concurrency@@YAXABU_GUID@@EW4ConcRT_EventType@1@@Z
+@ stub ?_Trace_ppl_function@Concurrency@@YAXAEBU_GUID@@EW4ConcRT_EventType@1@@Z
+@ stub -arch=i386 ?_TryAcquire@_NonReentrantBlockingLock@details@Concurrency@@QAE_NXZ
+@ stub -arch=win64 ?_TryAcquire@_NonReentrantBlockingLock@details@Concurrency@@QEAA_NXZ
+@ stub -arch=i386 ?_TryAcquire@_ReentrantBlockingLock@details@Concurrency@@QAE_NXZ
+@ stub -arch=win64 ?_TryAcquire@_ReentrantBlockingLock@details@Concurrency@@QEAA_NXZ
+@ stub -arch=i386 ?_TryAcquire@_ReentrantLock@details@Concurrency@@QAE_NXZ
+@ stub -arch=win64 ?_TryAcquire@_ReentrantLock@details@Concurrency@@QEAA_NXZ
+@ stub -arch=i386 ?_TryAcquireWrite@_ReaderWriterLock@details@Concurrency@@QAE_NXZ
+@ stub -arch=win64 ?_TryAcquireWrite@_ReaderWriterLock@details@Concurrency@@QEAA_NXZ
+@ stub -arch=win64 ?_UnderlyingYield@details@Concurrency@@YAXXZ
+@ cdecl ?_Value@_SpinCount@details@Concurrency@@SAIXZ() msvcr120.?_Value@_SpinCount@details@Concurrency@@SAIXZ
+@ stub -arch=win64 ?_Yield@_Context@details@Concurrency@@SAXXZ
+@ stub -arch=i386 ?cancel@agent@Concurrency@@QAE_NXZ
+@ stub -arch=win64 ?cancel@agent@Concurrency@@QEAA_NXZ
+@ stub -arch=win64 ?current@location@Concurrency@@SA?AV12@XZ
+@ stub -arch=i386 ?done@agent@Concurrency@@IAE_NXZ
+@ stub -arch=win64 ?done@agent@Concurrency@@IEAA_NXZ
+@ stub -arch=win64 ?from_numa_node@location@Concurrency@@SA?AV12@G@Z
+@ stub -arch=i386 ?get_error_code@scheduler_resource_allocation_error@Concurrency@@QBEJXZ
+@ stub -arch=win64 ?get_error_code@scheduler_resource_allocation_error@Concurrency@@QEBAJXZ
+@ stub -arch=win64 ?is_current_task_group_canceling@Concurrency@@YA_NXZ
+@ thiscall -arch=i386 ?lock@critical_section@Concurrency@@QAEXXZ(ptr) msvcr120.?lock@critical_section@Concurrency@@QAEXXZ
+@ cdecl -arch=win64 ?lock@critical_section@Concurrency@@QEAAXXZ(ptr) msvcr120.?lock@critical_section@Concurrency@@QEAAXXZ
+@ stub -arch=i386 ?lock@reader_writer_lock@Concurrency@@QAEXXZ
+@ stub -arch=win64 ?lock@reader_writer_lock@Concurrency@@QEAAXXZ
+@ stub -arch=i386 ?lock_read@reader_writer_lock@Concurrency@@QAEXXZ
+@ stub -arch=win64 ?lock_read@reader_writer_lock@Concurrency@@QEAAXXZ
+@ thiscall -arch=i386 ?native_handle@critical_section@Concurrency@@QAEAAV12@XZ(ptr) msvcr120.?native_handle@critical_section@Concurrency@@QAEAAV12@XZ
+@ cdecl -arch=win64 ?native_handle@critical_section@Concurrency@@QEAAAEAV12@XZ(ptr) msvcr120.?native_handle@critical_section@Concurrency@@QEAAAEAV12@XZ
+@ stub -arch=i386 ?notify_all@_Condition_variable@details@Concurrency@@QAEXXZ
+@ stub -arch=win64 ?notify_all@_Condition_variable@details@Concurrency@@QEAAXXZ
+@ stub -arch=i386 ?notify_one@_Condition_variable@details@Concurrency@@QAEXXZ
+@ stub -arch=win64 ?notify_one@_Condition_variable@details@Concurrency@@QEAAXXZ
+@ stub -arch=i386 ?reset@event@Concurrency@@QAEXXZ
+@ stub -arch=win64 ?reset@event@Concurrency@@QEAAXXZ
+@ stub -arch=i386 ?set@event@Concurrency@@QAEXXZ
+@ stub -arch=win64 ?set@event@Concurrency@@QEAAXXZ
+@ stub -arch=win32 ?set_task_execution_resources@Concurrency@@YAXGPAU_GROUP_AFFINITY@@@Z
+@ stub -arch=win64 ?set_task_execution_resources@Concurrency@@YAXGPEAU_GROUP_AFFINITY@@@Z
+@ stub -arch=win32 ?set_task_execution_resources@Concurrency@@YAXK@Z
+@ stub -arch=win64 ?set_task_execution_resources@Concurrency@@YAX_K@Z
+@ stub -arch=i386 ?start@agent@Concurrency@@QAE_NXZ
+@ stub -arch=win64 ?start@agent@Concurrency@@QEAA_NXZ
+@ stub -arch=i386 ?status@agent@Concurrency@@QAE?AW4agent_status@2@XZ
+@ stub -arch=win64 ?status@agent@Concurrency@@QEAA?AW4agent_status@2@XZ
+@ stub -arch=i386 ?status_port@agent@Concurrency@@QAEPAV?$ISource@W4agent_status@Concurrency@@@2@XZ
+@ stub -arch=win64 ?status_port@agent@Concurrency@@QEAAPEAV?$ISource@W4agent_status@Concurrency@@@2@XZ
+@ thiscall -arch=i386 ?try_lock@critical_section@Concurrency@@QAE_NXZ(ptr) msvcr120.?try_lock@critical_section@Concurrency@@QAE_NXZ
+@ cdecl -arch=win64 ?try_lock@critical_section@Concurrency@@QEAA_NXZ(ptr) msvcr120.?try_lock@critical_section@Concurrency@@QEAA_NXZ
+@ stub -arch=i386 ?try_lock@reader_writer_lock@Concurrency@@QAE_NXZ
+@ stub -arch=win64 ?try_lock@reader_writer_lock@Concurrency@@QEAA_NXZ
+@ thiscall -arch=i386 ?try_lock_for@critical_section@Concurrency@@QAE_NI@Z(ptr long) msvcr120.?try_lock_for@critical_section@Concurrency@@QAE_NI@Z
+@ cdecl -arch=win64 ?try_lock_for@critical_section@Concurrency@@QEAA_NI@Z(ptr long) msvcr120.?try_lock_for@critical_section@Concurrency@@QEAA_NI@Z
+@ stub -arch=i386 ?try_lock_read@reader_writer_lock@Concurrency@@QAE_NXZ
+@ stub -arch=win64 ?try_lock_read@reader_writer_lock@Concurrency@@QEAA_NXZ
+@ thiscall -arch=i386 ?unlock@critical_section@Concurrency@@QAEXXZ(ptr) msvcr120.?unlock@critical_section@Concurrency@@QAEXXZ
+@ cdecl -arch=win64 ?unlock@critical_section@Concurrency@@QEAAXXZ(ptr) msvcr120.?unlock@critical_section@Concurrency@@QEAAXXZ
+@ stub -arch=i386 ?unlock@reader_writer_lock@Concurrency@@QAEXXZ
+@ stub -arch=win64 ?unlock@reader_writer_lock@Concurrency@@QEAAXXZ
+@ stub -arch=win64 ?wait@Concurrency@@YAXI@Z
+@ stub -arch=i386 ?wait@_Condition_variable@details@Concurrency@@QAEXAAVcritical_section@3@@Z
+@ stub -arch=win64 ?wait@_Condition_variable@details@Concurrency@@QEAAXAEAVcritical_section@3@@Z
+@ stub -arch=win32 ?wait@agent@Concurrency@@SA?AW4agent_status@2@PAV12@I@Z
+@ stub -arch=win64 ?wait@agent@Concurrency@@SA?AW4agent_status@2@PEAV12@I@Z
+@ stub -arch=i386 ?wait@event@Concurrency@@QAEII@Z
+@ stub -arch=win64 ?wait@event@Concurrency@@QEAA_KI@Z
+@ stub -arch=i386 ?wait_for@_Condition_variable@details@Concurrency@@QAE_NAAVcritical_section@3@I@Z
+@ stub -arch=win64 ?wait_for@_Condition_variable@details@Concurrency@@QEAA_NAEAVcritical_section@3@I@Z
+@ stub -arch=win32 ?wait_for_all@agent@Concurrency@@SAXIPAPAV12@PAW4agent_status@2@I@Z
+@ stub -arch=win64 ?wait_for_all@agent@Concurrency@@SAX_KPEAPEAV12@PEAW4agent_status@2@I@Z
+@ stub -arch=win32 ?wait_for_multiple@event@Concurrency@@SAIPAPAV12@I_NI@Z
+@ stub -arch=win64 ?wait_for_multiple@event@Concurrency@@SA_KPEAPEAV12@_K_NI@Z
+@ stub -arch=win32 ?wait_for_one@agent@Concurrency@@SAXIPAPAV12@AAW4agent_status@2@AAII@Z
+@ stub -arch=win64 ?wait_for_one@agent@Concurrency@@SAX_KPEAPEAV12@AEAW4agent_status@2@AEA_KI@Z
diff --git a/dlls/concrt140/concrt140_main.c b/dlls/concrt140/concrt140_main.c
new file mode 100644
index 0000000..167ceab
--- /dev/null
+++ b/dlls/concrt140/concrt140_main.c
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2016 Daniel Lehman
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include "config.h"
+
+#include <stdarg.h>
+
+#include "windef.h"
+#include "winbase.h"
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(concrt140);
+
+BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, void *reserved)
+{
+    TRACE("(%p, %u, %p)\n", instance, reason, reserved);
+
+    switch (reason)
+    {
+        case DLL_WINE_PREATTACH:
+            return FALSE;    /* prefer native version */
+        case DLL_PROCESS_ATTACH:
+            DisableThreadLibraryCalls(instance);
+            break;
+    }
+
+    return TRUE;
+}
diff --git a/tools/make_specfiles b/tools/make_specfiles
index e99fa13..44090cd 100755
--- a/tools/make_specfiles
+++ b/tools/make_specfiles
@@ -49,6 +49,7 @@ my @dll_groups =
  [
   "msvcr120",
   "msvcr120_app",
+  "concrt140",
  ],
  [
   "ucrtbase",

-- 
1.9.5