# csc_8737.dll-csc_8875.dll Diff

# TOC

* [Visual Chart Diff](#visual-chart-diff)
* [Metadata](#metadata)
	* [Ghidra Diff Engine](#ghidra-diff-engine)
		* [Command Line](#command-line)
	* [Binary Metadata Diff](#binary-metadata-diff)
	* [Program Options](#program-options)
	* [Diff Stats](#diff-stats)
	* [Strings](#strings)
* [Deleted](#deleted)
* [Added](#added)
	* [wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::GetCachedFeatureEnabledState](#wildetailsfeatureimplstruct___wilfeaturetraits_feature_892568891getcachedfeatureenabledstate)
	* [wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::GetCurrentFeatureEnabledState](#wildetailsfeatureimplstruct___wilfeaturetraits_feature_892568891getcurrentfeatureenabledstate)
	* [wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::ReportUsage](#wildetailsfeatureimplstruct___wilfeaturetraits_feature_892568891reportusage)
* [Modified](#modified)
	* [CEnumOfflineFilesData_Flat::Next](#cenumofflinefilesdata_flatnext)
	* [CEnumOfflineFilesData_Flat::~CEnumOfflineFilesData_Flat](#cenumofflinefilesdata_flatcenumofflinefilesdata_flat)
	* [CEnumOfflineFilesData_Flat::CEnumOfflineFilesData_Flat](#cenumofflinefilesdata_flatcenumofflinefilesdata_flat)
	* [CEnumOfflineFilesData_Flat::CreateInstance](#cenumofflinefilesdata_flatcreateinstance)
	* [CEnumOfflineFilesData_Flat::Clone](#cenumofflinefilesdata_flatclone)
	* [CEnumOfflineFilesData_Flat::Skip](#cenumofflinefilesdata_flatskip)
	* [CEnumOfflineFilesData_Flat::Reset](#cenumofflinefilesdata_flatreset)
	* [CPath::Copy](#cpathcopy)
	* [CPath::IsEmpty](#cpathisempty)
* [Modified (No Code Changes)](#modified-no-code-changes)
	* [API-MS-WIN-CORE-LIBRARYLOADER-L1-2-1.DLL::FindResourceW](#api-ms-win-core-libraryloader-l1-2-1dllfindresourcew)
	* [API-MS-WIN-CORE-SYSINFO-L1-1-0.DLL::GetTickCount](#api-ms-win-core-sysinfo-l1-1-0dllgettickcount)
	* [WilApi_GetFeatureEnabledState](#wilapi_getfeatureenabledstate)
	* [ReportUsageToService](#reportusagetoservice)
	* [ResultFromLastError](#resultfromlasterror)
	* [push_back](#push_back)
	* [EnsureSubscribedToFeatureConfigurationChanges](#ensuresubscribedtofeatureconfigurationchanges)
	* [API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::InitializeCriticalSectionAndSpinCount](#api-ms-win-core-synch-l1-1-0dllinitializecriticalsectionandspincount)
	* [API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::AcquireSRWLockExclusive](#api-ms-win-core-synch-l1-1-0dllacquiresrwlockexclusive)
	* [API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::DeleteCriticalSection](#api-ms-win-core-synch-l1-1-0dlldeletecriticalsection)
	* [~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>](#unique_storagestruct_wildetailsresource_policystruct__rtl_srwlock___ptr64void___cdeclstruct__rtl_srwlock___ptr64void___cdecl_releasesrwlockexclusivestruct__rtl_srwlock___ptr64struct_wistdintegral_constantunsigned___int641struct__rtl_srwlock___ptr64struct__rtl_srwlock___ptr640stdnullptr_t_)
	* [API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::EnterCriticalSection](#api-ms-win-core-synch-l1-1-0dllentercriticalsection)
	* [API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::LeaveCriticalSection](#api-ms-win-core-synch-l1-1-0dllleavecriticalsection)

# Visual Chart Diff



```mermaid

flowchart LR

CEnumOfflineFilesData_FlatNext-5-old<--Match 76%-->CEnumOfflineFilesData_FlatNext-5-new
CEnumOfflineFilesData_FlatCEnumOfflineFilesData_Flat-1-old<--Match 56%-->CEnumOfflineFilesData_FlatCEnumOfflineFilesData_Flat-1-new
CEnumOfflineFilesData_FlatCEnumOfflineFilesData_Flat-4-old<--Match 99%-->CEnumOfflineFilesData_FlatCEnumOfflineFilesData_Flat-4-new
CEnumOfflineFilesData_FlatCreateInstance-6-old<--Match 87%-->CEnumOfflineFilesData_FlatCreateInstance-6-new
CEnumOfflineFilesData_FlatClone-2-old<--Match 72%-->CEnumOfflineFilesData_FlatClone-2-new
CEnumOfflineFilesData_FlatSkip-2-old<--Match 78%-->CEnumOfflineFilesData_FlatSkip-2-new
CEnumOfflineFilesData_FlatReset-1-old<--Match 65%-->CEnumOfflineFilesData_FlatReset-1-new
CPathCopy-2-old<--Match 52%-->CEnumOfflineFilesData_Flat_Initialize-2-new
CPathIsEmpty-1-old<--Match 21%-->wildetailsFeatureImplstruct___WilFeatureTraits_Feature_892568891__private_IsEnabled-1-new

subgraph csc_8875.dll
    CEnumOfflineFilesData_FlatNext-5-new
CEnumOfflineFilesData_FlatCEnumOfflineFilesData_Flat-1-new
CEnumOfflineFilesData_FlatCEnumOfflineFilesData_Flat-4-new
CEnumOfflineFilesData_FlatCreateInstance-6-new
CEnumOfflineFilesData_FlatClone-2-new
CEnumOfflineFilesData_FlatSkip-2-new
CEnumOfflineFilesData_FlatReset-1-new
CEnumOfflineFilesData_Flat_Initialize-2-new
wildetailsFeatureImplstruct___WilFeatureTraits_Feature_892568891__private_IsEnabled-1-new
    subgraph Added
direction LR
wil-details-FeatureImplstruct___WilFeatureTraits_Feature_892568891-GetCachedFeatureEnabledState
    wil-details-FeatureImplstruct___WilFeatureTraits_Feature_892568891-GetCurrentFeatureEnabledState
    wil-details-FeatureImplstruct___WilFeatureTraits_Feature_892568891-ReportUsage
end
end

subgraph csc_8737.dll
    CEnumOfflineFilesData_FlatNext-5-old
CEnumOfflineFilesData_FlatCEnumOfflineFilesData_Flat-1-old
CEnumOfflineFilesData_FlatCEnumOfflineFilesData_Flat-4-old
CEnumOfflineFilesData_FlatCreateInstance-6-old
CEnumOfflineFilesData_FlatClone-2-old
CEnumOfflineFilesData_FlatSkip-2-old
CEnumOfflineFilesData_FlatReset-1-old
CPathCopy-2-old
CPathIsEmpty-1-old
    
end

```


```mermaid
pie showData
    title Function Matches - 99.9487%
"unmatched_funcs_len" : 3
"matched_funcs_len" : 5842
```



```mermaid
pie showData
    title Matched Function Similarity - 99.4180%
"matched_funcs_with_code_changes_len" : 9
"matched_funcs_with_non_code_changes_len" : 25
"matched_funcs_no_changes_len" : 5808
```

# Metadata

## Ghidra Diff Engine

### Command Line

#### Captured Command Line


```
ghidriff --project-location ghidra_projects --project-name ghidriff --symbols-path symbols --gzfs-path gzfs --threaded --log-level INFO --file-log-level INFO --log-path ghidriff.log --min-func-len 10 --gdt [] --bsim --max-ram-percent 60.0 --max-section-funcs 200 csc_8737.dll csc_8875.dll
```


#### Verbose Args


<details>

```
--old ['csc_8737.dll'] --new [['csc_8875.dll']] --engine VersionTrackingDiff --output-path csc_out --summary False --project-location ghidra_projects --project-name ghidriff --symbols-path symbols --gzfs-path gzfs --base-address None --program-options None --threaded True --force-analysis False --force-diff False --no-symbols False --log-level INFO --file-log-level INFO --log-path ghidriff.log --va False --min-func-len 10 --use-calling-counts False --gdt [] --bsim True --bsim-full False --max-ram-percent 60.0 --print-flags False --jvm-args None --side-by-side False --max-section-funcs 200 --md-title None
```


</details>

#### Download Original PEs


```
wget https://msdl.microsoft.com/download/symbols/cscsvc.dll/5757375FD0000/cscsvc.dll -O cscsvc.dll.x64.10.0.26100.8737
wget https://msdl.microsoft.com/download/symbols/cscsvc.dll/C28A96F9D1000/cscsvc.dll -O cscsvc.dll.x64.10.0.26100.8875
```


## Binary Metadata Diff


```diff
--- csc_8737.dll Meta
+++ csc_8875.dll Meta
@@ -1,44 +1,44 @@
-Program Name: csc_8737.dll
+Program Name: csc_8875.dll
 Language ID: x86:LE:64:default (4.6)
 Compiler ID: windows
 Processor: x86
 Endian: Little
 Address Size: 64
 Minimum Address: 180000000
 Maximum Address: ff0000184f
-# of Bytes: 854864
+# of Bytes: 858992
 # of Memory Blocks: 10
-# of Instructions: 137515
-# of Defined Data: 8832
-# of Functions: 2920
-# of Symbols: 27264
-# of Data Types: 1431
+# of Instructions: 137825
+# of Defined Data: 8839
+# of Functions: 2925
+# of Symbols: 27315
+# of Data Types: 1432
 # of Data Type Categories: 58
 Analyzed: true
 Compiler: visualstudio:unknown
 Created With Ghidra Version: 12.0.4
-Date Created: Fri Aug 21 21:40:43 SGT 2026
+Date Created: Fri Aug 21 21:40:47 SGT 2026
 Executable Format: Portable Executable (PE)
-Executable Location: /tmp/csc/csc_8737.dll
-Executable MD5: 7307ea30b1c55ba4d980ccc3ba036f4a
-Executable SHA256: 5664015e4d7af6d446f93063cefb8e2c6a4ebedd1284a31e2756b9b00607cb2b
-FSRL: file:///tmp/csc/csc_8737.dll?MD5=7307ea30b1c55ba4d980ccc3ba036f4a
+Executable Location: /tmp/csc/csc_8875.dll
+Executable MD5: b4d040869630cc881c9b9390730c276a
+Executable SHA256: 8109e9968b851fb6a64812cecc39fbf6d2e9b125bfb90304a25a508c0b03f11d
+FSRL: file:///tmp/csc/csc_8875.dll?MD5=b4d040869630cc881c9b9390730c276a
 PDB Age: 1
 PDB File: cscsvc.pdb
-PDB GUID: 1a1199aa-d1aa-a4c2-da5d-906132a2e88c
+PDB GUID: 453acb65-0bd7-280b-2428-afd070650b93
 PDB Loaded: true
 PDB Version: RSDS
 PE Property[CompanyName]: Microsoft Corporation
 PE Property[FileDescription]: CSC Service DLL
-PE Property[FileVersion]: 10.0.26100.8737 (WinBuild.160101.0800)
+PE Property[FileVersion]: 10.0.26100.8875 (WinBuild.160101.0800)
 PE Property[InternalName]: cscsvc.dll
 PE Property[LegalCopyright]: © Microsoft Corporation. All rights reserved.
 PE Property[OriginalFilename]: cscsvc.dll
 PE Property[ProductName]: Microsoft® Windows® Operating System
-PE Property[ProductVersion]: 10.0.26100.8737
+PE Property[ProductVersion]: 10.0.26100.8875
 PE Property[Translation]: 4b00409
 Preferred Root Namespace Category: 
 RTTI Found: true
 Relocatable: true
 SectionAlignment: 4096
 Should Ask To Analyze: false

```


## Program Options


<details>
<summary>Ghidra csc_8737.dll Decompiler Options</summary>


|Decompiler Option|Value|
| :---: | :---: |
|Prototype Evaluation|__fastcall|

</details>


<details>
<summary>Ghidra csc_8737.dll Specification extensions Options</summary>


|Specification extensions Option|Value|
| :---: | :---: |
|FormatVersion|0|
|VersionCounter|0|

</details>


<details>
<summary>Ghidra csc_8737.dll Analyzers Options</summary>


|Analyzers Option|Value|
| :---: | :---: |
|ASCII Strings|true|
|ASCII Strings.Create Strings Containing Existing Strings|true|
|ASCII Strings.Create Strings Containing References|true|
|ASCII Strings.Force Model Reload|false|
|ASCII Strings.Minimum String Length|LEN_5|
|ASCII Strings.Model File|StringModel.sng|
|ASCII Strings.Require Null Termination for String|true|
|ASCII Strings.Search Only in Accessible Memory Blocks|true|
|ASCII Strings.String Start Alignment|ALIGN_1|
|ASCII Strings.String end alignment|4|
|Aggressive Instruction Finder|false|
|Aggressive Instruction Finder.Create Analysis Bookmarks|true|
|Apply Data Archives|true|
|Apply Data Archives.Archive Chooser|[Auto-Detect]|
|Apply Data Archives.Create Analysis Bookmarks|true|
|Apply Data Archives.GDT User File Archive Path|None|
|Apply Data Archives.User Project Archive Path|None|
|Call Convention ID|true|
|Call Convention ID.Analysis Decompiler Timeout (sec)|60|
|Call-Fixup Installer|true|
|Condense Filler Bytes|false|
|Condense Filler Bytes.Filler Value|Auto|
|Condense Filler Bytes.Minimum number of sequential bytes|1|
|Create Address Tables|true|
|Create Address Tables.Allow Offcut References|false|
|Create Address Tables.Auto Label Table|false|
|Create Address Tables.Create Analysis Bookmarks|true|
|Create Address Tables.Maxmimum Pointer Distance|16777215|
|Create Address Tables.Minimum Pointer Address|4132|
|Create Address Tables.Minimum Table Size|2|
|Create Address Tables.Pointer Alignment|1|
|Create Address Tables.Relocation Table Guide|true|
|Create Address Tables.Table Alignment|4|
|Data Reference|true|
|Data Reference.Address Table Alignment|1|
|Data Reference.Address Table Minimum Size|2|
|Data Reference.Align End of Strings|false|
|Data Reference.Ascii String References|true|
|Data Reference.Create Address Tables|true|
|Data Reference.Minimum String Length|5|
|Data Reference.References to Pointers|true|
|Data Reference.Relocation Table Guide|true|
|Data Reference.Respect Execute Flag|true|
|Data Reference.Subroutine References|true|
|Data Reference.Switch Table References|false|
|Data Reference.Unicode String References|true|
|Decompiler Parameter ID|true|
|Decompiler Parameter ID.Analysis Clear Level|ANALYSIS|
|Decompiler Parameter ID.Analysis Decompiler Timeout (sec)|60|
|Decompiler Parameter ID.Commit Data Types|true|
|Decompiler Parameter ID.Commit Void Return Values|false|
|Decompiler Parameter ID.Prototype Evaluation|__fastcall|
|Decompiler Switch Analysis|true|
|Decompiler Switch Analysis.Analysis Decompiler Timeout (sec)|60|
|Demangler Microsoft|true|
|Demangler Microsoft.Apply Function Calling Conventions|true|
|Demangler Microsoft.Apply Function Signatures|true|
|Demangler Microsoft.C-Style Symbol Interpretation|FUNCTION_IF_EXISTS|
|Demangler Microsoft.Demangle Only Known Mangled Symbols|false|
|Disassemble Entry Points|true|
|Disassemble Entry Points.Respect Execute Flag|true|
|Embedded Media|true|
|Embedded Media.Create Analysis Bookmarks|true|
|External Entry References|true|
|Function ID|true|
|Function ID.Always Apply FID Labels|false|
|Function ID.Create Analysis Bookmarks|true|
|Function ID.Instruction Count Threshold|14.6|
|Function ID.Multiple Match Threshold|30.0|
|Function Start Search|true|
|Function Start Search.Bookmark Functions|false|
|Function Start Search.Search Data Blocks|false|
|Non-Returning Functions - Discovered|true|
|Non-Returning Functions - Discovered.Create Analysis Bookmarks|true|
|Non-Returning Functions - Discovered.Function Non-return Threshold|3|
|Non-Returning Functions - Discovered.Repair Flow Damage|true|
|Non-Returning Functions - Known|true|
|Non-Returning Functions - Known.Create Analysis Bookmarks|true|
|PDB MSDIA|false|
|PDB MSDIA.Search untrusted symbol servers|false|
|PDB Universal|true|
|PDB Universal.Import Source Line Info|true|
|PDB Universal.Search untrusted symbol servers|false|
|Reference|true|
|Reference.Address Table Alignment|1|
|Reference.Address Table Minimum Size|2|
|Reference.Align End of Strings|false|
|Reference.Ascii String References|true|
|Reference.Create Address Tables|true|
|Reference.Minimum String Length|5|
|Reference.References to Pointers|true|
|Reference.Relocation Table Guide|true|
|Reference.Respect Execute Flag|true|
|Reference.Subroutine References|true|
|Reference.Switch Table References|false|
|Reference.Unicode String References|true|
|Scalar Operand References|true|
|Scalar Operand References.Relocation Table Guide|true|
|Shared Return Calls|true|
|Shared Return Calls.Allow Conditional Jumps|false|
|Shared Return Calls.Assume Contiguous Functions Only|true|
|Stack|true|
|Stack.Create Local Variables|true|
|Stack.Create Param Variables|false|
|Stack.Max Threads|2|
|Subroutine References|true|
|Subroutine References.Create Thunks Early|true|
|Variadic Function Signature Override|false|
|Variadic Function Signature Override.Create Analysis Bookmarks|false|
|Windows x86 PE Exception Handling|true|
|Windows x86 PE RTTI Analyzer|true|
|Windows x86 Thread Environment Block (TEB) Analyzer|true|
|Windows x86 Thread Environment Block (TEB) Analyzer.Starting Address of the TEB||
|Windows x86 Thread Environment Block (TEB) Analyzer.Windows OS Version|Windows 7|
|WindowsPE x86 Propagate External Parameters|false|
|WindowsResourceReference|true|
|WindowsResourceReference.Create Analysis Bookmarks|true|
|x86 Constant Reference Analyzer|true|
|x86 Constant Reference Analyzer.Create Data from pointer|false|
|x86 Constant Reference Analyzer.Function parameter/return Pointer analysis|true|
|x86 Constant Reference Analyzer.Max Threads|2|
|x86 Constant Reference Analyzer.Min absolute reference|4|
|x86 Constant Reference Analyzer.Require pointer param data type|false|
|x86 Constant Reference Analyzer.Speculative reference max|256|
|x86 Constant Reference Analyzer.Speculative reference min|1024|
|x86 Constant Reference Analyzer.Stored Value Pointer analysis|true|
|x86 Constant Reference Analyzer.Trust values read from writable memory|true|

</details>


<details>
<summary>Ghidra csc_8875.dll Decompiler Options</summary>


|Decompiler Option|Value|
| :---: | :---: |
|Prototype Evaluation|__fastcall|

</details>


<details>
<summary>Ghidra csc_8875.dll Specification extensions Options</summary>


|Specification extensions Option|Value|
| :---: | :---: |
|FormatVersion|0|
|VersionCounter|0|

</details>


<details>
<summary>Ghidra csc_8875.dll Analyzers Options</summary>


|Analyzers Option|Value|
| :---: | :---: |
|ASCII Strings|true|
|ASCII Strings.Create Strings Containing Existing Strings|true|
|ASCII Strings.Create Strings Containing References|true|
|ASCII Strings.Force Model Reload|false|
|ASCII Strings.Minimum String Length|LEN_5|
|ASCII Strings.Model File|StringModel.sng|
|ASCII Strings.Require Null Termination for String|true|
|ASCII Strings.Search Only in Accessible Memory Blocks|true|
|ASCII Strings.String Start Alignment|ALIGN_1|
|ASCII Strings.String end alignment|4|
|Aggressive Instruction Finder|false|
|Aggressive Instruction Finder.Create Analysis Bookmarks|true|
|Apply Data Archives|true|
|Apply Data Archives.Archive Chooser|[Auto-Detect]|
|Apply Data Archives.Create Analysis Bookmarks|true|
|Apply Data Archives.GDT User File Archive Path|None|
|Apply Data Archives.User Project Archive Path|None|
|Call Convention ID|true|
|Call Convention ID.Analysis Decompiler Timeout (sec)|60|
|Call-Fixup Installer|true|
|Condense Filler Bytes|false|
|Condense Filler Bytes.Filler Value|Auto|
|Condense Filler Bytes.Minimum number of sequential bytes|1|
|Create Address Tables|true|
|Create Address Tables.Allow Offcut References|false|
|Create Address Tables.Auto Label Table|false|
|Create Address Tables.Create Analysis Bookmarks|true|
|Create Address Tables.Maxmimum Pointer Distance|16777215|
|Create Address Tables.Minimum Pointer Address|4132|
|Create Address Tables.Minimum Table Size|2|
|Create Address Tables.Pointer Alignment|1|
|Create Address Tables.Relocation Table Guide|true|
|Create Address Tables.Table Alignment|4|
|Data Reference|true|
|Data Reference.Address Table Alignment|1|
|Data Reference.Address Table Minimum Size|2|
|Data Reference.Align End of Strings|false|
|Data Reference.Ascii String References|true|
|Data Reference.Create Address Tables|true|
|Data Reference.Minimum String Length|5|
|Data Reference.References to Pointers|true|
|Data Reference.Relocation Table Guide|true|
|Data Reference.Respect Execute Flag|true|
|Data Reference.Subroutine References|true|
|Data Reference.Switch Table References|false|
|Data Reference.Unicode String References|true|
|Decompiler Parameter ID|true|
|Decompiler Parameter ID.Analysis Clear Level|ANALYSIS|
|Decompiler Parameter ID.Analysis Decompiler Timeout (sec)|60|
|Decompiler Parameter ID.Commit Data Types|true|
|Decompiler Parameter ID.Commit Void Return Values|false|
|Decompiler Parameter ID.Prototype Evaluation|__fastcall|
|Decompiler Switch Analysis|true|
|Decompiler Switch Analysis.Analysis Decompiler Timeout (sec)|60|
|Demangler Microsoft|true|
|Demangler Microsoft.Apply Function Calling Conventions|true|
|Demangler Microsoft.Apply Function Signatures|true|
|Demangler Microsoft.C-Style Symbol Interpretation|FUNCTION_IF_EXISTS|
|Demangler Microsoft.Demangle Only Known Mangled Symbols|false|
|Disassemble Entry Points|true|
|Disassemble Entry Points.Respect Execute Flag|true|
|Embedded Media|true|
|Embedded Media.Create Analysis Bookmarks|true|
|External Entry References|true|
|Function ID|true|
|Function ID.Always Apply FID Labels|false|
|Function ID.Create Analysis Bookmarks|true|
|Function ID.Instruction Count Threshold|14.6|
|Function ID.Multiple Match Threshold|30.0|
|Function Start Search|true|
|Function Start Search.Bookmark Functions|false|
|Function Start Search.Search Data Blocks|false|
|Non-Returning Functions - Discovered|true|
|Non-Returning Functions - Discovered.Create Analysis Bookmarks|true|
|Non-Returning Functions - Discovered.Function Non-return Threshold|3|
|Non-Returning Functions - Discovered.Repair Flow Damage|true|
|Non-Returning Functions - Known|true|
|Non-Returning Functions - Known.Create Analysis Bookmarks|true|
|PDB MSDIA|false|
|PDB MSDIA.Search untrusted symbol servers|false|
|PDB Universal|true|
|PDB Universal.Import Source Line Info|true|
|PDB Universal.Search untrusted symbol servers|false|
|Reference|true|
|Reference.Address Table Alignment|1|
|Reference.Address Table Minimum Size|2|
|Reference.Align End of Strings|false|
|Reference.Ascii String References|true|
|Reference.Create Address Tables|true|
|Reference.Minimum String Length|5|
|Reference.References to Pointers|true|
|Reference.Relocation Table Guide|true|
|Reference.Respect Execute Flag|true|
|Reference.Subroutine References|true|
|Reference.Switch Table References|false|
|Reference.Unicode String References|true|
|Scalar Operand References|true|
|Scalar Operand References.Relocation Table Guide|true|
|Shared Return Calls|true|
|Shared Return Calls.Allow Conditional Jumps|false|
|Shared Return Calls.Assume Contiguous Functions Only|true|
|Stack|true|
|Stack.Create Local Variables|true|
|Stack.Create Param Variables|false|
|Stack.Max Threads|2|
|Subroutine References|true|
|Subroutine References.Create Thunks Early|true|
|Variadic Function Signature Override|false|
|Variadic Function Signature Override.Create Analysis Bookmarks|false|
|Windows x86 PE Exception Handling|true|
|Windows x86 PE RTTI Analyzer|true|
|Windows x86 Thread Environment Block (TEB) Analyzer|true|
|Windows x86 Thread Environment Block (TEB) Analyzer.Starting Address of the TEB||
|Windows x86 Thread Environment Block (TEB) Analyzer.Windows OS Version|Windows 7|
|WindowsPE x86 Propagate External Parameters|false|
|WindowsResourceReference|true|
|WindowsResourceReference.Create Analysis Bookmarks|true|
|x86 Constant Reference Analyzer|true|
|x86 Constant Reference Analyzer.Create Data from pointer|false|
|x86 Constant Reference Analyzer.Function parameter/return Pointer analysis|true|
|x86 Constant Reference Analyzer.Max Threads|2|
|x86 Constant Reference Analyzer.Min absolute reference|4|
|x86 Constant Reference Analyzer.Require pointer param data type|false|
|x86 Constant Reference Analyzer.Speculative reference max|256|
|x86 Constant Reference Analyzer.Speculative reference min|1024|
|x86 Constant Reference Analyzer.Stored Value Pointer analysis|true|
|x86 Constant Reference Analyzer.Trust values read from writable memory|true|

</details>

## Diff Stats



|Stat|Value|
| :---: | :---: |
|added_funcs_len|3|
|deleted_funcs_len|0|
|modified_funcs_len|34|
|added_symbols_len|5|
|deleted_symbols_len|2|
|diff_time|6.571259021759033|
|deleted_strings_len|1|
|added_strings_len|0|
|match_types|Counter({'SymbolsHash': 2841, 'ExternalsName': 333, 'ExactBytesFunctionHasher': 23, 'BulkBasicBlockMnemonicHash': 21, 'SigCallingCalledHasher': 16, 'ExactInstructionsFunctionHasher': 13, 'BSIM': 5, 'Implied Match': 2})|
|items_to_process|44|
|diff_types|Counter({'address': 27, 'refcount': 27, 'called': 18, 'calling': 15, 'fullname': 14, 'sig': 14, 'parent': 14, 'code': 9, 'length': 9, 'name': 9})|
|unmatched_funcs_len|3|
|total_funcs_len|5845|
|matched_funcs_len|5842|
|matched_funcs_with_code_changes_len|9|
|matched_funcs_with_non_code_changes_len|25|
|matched_funcs_no_changes_len|5808|
|match_func_similarity_percent|99.4180%|
|func_match_overall_percent|99.9487%|
|first_matches|Counter({'SymbolsHash': 2841, 'ExactBytesFunctionHasher': 23, 'BulkBasicBlockMnemonicHash': 21, 'SigCallingCalledHasher': 16, 'ExactInstructionsFunctionHasher': 13, 'BSIM': 4, 'Implied Match': 2})|



```mermaid
pie showData
    title All Matches
"SymbolsHash" : 2841
"ExternalsName" : 333
"BSIM" : 5
"ExactBytesFunctionHasher" : 23
"ExactInstructionsFunctionHasher" : 13
"SigCallingCalledHasher" : 16
"BulkBasicBlockMnemonicHash" : 21
"Implied-Match" : 2
```



```mermaid
pie showData
    title First Matches
"SymbolsHash" : 2841
"ExactBytesFunctionHasher" : 23
"ExactInstructionsFunctionHasher" : 13
"BSIM" : 4
"SigCallingCalledHasher" : 16
"BulkBasicBlockMnemonicHash" : 21
"Implied-Match" : 2
```



```mermaid
pie showData
    title Diff Stats
"added_funcs_len" : 3
"deleted_funcs_len" : 0
"modified_funcs_len" : 34
```



```mermaid
pie showData
    title Symbols
"added_symbols_len" : 5
"deleted_symbols_len" : 2
```

## Strings



```mermaid
pie showData
    title Strings
"deleted_strings_len" : 1
"added_strings_len" : 0
```

### Strings Diff


```diff
--- deleted strings
+++ added strings
@@ -1 +0,0 @@
-Rsrc_HTML

```


### String References

#### Old



|String|Ref Count|Ref Func|
| :---: | :---: | :---: |
|Rsrc_HTML_65_409|1|ConflictStore_XsdSchemaTextFromHtmlResource|

#### New



|String|Ref Count|Ref Func|
| :---: | :---: | :---: |

# Deleted

# Added

## wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::GetCachedFeatureEnabledState

### Function Meta



|Key|csc_8875.dll|
| :---: | :---: |
|name|GetCachedFeatureEnabledState|
|fullname|wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::GetCachedFeatureEnabledState|
|refcount|3|
|length|302|
|called|API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::AcquireSRWLockExclusive<br>wil::details::EnsureSubscribedToFeatureConfigurationChanges<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::GetCurrentFeatureEnabledState<br>wil::details::unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_><br>wil::details_abi::heap_buffer::push_back|
|calling|wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::ReportUsage<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::__private_IsEnabled|
|paramcount|1|
|address|18004c9f8|
|sig|wil_details_FeatureStateCache __thiscall GetCachedFeatureEnabledState(FeatureImpl<struct___WilFeatureTraits_Feature_892568891> * this)|
|sym_type|Function|
|sym_source|ANALYSIS|
|external|False|


```diff
--- wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::GetCachedFeatureEnabledState
+++ wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::GetCachedFeatureEnabledState
@@ -0,0 +1,81 @@
+
+/* WARNING: Removing unreachable block (ram,0x00018004ca53) */
+/* WARNING: Removing unreachable block (ram,0x00018004ca58) */
+/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
+/* private: union wil_details_FeatureStateCache __cdecl wil::details::FeatureImpl<struct
+   __WilFeatureTraits_Feature_892568891>::GetCachedFeatureEnabledState(void) __ptr64 */
+
+void __thiscall
+wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::GetCachedFeatureEnabledState
+          (FeatureImpl<struct___WilFeatureTraits_Feature_892568891> *this)
+
+{
+  uint uVar1;
+  uint uVar2;
+  uint uVar3;
+  uint uVar4;
+  uint *in_RDX;
+  bool bVar5;
+  uint local_res18 [2];
+  undefined *local_res20;
+  undefined4 local_38;
+  undefined4 local_34;
+  undefined4 *local_30;
+  
+  in_RDX[0] = 0;
+  uVar3 = Feature_892568891__private_cppFeatureState;
+  in_RDX[1] = 0;
+  *in_RDX = Feature_892568891__private_cppFeatureState;
+  if (((byte)uVar3 & 6) == 6) {
+    return;
+  }
+  uVar2 = EnsureSubscribedToFeatureConfigurationChanges();
+  GetCurrentFeatureEnabledState(this,(int *)local_res18);
+  uVar3 = *in_RDX;
+  do {
+    uVar1 = uVar3;
+    uVar4 = uVar1 | 0x40000;
+    *in_RDX = uVar4;
+    if ((uVar1 & 4) == 0) {
+      uVar4 = uVar1 & 0xfffffbff | 0x40000 | local_res18[0] & 0x400 | 4;
+      *in_RDX = uVar4;
+    }
+    LOCK();
+    bVar5 = uVar1 != Feature_892568891__private_cppFeatureState;
+    uVar3 = uVar1;
+    if (bVar5) {
+      uVar3 = Feature_892568891__private_cppFeatureState;
+      uVar4 = Feature_892568891__private_cppFeatureState;
+    }
+    Feature_892568891__private_cppFeatureState = uVar4;
+    UNLOCK();
+  } while (bVar5);
+  if (((uVar1 & 4) != 0) || (_g_enabledStateManager == 0)) goto LAB_18004caff;
+  AcquireSRWLockExclusive((PSRWLOCK)&DAT_1800bef00);
+  local_res20 = &DAT_1800bef00;
+  if ((uVar2 == 0) || (uVar2 != DAT_1800bef14)) {
+LAB_18004caf2:
+    LOCK();
+    Feature_892568891__private_cppFeatureState =
+         Feature_892568891__private_cppFeatureState & 0xfffffffb;
+    UNLOCK();
+  }
+  else {
+    local_34 = 0;
+    local_38 = 3;
+    local_30 = &Feature_892568891__private_cppFeatureState;
+    bVar5 = details_abi::heap_buffer::push_back((heap_buffer *)&DAT_1800bef38,&local_38,0x10);
+    if (!bVar5) goto LAB_18004caf2;
+  }
+  unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>
+  ::
+  ~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>
+            ((unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>
+              *)&local_res20);
+LAB_18004caff:
+  if ((*in_RDX & 2) == 0) {
+    *in_RDX = *in_RDX & 0xfffff63e | local_res18[0] & 0x9c1;
+  }
+  return;
+}
+

```


## wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::GetCurrentFeatureEnabledState

### Function Meta



|Key|csc_8875.dll|
| :---: | :---: |
|name|GetCurrentFeatureEnabledState|
|fullname|wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::GetCurrentFeatureEnabledState|
|refcount|2|
|length|174|
|called|wil::details::WilApi_GetFeatureEnabledState|
|calling|wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::GetCachedFeatureEnabledState|
|paramcount|2|
|address|18004cb30|
|sig|wil_details_FeatureStateCache __thiscall GetCurrentFeatureEnabledState(FeatureImpl<struct___WilFeatureTraits_Feature_892568891> * this, int * param_1)|
|sym_type|Function|
|sym_source|ANALYSIS|
|external|False|


```diff
--- wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::GetCurrentFeatureEnabledState
+++ wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::GetCurrentFeatureEnabledState
@@ -0,0 +1,45 @@
+
+/* private: union wil_details_FeatureStateCache __cdecl wil::details::FeatureImpl<struct
+   __WilFeatureTraits_Feature_892568891>::GetCurrentFeatureEnabledState(int * __ptr64) __ptr64 */
+
+int * __thiscall
+wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::
+GetCurrentFeatureEnabledState
+          (FeatureImpl<struct___WilFeatureTraits_Feature_892568891> *this,int *param_1)
+
+{
+  bool bVar1;
+  FEATURE_ENABLED_STATE FVar2;
+  uint uVar3;
+  uint uVar4;
+  uint uVar5;
+  uint uVar6;
+  int *in_R8;
+  
+  FVar2 = WilApi_GetFeatureEnabledState(0x3bd1293,(FEATURE_CHANGE_TIME)param_1,in_R8);
+  param_1[0] = 0;
+  param_1[1] = 0;
+  uVar5 = -(uint)((FVar2 & 0x40) != 0) & 0x800 | -(uint)((FVar2 & 0x80) != 0) & 0x400;
+  uVar6 = uVar5 | (FVar2 & 3) << 7;
+  *param_1 = uVar6;
+  if ((FVar2 & 0xffffff3f) == 0) {
+    uVar3 = 0x40;
+  }
+  else {
+    uVar3 = 0;
+    if ((FVar2 & 0xffffff3f) == 2) {
+      uVar3 = 0x40;
+    }
+  }
+  bVar1 = false;
+  uVar4 = 1;
+  if ((uVar5 == 0xc00) || (uVar3 != 0)) {
+    bVar1 = true;
+  }
+  if ((uVar3 == 0) || (!bVar1)) {
+    uVar4 = 0;
+  }
+  *param_1 = uVar6 | uVar3 | uVar4;
+  return param_1;
+}
+

```


## wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::ReportUsage

### Function Meta



|Key|csc_8875.dll|
| :---: | :---: |
|name|ReportUsage|
|fullname|wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::ReportUsage|
|refcount|2|
|length|134|
|called|wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::GetCachedFeatureEnabledState<br>wil::details::ReportUsageToService|
|calling|wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::__private_IsEnabled|
|paramcount|4|
|address|18004e180|
|sig|void __thiscall ReportUsage(FeatureImpl<struct___WilFeatureTraits_Feature_892568891> * this, bool param_1, ReportingKind param_2, __uint64 param_3)|
|sym_type|Function|
|sym_source|ANALYSIS|
|external|False|


```diff
--- wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::ReportUsage
+++ wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::ReportUsage
@@ -0,0 +1,31 @@
+
+/* public: void __cdecl wil::details::FeatureImpl<struct
+   __WilFeatureTraits_Feature_892568891>::ReportUsage(bool,enum wil::ReportingKind,unsigned __int64)
+   __ptr64 */
+
+void __thiscall
+wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::ReportUsage
+          (FeatureImpl<struct___WilFeatureTraits_Feature_892568891> *this,bool param_1,
+          ReportingKind param_2,__uint64 param_3)
+
+{
+  ulonglong *puVar1;
+  ulonglong uVar2;
+  undefined4 local_res8;
+  undefined2 local_resc;
+  __uint64 in_stack_ffffffffffffffe0;
+  
+  uVar2 = (ulonglong)Feature_892568891__private_cppFeatureState;
+  if ((Feature_892568891__private_cppFeatureState & 4) == 0) {
+    puVar1 = (ulonglong *)GetCachedFeatureEnabledState(this);
+    uVar2 = *puVar1;
+  }
+  local_res8 = 0;
+  local_resc = 2;
+  ReportUsageToService
+            ((wil_details_FeatureReportingCache *)(this + 8),0x3bd1293,(uint)uVar2 >> 10 & 1,
+             (uint)(uVar2 >> 0xb) & 1,(FEATURE_LOGGED_TRAITS *)&local_res8,(uint)param_1,3,
+             in_stack_ffffffffffffffe0);
+  return;
+}
+

```


# Modified


*Modified functions contain code changes*
## CEnumOfflineFilesData_Flat::Next

### Match Info



|Key|csc_8737.dll - csc_8875.dll|
| :---: | :---: |
|diff_type|code,length,address,called|
|ratio|0.28|
|i_ratio|0.32|
|m_ratio|0.8|
|b_ratio|0.76|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|csc_8737.dll|csc_8875.dll|
| :---: | :---: | :---: |
|name|Next|Next|
|fullname|CEnumOfflineFilesData_Flat::Next|CEnumOfflineFilesData_Flat::Next|
|refcount|3|3|
|`length`|122|193|
|`called`|CComImpersonator::Impersonate<br>CComImpersonator::_RevertToSelf<br>CEnumOfflineFilesData_Flat::_Next|API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::EnterCriticalSection<br>API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::LeaveCriticalSection<br>CComImpersonator::Impersonate<br>CComImpersonator::_RevertToSelf<br>CEnumOfflineFilesData_Flat::_Next<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::__private_IsEnabled|
|calling|||
|paramcount|5|5|
|`address`|18004bbf0|18004d040|
|sig|long __thiscall Next(CEnumOfflineFilesData_Flat * this, ulong param_1, tagOFFLINEFILES_ITEM_DESCRIPTOR * param_2, ushort * * param_3, ulong * param_4)|long __thiscall Next(CEnumOfflineFilesData_Flat * this, ulong param_1, tagOFFLINEFILES_ITEM_DESCRIPTOR * param_2, ushort * * param_3, ulong * param_4)|
|sym_type|Function|Function|
|sym_source|ANALYSIS|ANALYSIS|
|external|False|False|

### CEnumOfflineFilesData_Flat::Next Called Diff


```diff
--- CEnumOfflineFilesData_Flat::Next called
+++ CEnumOfflineFilesData_Flat::Next called
@@ -0,0 +1,2 @@
+API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::EnterCriticalSection
+API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::LeaveCriticalSection
@@ -3,0 +6 @@
+wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::__private_IsEnabled
```


### CEnumOfflineFilesData_Flat::Next Diff


```diff
--- CEnumOfflineFilesData_Flat::Next
+++ CEnumOfflineFilesData_Flat::Next
@@ -1,25 +1,38 @@
 
 /* public: virtual long __cdecl CEnumOfflineFilesData_Flat::Next(unsigned long,struct
    tagOFFLINEFILES_ITEM_DESCRIPTOR * __ptr64,unsigned short * __ptr64 * __ptr64,unsigned long *
    __ptr64) __ptr64 */
 
 long __thiscall
 CEnumOfflineFilesData_Flat::Next
           (CEnumOfflineFilesData_Flat *this,ulong param_1,tagOFFLINEFILES_ITEM_DESCRIPTOR *param_2,
           ushort **param_3,ulong *param_4)
 
 {
-  long lVar1;
+  bool bVar1;
+  long lVar2;
   undefined4 in_register_00000014;
-  undefined4 local_18 [4];
+  undefined4 local_28 [4];
   
-  local_18[0] = 0;
-  lVar1 = CComImpersonator::Impersonate
-                    ((CComImpersonator *)local_18,(int *)CONCAT44(in_register_00000014,param_1));
-  if (-1 < lVar1) {
-    lVar1 = _Next(this,param_1,param_2,param_3,param_4);
+  local_28[0] = 0;
+  lVar2 = CComImpersonator::Impersonate
+                    ((CComImpersonator *)local_28,(int *)CONCAT44(in_register_00000014,param_1));
+  if (-1 < lVar2) {
+    bVar1 = wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::
+            __private_IsEnabled(&`private:_static_class_wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>&___ptr64___cdecl_wil::Feature<struct___WilFeatureTraits_Feature_892568891>::GetImpl(void)'
+                                 ::__l2::impl);
+    if (bVar1) {
+      EnterCriticalSection((LPCRITICAL_SECTION)(this + 0x278));
+    }
+    lVar2 = _Next(this,param_1,param_2,param_3,param_4);
+    bVar1 = wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::
+            __private_IsEnabled(&`private:_static_class_wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>&___ptr64___cdecl_wil::Feature<struct___WilFeatureTraits_Feature_892568891>::GetImpl(void)'
+                                 ::__l2::impl);
+    if (bVar1) {
+      LeaveCriticalSection((LPCRITICAL_SECTION)(this + 0x278));
+    }
   }
-  CComImpersonator::_RevertToSelf((CComImpersonator *)local_18);
-  return lVar1;
+  CComImpersonator::_RevertToSelf((CComImpersonator *)local_28);
+  return lVar2;
 }
 

```


## CEnumOfflineFilesData_Flat::~CEnumOfflineFilesData_Flat

### Match Info



|Key|csc_8737.dll - csc_8875.dll|
| :---: | :---: |
|diff_type|code,length,address,called|
|ratio|0.56|
|i_ratio|0.56|
|m_ratio|0.72|
|b_ratio|0.56|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|csc_8737.dll|csc_8875.dll|
| :---: | :---: | :---: |
|name|~CEnumOfflineFilesData_Flat|~CEnumOfflineFilesData_Flat|
|fullname|CEnumOfflineFilesData_Flat::~CEnumOfflineFilesData_Flat|CEnumOfflineFilesData_Flat::~CEnumOfflineFilesData_Flat|
|refcount|2|2|
|`length`|53|104|
|`called`|CEnumOfflineFilesData_Flat::_DestroyEnumContext<br>CPath::~CPath<br>CscUtil_DestroyItemFilterBlock|API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::DeleteCriticalSection<br>CEnumOfflineFilesData_Flat::_DestroyEnumContext<br>CPath::~CPath<br>CscUtil_DestroyItemFilterBlock<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::__private_IsEnabled|
|calling|CEnumOfflineFilesData_Flat::Release|CEnumOfflineFilesData_Flat::Release|
|paramcount|1|1|
|`address`|18004b64c|18004baec|
|sig|void __thiscall ~CEnumOfflineFilesData_Flat(CEnumOfflineFilesData_Flat * this)|void __thiscall ~CEnumOfflineFilesData_Flat(CEnumOfflineFilesData_Flat * this)|
|sym_type|Function|Function|
|sym_source|ANALYSIS|ANALYSIS|
|external|False|False|

### CEnumOfflineFilesData_Flat::~CEnumOfflineFilesData_Flat Called Diff


```diff
--- CEnumOfflineFilesData_Flat::~CEnumOfflineFilesData_Flat called
+++ CEnumOfflineFilesData_Flat::~CEnumOfflineFilesData_Flat called
@@ -0,0 +1 @@
+API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::DeleteCriticalSection
@@ -3,0 +5 @@
+wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::__private_IsEnabled
```


### CEnumOfflineFilesData_Flat::~CEnumOfflineFilesData_Flat Diff


```diff
--- CEnumOfflineFilesData_Flat::~CEnumOfflineFilesData_Flat
+++ CEnumOfflineFilesData_Flat::~CEnumOfflineFilesData_Flat
@@ -1,14 +1,23 @@
 
 /* private: __cdecl CEnumOfflineFilesData_Flat::~CEnumOfflineFilesData_Flat(void) __ptr64 */
 
 void __thiscall
 CEnumOfflineFilesData_Flat::~CEnumOfflineFilesData_Flat(CEnumOfflineFilesData_Flat *this)
 
 {
+  bool bVar1;
+  
   *(undefined ***)this = &_vftable_;
-  CscUtil_DestroyItemFilterBlock((tagOFFLINEFILES_ITEM_FILTER_BLOCK *)(this + 0x278));
+  CscUtil_DestroyItemFilterBlock((tagOFFLINEFILES_ITEM_FILTER_BLOCK *)(this + 0x2a8));
   _DestroyEnumContext(this);
+  bVar1 = wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::
+          __private_IsEnabled(&`private:_static_class_wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>&___ptr64___cdecl_wil::Feature<struct___WilFeatureTraits_Feature_892568891>::GetImpl(void)'
+                               ::__l2::impl);
+  if ((bVar1) && (*(int *)(this + 0x2a0) != 0)) {
+    DeleteCriticalSection((LPCRITICAL_SECTION)(this + 0x278));
+    *(undefined4 *)(this + 0x2a0) = 0;
+  }
   CPath::~CPath((CPath *)(this + 0x38));
   return;
 }
 

```


## CEnumOfflineFilesData_Flat::CEnumOfflineFilesData_Flat

### Match Info



|Key|csc_8737.dll - csc_8875.dll|
| :---: | :---: |
|diff_type|code,length,address|
|ratio|0.81|
|i_ratio|0.87|
|m_ratio|0.99|
|b_ratio|0.99|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|csc_8737.dll|csc_8875.dll|
| :---: | :---: | :---: |
|name|CEnumOfflineFilesData_Flat|CEnumOfflineFilesData_Flat|
|fullname|CEnumOfflineFilesData_Flat::CEnumOfflineFilesData_Flat|CEnumOfflineFilesData_Flat::CEnumOfflineFilesData_Flat|
|refcount|2|2|
|`length`|151|157|
|called|CscUtil_CopyItemFilterBlock|CscUtil_CopyItemFilterBlock|
|calling|CEnumOfflineFilesData_Flat::CreateInstance|CEnumOfflineFilesData_Flat::CreateInstance|
|paramcount|4|4|
|`address`|18004b5ac|18004b788|
|sig|undefined __thiscall CEnumOfflineFilesData_Flat(CEnumOfflineFilesData_Flat * this, tagOFFLINEFILES_ITEM_FILTER_BLOCK * param_1, int param_2, ulong param_3)|undefined __thiscall CEnumOfflineFilesData_Flat(CEnumOfflineFilesData_Flat * this, tagOFFLINEFILES_ITEM_FILTER_BLOCK * param_1, int param_2, ulong param_3)|
|sym_type|Function|Function|
|sym_source|ANALYSIS|ANALYSIS|
|external|False|False|

### CEnumOfflineFilesData_Flat::CEnumOfflineFilesData_Flat Diff


```diff
--- CEnumOfflineFilesData_Flat::CEnumOfflineFilesData_Flat
+++ CEnumOfflineFilesData_Flat::CEnumOfflineFilesData_Flat
@@ -1,38 +1,39 @@
 
 /* private: __cdecl CEnumOfflineFilesData_Flat::CEnumOfflineFilesData_Flat(struct
    tagOFFLINEFILES_ITEM_FILTER_BLOCK * __ptr64,int,unsigned long) __ptr64 */
 
 CEnumOfflineFilesData_Flat * __thiscall
 CEnumOfflineFilesData_Flat::CEnumOfflineFilesData_Flat
           (CEnumOfflineFilesData_Flat *this,tagOFFLINEFILES_ITEM_FILTER_BLOCK *param_1,int param_2,
           ulong param_3)
 
 {
   CEnumOfflineFilesData_Flat *pCVar1;
   
   *(undefined4 *)(this + 8) = 1;
   *(ulong *)(this + 0xc) = param_3;
   *(undefined ***)this = &_vftable_;
   *(int *)(this + 0x10) = param_2;
   pCVar1 = this + 0x38;
   *(undefined8 *)(this + 0x18) = 0;
   *(undefined8 *)(this + 0x20) = 0;
   *(undefined8 *)(this + 0x28) = 0;
   *(undefined8 *)(this + 0x30) = 0;
   *(CEnumOfflineFilesData_Flat **)(this + 0x250) = pCVar1;
   *(undefined8 *)(this + 0x260) = 0x208;
   *(CEnumOfflineFilesData_Flat **)(this + 600) = pCVar1;
   *(undefined8 *)(this + 0x268) = 0x208;
   *(CEnumOfflineFilesData_Flat **)(this + 0x248) = pCVar1;
   if (pCVar1 != (CEnumOfflineFilesData_Flat *)0x0) {
     *(undefined2 *)pCVar1 = 0;
   }
   *(undefined4 *)(this + 0x240) = 0x2080000;
-  *(undefined8 *)(this + 0x278) = 0;
-  *(undefined8 *)(this + 0x280) = 0;
-  *(undefined8 *)(this + 0x288) = 0;
-  *(undefined8 *)(this + 0x290) = 0;
-  CscUtil_CopyItemFilterBlock(param_1,(tagOFFLINEFILES_ITEM_FILTER_BLOCK *)(this + 0x278));
+  *(undefined4 *)(this + 0x2a0) = 0;
+  *(undefined8 *)(this + 0x2a8) = 0;
+  *(undefined8 *)(this + 0x2b0) = 0;
+  *(undefined8 *)(this + 0x2b8) = 0;
+  *(undefined8 *)(this + 0x2c0) = 0;
+  CscUtil_CopyItemFilterBlock(param_1,(tagOFFLINEFILES_ITEM_FILTER_BLOCK *)(this + 0x2a8));
   return this;
 }
 

```


## CEnumOfflineFilesData_Flat::CreateInstance

### Match Info



|Key|csc_8737.dll - csc_8875.dll|
| :---: | :---: |
|diff_type|code,length,address,called|
|ratio|0.39|
|i_ratio|0.42|
|m_ratio|0.87|
|b_ratio|0.87|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|csc_8737.dll|csc_8875.dll|
| :---: | :---: | :---: |
|name|CreateInstance|CreateInstance|
|fullname|CEnumOfflineFilesData_Flat::CreateInstance|CEnumOfflineFilesData_Flat::CreateInstance|
|refcount|3|3|
|`length`|224|175|
|`called`|CCscScope::Path<br>CEnumOfflineFilesData_Flat::CEnumOfflineFilesData_Flat<br>CPath::Copy<br>CPath::IsEmpty<br>CscLib_ItemExists<br>_guard_dispatch_icall$thunk$10345483385596137414<br>operator_new|CEnumOfflineFilesData_Flat::CEnumOfflineFilesData_Flat<br>CEnumOfflineFilesData_Flat::_Initialize<br>_guard_dispatch_icall$thunk$10345483385596137414<br>operator_new|
|calling|CEnumOfflineFilesData_Flat::Clone<br>COfflineFilesService::EnumItems|CEnumOfflineFilesData_Flat::Clone<br>COfflineFilesService::EnumItems|
|paramcount|6|6|
|`address`|18004b7ac|18004c10c|
|sig|long __cdecl CreateInstance(tagOFFLINEFILES_ITEM_FILTER_BLOCK * param_1, ushort * param_2, int param_3, ulong param_4, _GUID * param_5, void * * param_6)|long __cdecl CreateInstance(tagOFFLINEFILES_ITEM_FILTER_BLOCK * param_1, ushort * param_2, int param_3, ulong param_4, _GUID * param_5, void * * param_6)|
|sym_type|Function|Function|
|sym_source|ANALYSIS|ANALYSIS|
|external|False|False|

### CEnumOfflineFilesData_Flat::CreateInstance Called Diff


```diff
--- CEnumOfflineFilesData_Flat::CreateInstance called
+++ CEnumOfflineFilesData_Flat::CreateInstance called
@@ -1 +0,0 @@
-CCscScope::Path
@@ -3,3 +2 @@
-CPath::Copy
-CPath::IsEmpty
-CscLib_ItemExists
+CEnumOfflineFilesData_Flat::_Initialize
```


### CEnumOfflineFilesData_Flat::CreateInstance Diff


```diff
--- CEnumOfflineFilesData_Flat::CreateInstance
+++ CEnumOfflineFilesData_Flat::CreateInstance
@@ -1,47 +1,33 @@
 
 /* WARNING: Function: _guard_dispatch_icall$thunk$10345483385596137414 replaced with injection:
    guard_dispatch_icall */
 /* public: static long __cdecl CEnumOfflineFilesData_Flat::CreateInstance(struct
    tagOFFLINEFILES_ITEM_FILTER_BLOCK * __ptr64,unsigned short const * __ptr64,int,unsigned
    long,struct _GUID const & __ptr64,void * __ptr64 * __ptr64) */
 
 long __cdecl
 CEnumOfflineFilesData_Flat::CreateInstance
           (tagOFFLINEFILES_ITEM_FILTER_BLOCK *param_1,ushort *param_2,int param_3,ulong param_4,
           _GUID *param_5,void **param_6)
 
 {
   long lVar1;
-  int iVar2;
-  CEnumOfflineFilesData_Flat *this;
-  longlong *plVar3;
-  ushort *puVar4;
-  CPath *this_00;
+  CEnumOfflineFilesData_Flat *pCVar2;
   
   lVar1 = -0x7ff8fff2;
   *param_6 = (void *)0x0;
-  this = operator_new(0x298);
-  if (this != (CEnumOfflineFilesData_Flat *)0x0) {
-    plVar3 = (longlong *)CEnumOfflineFilesData_Flat(this,param_1,param_3,param_4);
-    if (plVar3 != (longlong *)0x0) {
-      lVar1 = 0;
-      if (param_2 != (ushort *)0x0) {
-        this_00 = (CPath *)(plVar3 + 7);
-        lVar1 = CPath::Copy(this_00,param_2);
-        if (-1 < lVar1) {
-          iVar2 = CPath::IsEmpty(this_00);
-          if (iVar2 == 0) {
-            puVar4 = CCscScope::Path((CCscScope *)this_00);
-            lVar1 = CscLib_ItemExists(puVar4,*(ulong *)((longlong)plVar3 + 0xc));
-          }
-        }
+  pCVar2 = operator_new(0x2c8);
+  if (pCVar2 != (CEnumOfflineFilesData_Flat *)0x0) {
+    pCVar2 = (CEnumOfflineFilesData_Flat *)
+             CEnumOfflineFilesData_Flat(pCVar2,param_1,param_3,param_4);
+    if (pCVar2 != (CEnumOfflineFilesData_Flat *)0x0) {
+      lVar1 = _Initialize(pCVar2,param_2);
+      if (-1 < lVar1) {
+        lVar1 = (*(code *)**(undefined8 **)pCVar2)(pCVar2,&IID_IEnumOfflineFilesData,param_6);
       }
-      if (-1 < lVar1) {
-        lVar1 = (**(code **)*plVar3)(plVar3,&IID_IEnumOfflineFilesData,param_6);
-      }
-      (**(code **)(*plVar3 + 0x10))(plVar3);
+      (**(code **)(*(longlong *)pCVar2 + 0x10))(pCVar2);
     }
   }
   return lVar1;
 }
 

```


## CEnumOfflineFilesData_Flat::Clone

### Match Info



|Key|csc_8737.dll - csc_8875.dll|
| :---: | :---: |
|diff_type|code,length,address,called|
|ratio|0.4|
|i_ratio|0.44|
|m_ratio|0.86|
|b_ratio|0.72|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|csc_8737.dll|csc_8875.dll|
| :---: | :---: | :---: |
|name|Clone|Clone|
|fullname|CEnumOfflineFilesData_Flat::Clone|CEnumOfflineFilesData_Flat::Clone|
|refcount|3|3|
|`length`|130|191|
|`called`|CComImpersonator::Impersonate<br>CComImpersonator::_RevertToSelf<br>CCscScope::Path<br>CEnumOfflineFilesData_Flat::CreateInstance<br>CPath::IsEmpty|API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::EnterCriticalSection<br>API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::LeaveCriticalSection<br>CComImpersonator::Impersonate<br>CComImpersonator::_RevertToSelf<br>CEnumOfflineFilesData_Flat::CreateInstance<br>CPath::IsEmpty<br>CPath::_GetConstBuffer<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::__private_IsEnabled|
|calling|||
|paramcount|2|2|
|`address`|18004b720|18004c010|
|sig|long __thiscall Clone(CEnumOfflineFilesData_Flat * this, IEnumOfflineFilesData * * param_1)|long __thiscall Clone(CEnumOfflineFilesData_Flat * this, IEnumOfflineFilesData * * param_1)|
|sym_type|Function|Function|
|sym_source|ANALYSIS|ANALYSIS|
|external|False|False|

### CEnumOfflineFilesData_Flat::Clone Called Diff


```diff
--- CEnumOfflineFilesData_Flat::Clone called
+++ CEnumOfflineFilesData_Flat::Clone called
@@ -0,0 +1,2 @@
+API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::EnterCriticalSection
+API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::LeaveCriticalSection
@@ -3 +4,0 @@
-CCscScope::Path
@@ -5,0 +7,2 @@
+CPath::_GetConstBuffer
+wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::__private_IsEnabled
```


### CEnumOfflineFilesData_Flat::Clone Diff


```diff
--- CEnumOfflineFilesData_Flat::Clone
+++ CEnumOfflineFilesData_Flat::Clone
@@ -1,32 +1,47 @@
 
 /* public: virtual long __cdecl CEnumOfflineFilesData_Flat::Clone(struct IEnumOfflineFilesData *
    __ptr64 * __ptr64) __ptr64 */
 
 long __thiscall
 CEnumOfflineFilesData_Flat::Clone(CEnumOfflineFilesData_Flat *this,IEnumOfflineFilesData **param_1)
 
 {
-  long lVar1;
-  int iVar2;
-  ushort *puVar3;
+  bool bVar1;
+  long lVar2;
+  int iVar3;
+  ushort *puVar4;
   CPath *this_00;
-  undefined4 local_res18 [2];
+  undefined4 local_res18 [4];
   _GUID *in_stack_ffffffffffffffe8;
   
-  puVar3 = (ushort *)0x0;
   local_res18[0] = 0;
-  lVar1 = CComImpersonator::Impersonate((CComImpersonator *)local_res18,(int *)param_1);
-  if (-1 < lVar1) {
+  lVar2 = CComImpersonator::Impersonate((CComImpersonator *)local_res18,(int *)param_1);
+  if (-1 < lVar2) {
+    bVar1 = wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::
+            __private_IsEnabled(&`private:_static_class_wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>&___ptr64___cdecl_wil::Feature<struct___WilFeatureTraits_Feature_892568891>::GetImpl(void)'
+                                 ::__l2::impl);
+    if (bVar1) {
+      EnterCriticalSection((LPCRITICAL_SECTION)(this + 0x278));
+    }
     this_00 = (CPath *)(this + 0x38);
-    iVar2 = CPath::IsEmpty(this_00);
-    if (iVar2 == 0) {
-      puVar3 = CCscScope::Path((CCscScope *)this_00);
+    iVar3 = CPath::IsEmpty(this_00);
+    if (iVar3 == 0) {
+      puVar4 = CPath::_GetConstBuffer(this_00);
     }
-    lVar1 = CreateInstance((tagOFFLINEFILES_ITEM_FILTER_BLOCK *)(this + 0x278),puVar3,
+    else {
+      puVar4 = (ushort *)0x0;
+    }
+    lVar2 = CreateInstance((tagOFFLINEFILES_ITEM_FILTER_BLOCK *)(this + 0x2a8),puVar4,
                            *(int *)(this + 0x10),*(ulong *)(this + 0xc),in_stack_ffffffffffffffe8,
                            param_1);
+    bVar1 = wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::
+            __private_IsEnabled(&`private:_static_class_wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>&___ptr64___cdecl_wil::Feature<struct___WilFeatureTraits_Feature_892568891>::GetImpl(void)'
+                                 ::__l2::impl);
+    if (bVar1) {
+      LeaveCriticalSection((LPCRITICAL_SECTION)(this + 0x278));
+    }
   }
   CComImpersonator::_RevertToSelf((CComImpersonator *)local_res18);
-  return lVar1;
+  return lVar2;
 }
 

```


## CEnumOfflineFilesData_Flat::Skip

### Match Info



|Key|csc_8737.dll - csc_8875.dll|
| :---: | :---: |
|diff_type|code,length,address,called|
|ratio|0.48|
|i_ratio|0.69|
|m_ratio|0.88|
|b_ratio|0.78|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|csc_8737.dll|csc_8875.dll|
| :---: | :---: | :---: |
|name|Skip|Skip|
|fullname|CEnumOfflineFilesData_Flat::Skip|CEnumOfflineFilesData_Flat::Skip|
|refcount|3|3|
|`length`|175|245|
|`called`|CComImpersonator::Impersonate<br>CComImpersonator::_RevertToSelf<br>CEnumOfflineFilesData_Flat::_Next<br>__security_check_cookie<br>memset|API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::EnterCriticalSection<br>API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::LeaveCriticalSection<br>CComImpersonator::Impersonate<br>CComImpersonator::_RevertToSelf<br>CEnumOfflineFilesData_Flat::_Next<br>__security_check_cookie<br>memset<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::__private_IsEnabled|
|calling|||
|paramcount|2|2|
|`address`|18004bec0|18004e750|
|sig|long __thiscall Skip(CEnumOfflineFilesData_Flat * this, ulong param_1)|long __thiscall Skip(CEnumOfflineFilesData_Flat * this, ulong param_1)|
|sym_type|Function|Function|
|sym_source|ANALYSIS|ANALYSIS|
|external|False|False|

### CEnumOfflineFilesData_Flat::Skip Called Diff


```diff
--- CEnumOfflineFilesData_Flat::Skip called
+++ CEnumOfflineFilesData_Flat::Skip called
@@ -0,0 +1,2 @@
+API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::EnterCriticalSection
+API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::LeaveCriticalSection
@@ -5,0 +8 @@
+wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::__private_IsEnabled
```


### CEnumOfflineFilesData_Flat::Skip Diff


```diff
--- CEnumOfflineFilesData_Flat::Skip
+++ CEnumOfflineFilesData_Flat::Skip
@@ -1,31 +1,43 @@
 
 /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
 /* public: virtual long __cdecl CEnumOfflineFilesData_Flat::Skip(unsigned long) __ptr64 */
 
 long __thiscall CEnumOfflineFilesData_Flat::Skip(CEnumOfflineFilesData_Flat *this,ulong param_1)
 
 {
-  long lVar1;
+  bool bVar1;
+  long lVar2;
   undefined4 in_register_00000014;
   undefined1 auStackY_358 [32];
   undefined4 local_328 [4];
   tagOFFLINEFILES_ITEM_DESCRIPTOR local_318 [768];
   ulonglong local_18;
   
   local_18 = __security_cookie ^ (ulonglong)auStackY_358;
   local_328[0] = 0;
-  lVar1 = CComImpersonator::Impersonate
+  lVar2 = CComImpersonator::Impersonate
                     ((CComImpersonator *)local_328,(int *)CONCAT44(in_register_00000014,param_1));
-  if (-1 < lVar1) {
-    lVar1 = 0;
-    do {
-      if (param_1 == 0) break;
+  if (-1 < lVar2) {
+    lVar2 = 0;
+    for (; param_1 != 0; param_1 = param_1 - 1) {
       memset(local_318,0,0x300);
-      lVar1 = _Next(this,1,local_318,(ushort **)0x0,(ulong *)0x0);
-      param_1 = param_1 - 1;
-    } while (lVar1 == 0);
+      bVar1 = wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::
+              __private_IsEnabled(&`private:_static_class_wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>&___ptr64___cdecl_wil::Feature<struct___WilFeatureTraits_Feature_892568891>::GetImpl(void)'
+                                   ::__l2::impl);
+      if (bVar1) {
+        EnterCriticalSection((LPCRITICAL_SECTION)(this + 0x278));
+      }
+      lVar2 = _Next(this,1,local_318,(ushort **)0x0,(ulong *)0x0);
+      bVar1 = wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::
+              __private_IsEnabled(&`private:_static_class_wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>&___ptr64___cdecl_wil::Feature<struct___WilFeatureTraits_Feature_892568891>::GetImpl(void)'
+                                   ::__l2::impl);
+      if (bVar1) {
+        LeaveCriticalSection((LPCRITICAL_SECTION)(this + 0x278));
+      }
+      if (lVar2 != 0) break;
+    }
   }
   CComImpersonator::_RevertToSelf((CComImpersonator *)local_328);
-  return lVar1;
+  return lVar2;
 }
 

```


## CEnumOfflineFilesData_Flat::Reset

### Match Info



|Key|csc_8737.dll - csc_8875.dll|
| :---: | :---: |
|diff_type|code,length,address,called|
|ratio|0.54|
|i_ratio|0.45|
|m_ratio|0.65|
|b_ratio|0.65|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|csc_8737.dll|csc_8875.dll|
| :---: | :---: | :---: |
|name|Reset|Reset|
|fullname|CEnumOfflineFilesData_Flat::Reset|CEnumOfflineFilesData_Flat::Reset|
|refcount|3|3|
|`length`|54|132|
|`called`|CComImpersonator::Impersonate<br>CComImpersonator::_RevertToSelf<br>CEnumOfflineFilesData_Flat::_DestroyEnumContext|API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::EnterCriticalSection<br>API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::LeaveCriticalSection<br>CComImpersonator::Impersonate<br>CComImpersonator::_RevertToSelf<br>CEnumOfflineFilesData_Flat::_DestroyEnumContext<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::__private_IsEnabled|
|calling|||
|paramcount|1|1|
|`address`|18004bdc0|18004e480|
|sig|long __thiscall Reset(CEnumOfflineFilesData_Flat * this)|long __thiscall Reset(CEnumOfflineFilesData_Flat * this)|
|sym_type|Function|Function|
|sym_source|ANALYSIS|ANALYSIS|
|external|False|False|

### CEnumOfflineFilesData_Flat::Reset Called Diff


```diff
--- CEnumOfflineFilesData_Flat::Reset called
+++ CEnumOfflineFilesData_Flat::Reset called
@@ -0,0 +1,2 @@
+API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::EnterCriticalSection
+API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::LeaveCriticalSection
@@ -3,0 +6 @@
+wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::__private_IsEnabled
```


### CEnumOfflineFilesData_Flat::Reset Diff


```diff
--- CEnumOfflineFilesData_Flat::Reset
+++ CEnumOfflineFilesData_Flat::Reset
@@ -1,19 +1,32 @@
 
 /* public: virtual long __cdecl CEnumOfflineFilesData_Flat::Reset(void) __ptr64 */
 
 long __thiscall CEnumOfflineFilesData_Flat::Reset(CEnumOfflineFilesData_Flat *this)
 
 {
-  long lVar1;
+  bool bVar1;
+  long lVar2;
   int *in_RDX;
   undefined4 local_res10 [6];
   
   local_res10[0] = 0;
-  lVar1 = CComImpersonator::Impersonate((CComImpersonator *)local_res10,in_RDX);
-  if (-1 < lVar1) {
+  lVar2 = CComImpersonator::Impersonate((CComImpersonator *)local_res10,in_RDX);
+  if (-1 < lVar2) {
+    bVar1 = wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::
+            __private_IsEnabled(&`private:_static_class_wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>&___ptr64___cdecl_wil::Feature<struct___WilFeatureTraits_Feature_892568891>::GetImpl(void)'
+                                 ::__l2::impl);
+    if (bVar1) {
+      EnterCriticalSection((LPCRITICAL_SECTION)(this + 0x278));
+    }
     _DestroyEnumContext(this);
+    bVar1 = wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::
+            __private_IsEnabled(&`private:_static_class_wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>&___ptr64___cdecl_wil::Feature<struct___WilFeatureTraits_Feature_892568891>::GetImpl(void)'
+                                 ::__l2::impl);
+    if (bVar1) {
+      LeaveCriticalSection((LPCRITICAL_SECTION)(this + 0x278));
+    }
   }
   CComImpersonator::_RevertToSelf((CComImpersonator *)local_res10);
   return 0;
 }
 

```


## CPath::Copy

### Match Info



|Key|csc_8737.dll - csc_8875.dll|
| :---: | :---: |
|diff_type|code,name,fullname,refcount,length,sig,address,calling,called,parent|
|ratio|0.21|
|i_ratio|0.16|
|m_ratio|0.95|
|b_ratio|0.52|
|match_types|Implied Match|

### Function Meta Diff



|Key|csc_8737.dll|csc_8875.dll|
| :---: | :---: | :---: |
|`name`|Copy|_Initialize|
|`fullname`|CPath::Copy|CEnumOfflineFilesData_Flat::_Initialize|
|`refcount`|58|2|
|`length`|239|187|
|`called`|NTDLL.DLL::RtlInitUnicodeString<br>NTDLL.DLL::RtlpEnsureBufferSize<br>ResultFromNtStatus<br>memmove|API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::InitializeCriticalSectionAndSpinCount<br>CPath::Copy<br>CPath::IsEmpty<br>CPath::_GetConstBuffer<br>CscLib_ItemExists<br>ResultFromLastError<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::__private_IsEnabled|
|`calling`|<details><summary>Expand for full list:<br>CAsyncProgressRouter::_AddToProgressInfoQueue<br>CConflictStore::CreateConflictEnumerator<br>CCscShareEnum::_CreateUNCPath<br>CEnumOfflineFilesData::CreateInstance<br>CEnumOfflineFilesData_Flat::CreateInstance<br>CEventPreProcessor_ItemRenamed::Initialize<br>CEventPreProcessor_PathAndItemType::Initialize<br>CEventPreProcessor_PrefetchFileBegin::Initialize<br>CEventPreProcessor_PrefetchFileEnd::Initialize<br>CEventPreProcessor_SyncConflictRecAction::Initialize<br>CEventPreProcessor_SyncFileResult::Initialize</summary>CEventPreProcessor_TransparentCacheItemNotify::Initialize<br>CFastSyncController::SynchronizePath<br>CFastSyncController::_GetCachedItemInfo<br>CFastSyncController::_GetParentItemPinState<br>COfflineFilesSyncItem::AddEntry<br>COfflineFilesSyncItem::QueryEntry<br>COfflineFilesSyncItem::UpdateEntry<br>COfflineRenameDeleteConfig::_ConvertValueNameToUncPath<br>COneItemSyncStateCollector::Collect<br>CRecoveryTask::Execute<br>CServiceTaskManager::Initialize<br>CSinglePathEnum::Next<br>CSinglePathEnum::SetPath<br>CStdConflictResolver::_TryResolveConflictWithFixedRules<br>CSyncAction_KeepBoth_LDir_RFile::Initialize<br>CSyncAction_KeepBoth_LFile_RDir::Initialize<br>CSyncAction_KeepBoth_LFile_RFile::Initialize<br>CTraversor<struct_tagOFFLINEFILES_ITEM_DESCRIPTOR>::Traverse<br>CTraversorSourceCscDB::FindFirst<br>ConflictStore_CreateStoreDirectory<br>ConflictStore_GetStorePath<br>ConflictStore_PreparePathForXMLParser<br>ConflictStore_TranslatePathFromXMLParser<br>CscAgentp_DriverUpcall_CvtPathToUNC<br>CscAgentp_ExcludeCscCacheFromBackup<br>CscEnum_QueryCachedSharePaths<br>CscLib_GetCacheLocation<br>CscLib_GetRemoteBypassPath<br>CscLib_GetScopePath<br>CscLib_IsAnythingPinnedInCache<br>CscLib_RenameDir<br>CscLib_RenameItemInPathMap<br>CscSync_TouchAncestors<br>CscUtil_GetRemotePath<br>CscUtil_PathToServerPath<br>EventDispatcherRcv_ItemModified</details>|CEnumOfflineFilesData_Flat::CreateInstance|
|paramcount|2|2|
|`address`|18001da60|18004f160|
|`sig`|long __thiscall Copy(CPath * this, ushort * param_1)|long __thiscall _Initialize(CEnumOfflineFilesData_Flat * this, ushort * param_1)|
|sym_type|Function|Function|
|sym_source|ANALYSIS|ANALYSIS|
|external|False|False|

### CPath::Copy Called Diff


```diff
--- CPath::Copy called
+++ CEnumOfflineFilesData_Flat::_Initialize called
@@ -1,4 +1,7 @@
-NTDLL.DLL::RtlInitUnicodeString
-NTDLL.DLL::RtlpEnsureBufferSize
-ResultFromNtStatus
-memmove
+API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::InitializeCriticalSectionAndSpinCount
+CPath::Copy
+CPath::IsEmpty
+CPath::_GetConstBuffer
+CscLib_ItemExists
+ResultFromLastError
+wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::__private_IsEnabled
```


### CPath::Copy Calling Diff


```diff
--- CPath::Copy calling
+++ CEnumOfflineFilesData_Flat::_Initialize calling
@@ -1,4 +0,0 @@
-CAsyncProgressRouter::_AddToProgressInfoQueue
-CConflictStore::CreateConflictEnumerator
-CCscShareEnum::_CreateUNCPath
-CEnumOfflineFilesData::CreateInstance
@@ -6,42 +1,0 @@
-CEventPreProcessor_ItemRenamed::Initialize
-CEventPreProcessor_PathAndItemType::Initialize
-CEventPreProcessor_PrefetchFileBegin::Initialize
-CEventPreProcessor_PrefetchFileEnd::Initialize
-CEventPreProcessor_SyncConflictRecAction::Initialize
-CEventPreProcessor_SyncFileResult::Initialize
-CEventPreProcessor_TransparentCacheItemNotify::Initialize
-CFastSyncController::SynchronizePath
-CFastSyncController::_GetCachedItemInfo
-CFastSyncController::_GetParentItemPinState
-COfflineFilesSyncItem::AddEntry
-COfflineFilesSyncItem::QueryEntry
-COfflineFilesSyncItem::UpdateEntry
-COfflineRenameDeleteConfig::_ConvertValueNameToUncPath
-COneItemSyncStateCollector::Collect
-CRecoveryTask::Execute
-CServiceTaskManager::Initialize
-CSinglePathEnum::Next
-CSinglePathEnum::SetPath
-CStdConflictResolver::_TryResolveConflictWithFixedRules
-CSyncAction_KeepBoth_LDir_RFile::Initialize
-CSyncAction_KeepBoth_LFile_RDir::Initialize
-CSyncAction_KeepBoth_LFile_RFile::Initialize
-CTraversor<struct_tagOFFLINEFILES_ITEM_DESCRIPTOR>::Traverse
-CTraversorSourceCscDB::FindFirst
-ConflictStore_CreateStoreDirectory
-ConflictStore_GetStorePath
-ConflictStore_PreparePathForXMLParser
-ConflictStore_TranslatePathFromXMLParser
-CscAgentp_DriverUpcall_CvtPathToUNC
-CscAgentp_ExcludeCscCacheFromBackup
-CscEnum_QueryCachedSharePaths
-CscLib_GetCacheLocation
-CscLib_GetRemoteBypassPath
-CscLib_GetScopePath
-CscLib_IsAnythingPinnedInCache
-CscLib_RenameDir
-CscLib_RenameItemInPathMap
-CscSync_TouchAncestors
-CscUtil_GetRemotePath
-CscUtil_PathToServerPath
-EventDispatcherRcv_ItemModified
```


### CPath::Copy Diff


```diff
--- CPath::Copy
+++ CEnumOfflineFilesData_Flat::_Initialize
@@ -1,44 +1,46 @@
 
-/* public: long __cdecl CPath::Copy(unsigned short const * __ptr64) __ptr64 */
+/* private: long __cdecl CEnumOfflineFilesData_Flat::_Initialize(unsigned short const * __ptr64)
+   __ptr64 */
 
-long __thiscall CPath::Copy(CPath *this,ushort *param_1)
+long __thiscall
+CEnumOfflineFilesData_Flat::_Initialize(CEnumOfflineFilesData_Flat *this,ushort *param_1)
 
 {
-  ulonglong uVar1;
-  CPath *pCVar2;
+  bool bVar1;
+  BOOL BVar2;
   int iVar3;
-  long lVar4;
-  ulonglong local_18;
-  void *pvStack_10;
+  int iVar4;
+  ushort *puVar5;
+  CPath *this_00;
   
-  local_18 = 0;
-  pvStack_10 = (void *)0x0;
-  RtlInitUnicodeString(&local_18);
-  lVar4 = 0;
-  *(undefined2 *)(this + 0x208) = 0;
-  uVar1 = (local_18 & 0xffff) + 2;
-  if (uVar1 < 0xffff) {
-    pCVar2 = this + 0x218;
-    if ((pCVar2 == (CPath *)0x0) || (*(ulonglong *)(this + 0x228) < uVar1)) {
-      iVar3 = RtlpEnsureBufferSize(0,pCVar2);
-      if (iVar3 < 0) {
-        lVar4 = -0x3fffffe9;
-        goto LAB_0;
+  bVar1 = wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::
+          __private_IsEnabled(&`private:_static_class_wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>&___ptr64___cdecl_wil::Feature<struct___WilFeatureTraits_Feature_892568891>::GetImpl(void)'
+                               ::__l2::impl);
+  iVar3 = 0;
+  if (bVar1) {
+    BVar2 = InitializeCriticalSectionAndSpinCount((LPCRITICAL_SECTION)(this + 0x278),0);
+    if (BVar2 == 0) {
+      iVar3 = ResultFromLastError();
+    }
+    else {
+      *(undefined4 *)(this + 0x2a0) = 1;
+      iVar3 = 0;
+    }
+  }
+  bVar1 = wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::
+          __private_IsEnabled(&`private:_static_class_wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>&___ptr64___cdecl_wil::Feature<struct___WilFeatureTraits_Feature_892568891>::GetImpl(void)'
+                               ::__l2::impl);
+  if (((!bVar1) || (-1 < iVar3)) && (param_1 != (ushort *)0x0)) {
+    this_00 = (CPath *)(this + 0x38);
+    iVar3 = CPath::Copy(this_00,param_1);
+    if (-1 < iVar3) {
+      iVar4 = CPath::IsEmpty(this_00);
+      if (iVar4 == 0) {
+        puVar5 = CPath::_GetConstBuffer(this_00);
+        iVar3 = CscLib_ItemExists(puVar5,*(ulong *)(this + 0xc));
       }
     }
-    *(longlong *)(this + 0x210) = *(longlong *)pCVar2;
-    memmove((void *)(*(longlong *)pCVar2 + (ulonglong)(*(ushort *)(this + 0x208) >> 1) * 2),
-            pvStack_10,(ulonglong)(ushort)local_18);
-    local_18._0_2_ = (ushort)local_18 + *(short *)(this + 0x208);
-    *(ushort *)(this + 0x208) = (ushort)local_18;
-    *(ushort *)(this + 0x20a) = (ushort)local_18 + 2;
-    *(undefined2 *)(*(longlong *)(this + 0x210) + (ulonglong)((ushort)local_18 >> 1) * 2) = 0;
   }
-  else {
-    lVar4 = -0x3ffffefa;
-LAB_0:
-    lVar4 = ResultFromNtStatus(lVar4);
-  }
-  return lVar4;
+  return iVar3;
 }
 

```


## CPath::IsEmpty

### Match Info



|Key|csc_8737.dll - csc_8875.dll|
| :---: | :---: |
|diff_type|code,name,fullname,refcount,length,sig,address,calling,called,parent|
|ratio|0.38|
|i_ratio|0.07|
|m_ratio|0.57|
|b_ratio|0.21|
|match_types|Implied Match|

### Function Meta Diff



|Key|csc_8737.dll|csc_8875.dll|
| :---: | :---: | :---: |
|`name`|IsEmpty|__private_IsEnabled|
|`fullname`|CPath::IsEmpty|wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::__private_IsEnabled|
|`refcount`|11|12|
|`length`|32|78|
|`called`||API-MS-WIN-CORE-SYSINFO-L1-1-0.DLL::GetTickCount<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::GetCachedFeatureEnabledState<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::ReportUsage|
|`calling`|CAgentReconnectScopesTaskBase::Execute<br>CCscScopeEnum::NextScope<br>CEnumOfflineFilesData::Clone<br>CEnumOfflineFilesData::CreateInstance<br>CEnumOfflineFilesData_Flat::Clone<br>CEnumOfflineFilesData_Flat::CreateInstance<br>CEnumOfflineFilesData_Flat::_Next<br>CFastSyncController::SynchronizePath<br>CscLib_GetCacheLocation<br>CscLib_GetScopePath|CEnumOfflineFilesData_Flat::Clone<br>CEnumOfflineFilesData_Flat::Next<br>CEnumOfflineFilesData_Flat::Reset<br>CEnumOfflineFilesData_Flat::Skip<br>CEnumOfflineFilesData_Flat::_Initialize<br>CEnumOfflineFilesData_Flat::~CEnumOfflineFilesData_Flat|
|paramcount|1|1|
|`address`|18002b400|18004f704|
|`sig`|int __thiscall IsEmpty(CPath * this)|bool __thiscall __private_IsEnabled(FeatureImpl<struct___WilFeatureTraits_Feature_892568891> * this)|
|sym_type|Function|Function|
|sym_source|ANALYSIS|ANALYSIS|
|external|False|False|

### CPath::IsEmpty Called Diff


```diff
--- CPath::IsEmpty called
+++ wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::__private_IsEnabled called
@@ -0,0 +1,3 @@
+API-MS-WIN-CORE-SYSINFO-L1-1-0.DLL::GetTickCount
+wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::GetCachedFeatureEnabledState
+wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::ReportUsage
```


### CPath::IsEmpty Calling Diff


```diff
--- CPath::IsEmpty calling
+++ wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::__private_IsEnabled calling
@@ -1,4 +0,0 @@
-CAgentReconnectScopesTaskBase::Execute
-CCscScopeEnum::NextScope
-CEnumOfflineFilesData::Clone
-CEnumOfflineFilesData::CreateInstance
@@ -6,5 +2,5 @@
-CEnumOfflineFilesData_Flat::CreateInstance
-CEnumOfflineFilesData_Flat::_Next
-CFastSyncController::SynchronizePath
-CscLib_GetCacheLocation
-CscLib_GetScopePath
+CEnumOfflineFilesData_Flat::Next
+CEnumOfflineFilesData_Flat::Reset
+CEnumOfflineFilesData_Flat::Skip
+CEnumOfflineFilesData_Flat::_Initialize
+CEnumOfflineFilesData_Flat::~CEnumOfflineFilesData_Flat
```


### CPath::IsEmpty Diff


```diff
--- CPath::IsEmpty
+++ wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::__private_IsEnabled
@@ -1,15 +1,19 @@
 
-/* public: int __cdecl CPath::IsEmpty(void) __ptr64 */
+/* public: bool __cdecl wil::details::FeatureImpl<struct
+   __WilFeatureTraits_Feature_892568891>::__private_IsEnabled(void) __ptr64 */
 
-int __thiscall CPath::IsEmpty(CPath *this)
+bool __thiscall
+wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::__private_IsEnabled
+          (FeatureImpl<struct___WilFeatureTraits_Feature_892568891> *this)
 
 {
-  short *psVar1;
+  ReportingKind in_R8D;
+  __uint64 in_R9;
+  undefined1 local_res10;
   
-  psVar1 = *(short **)(this + 0x218);
-  if (psVar1 == *(short **)(this + 0x220)) {
-    psVar1 = *(short **)(this + 0x210);
-  }
-  return (int)(*psVar1 == 0);
+  GetCachedFeatureEnabledState(this);
+  ReportUsage(this,(bool)(local_res10 & 1),in_R8D,in_R9);
+  Feature_892568891__private_lastUsedTickCount = GetTickCount();
+  return (bool)(local_res10 & 1);
 }
 

```


# Modified (No Code Changes)


*Slightly modified functions have no code changes, rather differnces in:*
- refcount
- length
- called
- calling
- name
- fullname

## API-MS-WIN-CORE-LIBRARYLOADER-L1-2-1.DLL::FindResourceW

### Match Info



|Key|csc_8737.dll - csc_8875.dll|
| :---: | :---: |
|diff_type|refcount,calling|
|ratio|1.0|
|i_ratio|1.0|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash,ExternalsName|

### Function Meta Diff



|Key|csc_8737.dll|csc_8875.dll|
| :---: | :---: | :---: |
|name|FindResourceW|FindResourceW|
|fullname|API-MS-WIN-CORE-LIBRARYLOADER-L1-2-1.DLL::FindResourceW|API-MS-WIN-CORE-LIBRARYLOADER-L1-2-1.DLL::FindResourceW|
|`refcount`|2|3|
|length|0|0|
|called|||
|`calling`|CscUtil_SizeofStringResource|ConflictStore_XsdSchemaTextFromHtmlResource<br>CscUtil_SizeofStringResource|
|paramcount|3|3|
|address|EXTERNAL:00000075|EXTERNAL:00000075|
|sig|HRSRC __stdcall FindResourceW(HMODULE hModule, LPCWSTR lpName, LPCWSTR lpType)|HRSRC __stdcall FindResourceW(HMODULE hModule, LPCWSTR lpName, LPCWSTR lpType)|
|sym_type|Function|Function|
|sym_source|IMPORTED|IMPORTED|
|external|True|True|

### API-MS-WIN-CORE-LIBRARYLOADER-L1-2-1.DLL::FindResourceW Calling Diff


```diff
--- API-MS-WIN-CORE-LIBRARYLOADER-L1-2-1.DLL::FindResourceW calling
+++ API-MS-WIN-CORE-LIBRARYLOADER-L1-2-1.DLL::FindResourceW calling
@@ -0,0 +1 @@
+ConflictStore_XsdSchemaTextFromHtmlResource
```


## API-MS-WIN-CORE-SYSINFO-L1-1-0.DLL::GetTickCount

### Match Info



|Key|csc_8737.dll - csc_8875.dll|
| :---: | :---: |
|diff_type|refcount,calling|
|ratio|1.0|
|i_ratio|1.0|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash,ExternalsName|

### Function Meta Diff



|Key|csc_8737.dll|csc_8875.dll|
| :---: | :---: | :---: |
|name|GetTickCount|GetTickCount|
|fullname|API-MS-WIN-CORE-SYSINFO-L1-1-0.DLL::GetTickCount|API-MS-WIN-CORE-SYSINFO-L1-1-0.DLL::GetTickCount|
|`refcount`|10|11|
|length|0|0|
|called|||
|`calling`|CAsyncProgressRouter::CAsyncProgressRouter<br>CAsyncProgressRouter::_ThreadProc<br>CTickCounter::GetTicks<br>EventQueue_PacketProcessingProc<br>__security_init_cookie<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_Servicing_MSRC94603>::__private_IsEnabled|CAsyncProgressRouter::CAsyncProgressRouter<br>CAsyncProgressRouter::_ThreadProc<br>CTickCounter::GetTicks<br>EventQueue_PacketProcessingProc<br>__security_init_cookie<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::__private_IsEnabled<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_Servicing_MSRC94603>::__private_IsEnabled|
|paramcount|0|0|
|address|EXTERNAL:000000b4|EXTERNAL:000000b4|
|sig|DWORD __stdcall GetTickCount(void)|DWORD __stdcall GetTickCount(void)|
|sym_type|Function|Function|
|sym_source|IMPORTED|IMPORTED|
|external|True|True|

### API-MS-WIN-CORE-SYSINFO-L1-1-0.DLL::GetTickCount Calling Diff


```diff
--- API-MS-WIN-CORE-SYSINFO-L1-1-0.DLL::GetTickCount calling
+++ API-MS-WIN-CORE-SYSINFO-L1-1-0.DLL::GetTickCount calling
@@ -5,0 +6 @@
+wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::__private_IsEnabled
```


## WilApi_GetFeatureEnabledState

### Match Info



|Key|csc_8737.dll - csc_8875.dll|
| :---: | :---: |
|diff_type|refcount,address,calling|
|ratio|1.0|
|i_ratio|0.44|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|csc_8737.dll|csc_8875.dll|
| :---: | :---: | :---: |
|name|WilApi_GetFeatureEnabledState|WilApi_GetFeatureEnabledState|
|fullname|wil::details::WilApi_GetFeatureEnabledState|wil::details::WilApi_GetFeatureEnabledState|
|`refcount`|2|3|
|length|35|35|
|called|_guard_dispatch_icall$thunk$10345483385596137414|_guard_dispatch_icall$thunk$10345483385596137414|
|`calling`|wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_Servicing_MSRC94603>::GetCurrentFeatureEnabledState<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_UxPerfImp>::GetCurrentFeatureEnabledState|wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::GetCurrentFeatureEnabledState<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_Servicing_MSRC94603>::GetCurrentFeatureEnabledState<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_UxPerfImp>::GetCurrentFeatureEnabledState|
|paramcount|3|3|
|`address`|180064958|18004ee68|
|sig|FEATURE_ENABLED_STATE __cdecl WilApi_GetFeatureEnabledState(uint param_1, FEATURE_CHANGE_TIME param_2, int * param_3)|FEATURE_ENABLED_STATE __cdecl WilApi_GetFeatureEnabledState(uint param_1, FEATURE_CHANGE_TIME param_2, int * param_3)|
|sym_type|Function|Function|
|sym_source|ANALYSIS|ANALYSIS|
|external|False|False|

### WilApi_GetFeatureEnabledState Calling Diff


```diff
--- wil::details::WilApi_GetFeatureEnabledState calling
+++ wil::details::WilApi_GetFeatureEnabledState calling
@@ -0,0 +1 @@
+wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::GetCurrentFeatureEnabledState
```


## ReportUsageToService

### Match Info



|Key|csc_8737.dll - csc_8875.dll|
| :---: | :---: |
|diff_type|refcount,address,calling|
|ratio|1.0|
|i_ratio|0.82|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|csc_8737.dll|csc_8875.dll|
| :---: | :---: | :---: |
|name|ReportUsageToService|ReportUsageToService|
|fullname|wil::details::ReportUsageToService|wil::details::ReportUsageToService|
|`refcount`|3|4|
|length|154|154|
|called|_guard_dispatch_icall$thunk$10345483385596137414<br>wil::details::ReportUsageToServiceDirect<br>wil_details_MapReportingKind|_guard_dispatch_icall$thunk$10345483385596137414<br>wil::details::ReportUsageToServiceDirect<br>wil_details_MapReportingKind|
|`calling`|wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_Servicing_MSRC94603>::ReportUsage<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_UxPerfImp>::ReportUsage|wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::ReportUsage<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_Servicing_MSRC94603>::ReportUsage<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_UxPerfImp>::ReportUsage|
|paramcount|8|8|
|`address`|180063820|18004e210|
|sig|void __cdecl ReportUsageToService(wil_details_FeatureReportingCache * param_1, uint param_2, int param_3, int param_4, FEATURE_LOGGED_TRAITS * param_5, int param_6, wil_ReportingKind param_7, __uint64 param_8)|void __cdecl ReportUsageToService(wil_details_FeatureReportingCache * param_1, uint param_2, int param_3, int param_4, FEATURE_LOGGED_TRAITS * param_5, int param_6, wil_ReportingKind param_7, __uint64 param_8)|
|sym_type|Function|Function|
|sym_source|ANALYSIS|ANALYSIS|
|external|False|False|

### ReportUsageToService Calling Diff


```diff
--- wil::details::ReportUsageToService calling
+++ wil::details::ReportUsageToService calling
@@ -0,0 +1 @@
+wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::ReportUsage
```


## ResultFromLastError

### Match Info



|Key|csc_8737.dll - csc_8875.dll|
| :---: | :---: |
|diff_type|refcount,calling|
|ratio|1.0|
|i_ratio|0.89|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|csc_8737.dll|csc_8875.dll|
| :---: | :---: | :---: |
|name|ResultFromLastError|ResultFromLastError|
|fullname|ResultFromLastError|ResultFromLastError|
|`refcount`|129|130|
|length|33|33|
|called|API-MS-WIN-CORE-ERRORHANDLING-L1-1-0.DLL::GetLastError|API-MS-WIN-CORE-ERRORHANDLING-L1-1-0.DLL::GetLastError|
|`calling`|<details><summary>Expand for full list:<br>AdminPin_ProcessAdminPinSettings<br>CAgentTaskGroupVisitor_Init::Visit<br>CAsyncProgressRouter::Initialize<br>CAsyncProgressRouter::_AddToProgressInfoQueue<br>CAuthInfoList::CollectAuthInfoForLoggedOnUsers<br>CAuthInfoList::CollectAuthInfoForUserSession<br>CAuthInfoList::_CollectUserAuthInfo<br>CComTemporaryRevertToSelf::RevertToSelf<br>CComputerPolicyValueHandler::_PostRefresh<br>CCscEvtSysErrorMsg::_Format<br>CCscScopeEnum::~CCscScopeEnum</summary>CEnumOfflineFilesData::CreateInstance<br>CFastSyncController::Initialize<br>CFastSyncController::_InitFastSyncThread<br>CFastSyncController::_PrepForSyncThreadUninitCallback<br>CFastSyncController::_UninitFastSyncThread<br>CInvSemaphoreImpl::_Initialize<br>CItemFilter::_DestroyFilterControlBlocks<br>CItemFilter::_StripTimeInfoFromFileTime<br>COfflineFilesService::GetDiskSpaceInformationW<br>COfflineFilesSetting::DeletePreferenceInternal<br>COfflineFilesSetting::SetPreferenceInternal<br>COfflineFilesSyncItem::_Initialize<br>COfflineFilesSyncItem::_WaitOnMutex<br>CPerfCounterSet::CreateCounterSetInstance<br>CPolicyChgMonitor::Initialize<br>CPolicyChgMonitor::Reset<br>CPolicyValueHandler::CSettings::Refresh<br>CPolicyValueHandler::_GetObjectHandle<br>CPolicyValueHandler::_Reset<br>CServiceEvent::Fire<br>CServiceTaskManager::Initialize<br>CServiceTaskManager::_QueueTaskForDelayedExecution<br>CServiceTaskManager::_QueueTaskForImmediateExecution<br>CServiceTaskManager::_TaskThreadProc<br>CSlowLinkConfigInfo::LoadInfo<br>CStdConflictResolver::_ComputeNewPathForKeepingBothResolution<br>CThreadPriority::_Set<br>CUserPolicyValueHandler::Initialize<br>CUserPolicyValueHandler::_PostRefresh<br>CUserPolicyValueHandler::_PreRefresh<br>CWaitableOperation::Initialize<br>CWaitableOperation::Signal<br>ConflictStore_CreateStoreDirectory<br>ConflictStore_FileTimeToDateTimeString<br>ConflictStore_SetConflictTime<br>ConflictStore_XsdSchemaTextFromHtmlResource<br>CscAgent_Start<br>CscAgent_TaskIsComplete<br>CscAgentp_StartAgentThread<br>CscAgentp_StopAgentThread<br>CscAgentp_ThreadProc<br>CscDel_ShouldDelete<br>CscSec_ConvertSidToStringSid<br>CscSec_ConvertStringSidToSid<br>CscSec_CreateSidCopy<br>CscSec_GetAuthIdFromToken<br>CscSec_GetSessionIdFromToken<br>CscSec_GetSidFromToken<br>CscSec_LookupAccountName<br>CscSec_LookupAccountSid<br>CscSec_OpenThreadTokenForAccessCheckAndImpersonation<br>CscSec_OpenToken<br>CscSec_TestTokenMembership<br>CscServiceMain<br>CscService_CreateGlobalThreadSyncObjects<br>CscService_DoWorkOnServiceMainThread<br>CscService_Initialize<br>CscService_SubmitTask<br>CscTpp_CreateThreadPool<br>CscUtil_CopyHandle<br>CscUtil_ExpandEnvironmentStringsAlloc<br>CscUtil_ExpandEnvironmentStringsAllocForUser<br>CscUtil_ExpandStringInPlaceEx<br>CscUtil_FormatString<br>CscUtil_FormatString_ArgList<br>CscUtil_GetThreadPriority<br>CscUtil_HeapFree<br>CscUtil_HeapReAlloc<br>CscUtil_LoadStringAlloc<br>CscUtil_SetThreadPriorityTrace<br>EventDispatcher_Initialize<br>EventDispatcher_RegisterEventSink<br>EventQueue_QueueWorkItem<br>FireEvent_ItemPinned<br>SettingsChgMon_Initialize<br>SettingsChgMon_InitializeThreadpool<br>SettingsChgMon_SetTimer</details>|<details><summary>Expand for full list:<br>AdminPin_ProcessAdminPinSettings<br>CAgentTaskGroupVisitor_Init::Visit<br>CAsyncProgressRouter::Initialize<br>CAsyncProgressRouter::_AddToProgressInfoQueue<br>CAuthInfoList::CollectAuthInfoForLoggedOnUsers<br>CAuthInfoList::CollectAuthInfoForUserSession<br>CAuthInfoList::_CollectUserAuthInfo<br>CComTemporaryRevertToSelf::RevertToSelf<br>CComputerPolicyValueHandler::_PostRefresh<br>CCscEvtSysErrorMsg::_Format<br>CCscScopeEnum::~CCscScopeEnum</summary>CEnumOfflineFilesData::CreateInstance<br>CEnumOfflineFilesData_Flat::_Initialize<br>CFastSyncController::Initialize<br>CFastSyncController::_InitFastSyncThread<br>CFastSyncController::_PrepForSyncThreadUninitCallback<br>CFastSyncController::_UninitFastSyncThread<br>CInvSemaphoreImpl::_Initialize<br>CItemFilter::_DestroyFilterControlBlocks<br>CItemFilter::_StripTimeInfoFromFileTime<br>COfflineFilesService::GetDiskSpaceInformationW<br>COfflineFilesSetting::DeletePreferenceInternal<br>COfflineFilesSetting::SetPreferenceInternal<br>COfflineFilesSyncItem::_Initialize<br>COfflineFilesSyncItem::_WaitOnMutex<br>CPerfCounterSet::CreateCounterSetInstance<br>CPolicyChgMonitor::Initialize<br>CPolicyChgMonitor::Reset<br>CPolicyValueHandler::CSettings::Refresh<br>CPolicyValueHandler::_GetObjectHandle<br>CPolicyValueHandler::_Reset<br>CServiceEvent::Fire<br>CServiceTaskManager::Initialize<br>CServiceTaskManager::_QueueTaskForDelayedExecution<br>CServiceTaskManager::_QueueTaskForImmediateExecution<br>CServiceTaskManager::_TaskThreadProc<br>CSlowLinkConfigInfo::LoadInfo<br>CStdConflictResolver::_ComputeNewPathForKeepingBothResolution<br>CThreadPriority::_Set<br>CUserPolicyValueHandler::Initialize<br>CUserPolicyValueHandler::_PostRefresh<br>CUserPolicyValueHandler::_PreRefresh<br>CWaitableOperation::Initialize<br>CWaitableOperation::Signal<br>ConflictStore_CreateStoreDirectory<br>ConflictStore_FileTimeToDateTimeString<br>ConflictStore_SetConflictTime<br>ConflictStore_XsdSchemaTextFromHtmlResource<br>CscAgent_Start<br>CscAgent_TaskIsComplete<br>CscAgentp_StartAgentThread<br>CscAgentp_StopAgentThread<br>CscAgentp_ThreadProc<br>CscDel_ShouldDelete<br>CscSec_ConvertSidToStringSid<br>CscSec_ConvertStringSidToSid<br>CscSec_CreateSidCopy<br>CscSec_GetAuthIdFromToken<br>CscSec_GetSessionIdFromToken<br>CscSec_GetSidFromToken<br>CscSec_LookupAccountName<br>CscSec_LookupAccountSid<br>CscSec_OpenThreadTokenForAccessCheckAndImpersonation<br>CscSec_OpenToken<br>CscSec_TestTokenMembership<br>CscServiceMain<br>CscService_CreateGlobalThreadSyncObjects<br>CscService_DoWorkOnServiceMainThread<br>CscService_Initialize<br>CscService_SubmitTask<br>CscTpp_CreateThreadPool<br>CscUtil_CopyHandle<br>CscUtil_ExpandEnvironmentStringsAlloc<br>CscUtil_ExpandEnvironmentStringsAllocForUser<br>CscUtil_ExpandStringInPlaceEx<br>CscUtil_FormatString<br>CscUtil_FormatString_ArgList<br>CscUtil_GetThreadPriority<br>CscUtil_HeapFree<br>CscUtil_HeapReAlloc<br>CscUtil_LoadStringAlloc<br>CscUtil_SetThreadPriorityTrace<br>EventDispatcher_Initialize<br>EventDispatcher_RegisterEventSink<br>EventQueue_QueueWorkItem<br>FireEvent_ItemPinned<br>SettingsChgMon_Initialize<br>SettingsChgMon_InitializeThreadpool<br>SettingsChgMon_SetTimer</details>|
|paramcount|0|0|
|address|180031070|180031070|
|sig|long __cdecl ResultFromLastError(void)|long __cdecl ResultFromLastError(void)|
|sym_type|Function|Function|
|sym_source|ANALYSIS|ANALYSIS|
|external|False|False|

### ResultFromLastError Calling Diff


```diff
--- ResultFromLastError calling
+++ ResultFromLastError calling
@@ -12,0 +13 @@
+CEnumOfflineFilesData_Flat::_Initialize
```


## push_back

### Match Info



|Key|csc_8737.dll - csc_8875.dll|
| :---: | :---: |
|diff_type|refcount,address,calling|
|ratio|1.0|
|i_ratio|0.89|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|csc_8737.dll|csc_8875.dll|
| :---: | :---: | :---: |
|name|push_back|push_back|
|fullname|wil::details_abi::heap_buffer::push_back|wil::details_abi::heap_buffer::push_back|
|`refcount`|7|8|
|length|97|97|
|called|MSVCRT.DLL::memcpy_s<br>wil::details_abi::heap_buffer::ensure|MSVCRT.DLL::memcpy_s<br>wil::details_abi::heap_buffer::ensure|
|`calling`|wil::details::EnabledStateManager::QueueBackgroundUsageReporting<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_Servicing_MSRC94603>::GetCachedFeatureEnabledState<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_UxPerfImp>::GetCachedFeatureEnabledState<br>wil::details::FeatureStateManager::QueueBackgroundSRUMUsageReporting<br>wil::details::IsFeatureConfigured<br>wil::details_abi::SubscriptionList::SubscribeUnderLock|wil::details::EnabledStateManager::QueueBackgroundUsageReporting<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::GetCachedFeatureEnabledState<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_Servicing_MSRC94603>::GetCachedFeatureEnabledState<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_UxPerfImp>::GetCachedFeatureEnabledState<br>wil::details::FeatureStateManager::QueueBackgroundSRUMUsageReporting<br>wil::details::IsFeatureConfigured<br>wil::details_abi::SubscriptionList::SubscribeUnderLock|
|paramcount|3|3|
|`address`|180064f6c|18004f78c|
|sig|bool __thiscall push_back(heap_buffer * this, void * param_1, __uint64 param_2)|bool __thiscall push_back(heap_buffer * this, void * param_1, __uint64 param_2)|
|sym_type|Function|Function|
|sym_source|ANALYSIS|ANALYSIS|
|external|False|False|

### push_back Calling Diff


```diff
--- wil::details_abi::heap_buffer::push_back calling
+++ wil::details_abi::heap_buffer::push_back calling
@@ -1,0 +2 @@
+wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::GetCachedFeatureEnabledState
```


## EnsureSubscribedToFeatureConfigurationChanges

### Match Info



|Key|csc_8737.dll - csc_8875.dll|
| :---: | :---: |
|diff_type|refcount,address,calling|
|ratio|1.0|
|i_ratio|0.56|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|csc_8737.dll|csc_8875.dll|
| :---: | :---: | :---: |
|name|EnsureSubscribedToFeatureConfigurationChanges|EnsureSubscribedToFeatureConfigurationChanges|
|fullname|wil::details::EnsureSubscribedToFeatureConfigurationChanges|wil::details::EnsureSubscribedToFeatureConfigurationChanges|
|`refcount`|4|5|
|length|32|32|
|called|wil::details::EnabledStateManager::EnsureSubscribedToFeatureConfigurationChangesImpl|wil::details::EnabledStateManager::EnsureSubscribedToFeatureConfigurationChangesImpl|
|`calling`|wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_Servicing_MSRC94603>::GetCachedFeatureEnabledState<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_UxPerfImp>::GetCachedFeatureEnabledState<br>wil::details::IsFeatureConfigured|wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::GetCachedFeatureEnabledState<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_Servicing_MSRC94603>::GetCachedFeatureEnabledState<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_UxPerfImp>::GetCachedFeatureEnabledState<br>wil::details::IsFeatureConfigured|
|paramcount|0|0|
|`address`|180060f58|18004c670|
|sig|uint __cdecl EnsureSubscribedToFeatureConfigurationChanges(void)|uint __cdecl EnsureSubscribedToFeatureConfigurationChanges(void)|
|sym_type|Function|Function|
|sym_source|ANALYSIS|ANALYSIS|
|external|False|False|

### EnsureSubscribedToFeatureConfigurationChanges Calling Diff


```diff
--- wil::details::EnsureSubscribedToFeatureConfigurationChanges calling
+++ wil::details::EnsureSubscribedToFeatureConfigurationChanges calling
@@ -0,0 +1 @@
+wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::GetCachedFeatureEnabledState
```


## API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::InitializeCriticalSectionAndSpinCount

### Match Info



|Key|csc_8737.dll - csc_8875.dll|
| :---: | :---: |
|diff_type|refcount,calling|
|ratio|1.0|
|i_ratio|1.0|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash,ExternalsName|

### Function Meta Diff



|Key|csc_8737.dll|csc_8875.dll|
| :---: | :---: | :---: |
|name|InitializeCriticalSectionAndSpinCount|InitializeCriticalSectionAndSpinCount|
|fullname|API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::InitializeCriticalSectionAndSpinCount|API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::InitializeCriticalSectionAndSpinCount|
|`refcount`|23|24|
|length|0|0|
|called|||
|`calling`|<details><summary>Expand for full list:<br>CAsyncProgressRouter::Initialize<br>CCscShareEnum::CCscShareEnum<br>CEnumOfflineFilesData::CreateInstance<br>CFastSyncController::Initialize<br>CInvSemaphoreImpl::_Initialize<br>COfflineFilesService_CreateInstance<br>CPolicyChgMonitor::Initialize<br>CServiceTaskManager::Initialize<br>CUserPolicyValueHandler::Initialize<br>CWaitableOperation::Initialize<br>CscAgent_Start</summary>CscService_CreateGlobalThreadSyncObjects<br>CscService_Initialize<br>EventDispatcher_Initialize<br>SettingsChgMon_Initialize<br>SyncActionQueueCreate<br>SyncItemTraceInitialize<br>SyncItemTraceMoveHistory<br>SyncTreeCreateContext</details>|<details><summary>Expand for full list:<br>CAsyncProgressRouter::Initialize<br>CCscShareEnum::CCscShareEnum<br>CEnumOfflineFilesData::CreateInstance<br>CEnumOfflineFilesData_Flat::_Initialize<br>CFastSyncController::Initialize<br>CInvSemaphoreImpl::_Initialize<br>COfflineFilesService_CreateInstance<br>CPolicyChgMonitor::Initialize<br>CServiceTaskManager::Initialize<br>CUserPolicyValueHandler::Initialize<br>CWaitableOperation::Initialize</summary>CscAgent_Start<br>CscService_CreateGlobalThreadSyncObjects<br>CscService_Initialize<br>EventDispatcher_Initialize<br>SettingsChgMon_Initialize<br>SyncActionQueueCreate<br>SyncItemTraceInitialize<br>SyncItemTraceMoveHistory<br>SyncTreeCreateContext</details>|
|paramcount|2|2|
|address|EXTERNAL:000000a4|EXTERNAL:000000a4|
|sig|BOOL __stdcall InitializeCriticalSectionAndSpinCount(LPCRITICAL_SECTION lpCriticalSection, DWORD dwSpinCount)|BOOL __stdcall InitializeCriticalSectionAndSpinCount(LPCRITICAL_SECTION lpCriticalSection, DWORD dwSpinCount)|
|sym_type|Function|Function|
|sym_source|IMPORTED|IMPORTED|
|external|True|True|

### API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::InitializeCriticalSectionAndSpinCount Calling Diff


```diff
--- API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::InitializeCriticalSectionAndSpinCount calling
+++ API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::InitializeCriticalSectionAndSpinCount calling
@@ -3,0 +4 @@
+CEnumOfflineFilesData_Flat::_Initialize
```


## API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::AcquireSRWLockExclusive

### Match Info



|Key|csc_8737.dll - csc_8875.dll|
| :---: | :---: |
|diff_type|refcount,address,calling|
|ratio|1.0|
|i_ratio|1.0|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash,ExternalsName|

### Function Meta Diff



|Key|csc_8737.dll|csc_8875.dll|
| :---: | :---: | :---: |
|name|AcquireSRWLockExclusive|AcquireSRWLockExclusive|
|fullname|API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::AcquireSRWLockExclusive|API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::AcquireSRWLockExclusive|
|`refcount`|22|23|
|length|0|0|
|called|||
|`calling`|<details><summary>Expand for full list:<br><lambda_5035b992506f4af81a770c5842624510>::<lambda_invoker_cdecl><br><lambda_d51448ba32f8ef42e59400edd4566183>::<lambda_invoker_cdecl><br>wil::details::EnabledStateManager::EnsureSubscribedToFeatureConfigurationChangesImpl<br>wil::details::EnabledStateManager::EnsureSubscribedToUsageFlush<br>wil::details::EnabledStateManager::OnStateChange<br>wil::details::EnabledStateManager::OnTimer<br>wil::details::EnabledStateManager::ProcessShutdown<br>wil::details::EnabledStateManager::QueueBackgroundUsageReporting<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_Servicing_MSRC94603>::GetCachedFeatureEnabledState<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_UxPerfImp>::GetCachedFeatureEnabledState<br>wil::details::FeatureStateManager::EnsureStateData</summary>wil::details::FeatureStateManager::EnsureSubscribedToProcessWideUsageFlushUnderLock<br>wil::details::FeatureStateManager::QueueBackgroundSRUMUsageReporting<br>wil::details::FeatureStateManager::RecordFeatureUsage<br>wil::details::FeatureStateManager::SubscribeToEnabledStateChanges<br>wil::details::FeatureStateManager::SubscribeToUsageFlush<br>wil::details::IsFeatureConfigured<br>wil::details_abi::FeatureStateData::RecordFeatureUsage<br>wil::details_abi::FeatureStateData::RecordUsage<br>wil::details_abi::SubscriptionList::OnSignaled<br>wil::details_abi::SubscriptionList::Unsubscribe</details>|<details><summary>Expand for full list:<br><lambda_5035b992506f4af81a770c5842624510>::<lambda_invoker_cdecl><br><lambda_d51448ba32f8ef42e59400edd4566183>::<lambda_invoker_cdecl><br>wil::details::EnabledStateManager::EnsureSubscribedToFeatureConfigurationChangesImpl<br>wil::details::EnabledStateManager::EnsureSubscribedToUsageFlush<br>wil::details::EnabledStateManager::OnStateChange<br>wil::details::EnabledStateManager::OnTimer<br>wil::details::EnabledStateManager::ProcessShutdown<br>wil::details::EnabledStateManager::QueueBackgroundUsageReporting<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::GetCachedFeatureEnabledState<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_Servicing_MSRC94603>::GetCachedFeatureEnabledState<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_UxPerfImp>::GetCachedFeatureEnabledState</summary>wil::details::FeatureStateManager::EnsureStateData<br>wil::details::FeatureStateManager::EnsureSubscribedToProcessWideUsageFlushUnderLock<br>wil::details::FeatureStateManager::QueueBackgroundSRUMUsageReporting<br>wil::details::FeatureStateManager::RecordFeatureUsage<br>wil::details::FeatureStateManager::SubscribeToEnabledStateChanges<br>wil::details::FeatureStateManager::SubscribeToUsageFlush<br>wil::details::IsFeatureConfigured<br>wil::details_abi::FeatureStateData::RecordFeatureUsage<br>wil::details_abi::FeatureStateData::RecordUsage<br>wil::details_abi::SubscriptionList::OnSignaled<br>wil::details_abi::SubscriptionList::Unsubscribe</details>|
|paramcount|1|1|
|`address`|EXTERNAL:0000009e|EXTERNAL:000000ac|
|sig|void __stdcall AcquireSRWLockExclusive(PSRWLOCK SRWLock)|void __stdcall AcquireSRWLockExclusive(PSRWLOCK SRWLock)|
|sym_type|Function|Function|
|sym_source|IMPORTED|IMPORTED|
|external|True|True|

### API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::AcquireSRWLockExclusive Calling Diff


```diff
--- API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::AcquireSRWLockExclusive calling
+++ API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::AcquireSRWLockExclusive calling
@@ -8,0 +9 @@
+wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::GetCachedFeatureEnabledState
```


## API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::DeleteCriticalSection

### Match Info



|Key|csc_8737.dll - csc_8875.dll|
| :---: | :---: |
|diff_type|refcount,calling|
|ratio|1.0|
|i_ratio|1.0|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash,ExternalsName|

### Function Meta Diff



|Key|csc_8737.dll|csc_8875.dll|
| :---: | :---: | :---: |
|name|DeleteCriticalSection|DeleteCriticalSection|
|fullname|API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::DeleteCriticalSection|API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::DeleteCriticalSection|
|`refcount`|31|32|
|length|0|0|
|called|||
|`calling`|<details><summary>Expand for full list:<br>CAsyncProgressRouter::~CAsyncProgressRouter<br>CAuthInfoList::_Destroy<br>CCscShareEnum::~CCscShareEnum<br>CEnumOfflineFilesData::~CEnumOfflineFilesData<br>CFastSyncController::~CFastSyncController<br>CInvSemaphoreImpl::_Initialize<br>CInvSemaphoreImpl::~CInvSemaphoreImpl<br>CObjectMonitor::~CObjectMonitor<br>COfflineFilesService::~COfflineFilesService<br>CPolicyChgMonitor::_Finalize<br>CUserPolicyValueHandler::~CUserPolicyValueHandler</summary>CWaitableOperation::~CWaitableOperation<br>CscAgent_Start<br>CscService_DestroyGlobalThreadSyncObjects<br>CscService_Finalize<br>DllMainDetach<br>SyncActionQueueDestroy<br>SyncItemTraceCleanup<br>SyncItemTraceMoveHistory<br>SyncTreeDestroyContext<br>SyncTreePruneTempNodesAux</details>|<details><summary>Expand for full list:<br>CAsyncProgressRouter::~CAsyncProgressRouter<br>CAuthInfoList::_Destroy<br>CCscShareEnum::~CCscShareEnum<br>CEnumOfflineFilesData::~CEnumOfflineFilesData<br>CEnumOfflineFilesData_Flat::~CEnumOfflineFilesData_Flat<br>CFastSyncController::~CFastSyncController<br>CInvSemaphoreImpl::_Initialize<br>CInvSemaphoreImpl::~CInvSemaphoreImpl<br>CObjectMonitor::~CObjectMonitor<br>COfflineFilesService::~COfflineFilesService<br>CPolicyChgMonitor::_Finalize</summary>CUserPolicyValueHandler::~CUserPolicyValueHandler<br>CWaitableOperation::~CWaitableOperation<br>CscAgent_Start<br>CscService_DestroyGlobalThreadSyncObjects<br>CscService_Finalize<br>DllMainDetach<br>SyncActionQueueDestroy<br>SyncItemTraceCleanup<br>SyncItemTraceMoveHistory<br>SyncTreeDestroyContext<br>SyncTreePruneTempNodesAux</details>|
|paramcount|1|1|
|address|EXTERNAL:000000a3|EXTERNAL:000000a3|
|sig|void __stdcall DeleteCriticalSection(LPCRITICAL_SECTION lpCriticalSection)|void __stdcall DeleteCriticalSection(LPCRITICAL_SECTION lpCriticalSection)|
|sym_type|Function|Function|
|sym_source|IMPORTED|IMPORTED|
|external|True|True|

### API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::DeleteCriticalSection Calling Diff


```diff
--- API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::DeleteCriticalSection calling
+++ API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::DeleteCriticalSection calling
@@ -4,0 +5 @@
+CEnumOfflineFilesData_Flat::~CEnumOfflineFilesData_Flat
```


## ~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>

### Match Info



|Key|csc_8737.dll - csc_8875.dll|
| :---: | :---: |
|diff_type|refcount,address,calling|
|ratio|1.0|
|i_ratio|0.75|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|csc_8737.dll|csc_8875.dll|
| :---: | :---: | :---: |
|name|~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>|~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>|
|fullname|wil::details::unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>|wil::details::unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>|
|`refcount`|22|23|
|length|29|29|
|called|API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::ReleaseSRWLockExclusive|API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::ReleaseSRWLockExclusive|
|`calling`|<details><summary>Expand for full list:<br><lambda_5035b992506f4af81a770c5842624510>::<lambda_invoker_cdecl><br><lambda_d51448ba32f8ef42e59400edd4566183>::<lambda_invoker_cdecl><br>wil::details::EnabledStateManager::EnsureSubscribedToFeatureConfigurationChangesImpl<br>wil::details::EnabledStateManager::EnsureSubscribedToUsageFlush<br>wil::details::EnabledStateManager::OnStateChange<br>wil::details::EnabledStateManager::OnTimer<br>wil::details::EnabledStateManager::ProcessShutdown<br>wil::details::EnabledStateManager::QueueBackgroundUsageReporting<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_Servicing_MSRC94603>::GetCachedFeatureEnabledState<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_UxPerfImp>::GetCachedFeatureEnabledState<br>wil::details::FeatureStateManager::EnsureStateData</summary>wil::details::FeatureStateManager::EnsureSubscribedToProcessWideUsageFlushUnderLock<br>wil::details::FeatureStateManager::QueueBackgroundSRUMUsageReporting<br>wil::details::FeatureStateManager::RecordFeatureUsage<br>wil::details::FeatureStateManager::SubscribeToEnabledStateChanges<br>wil::details::FeatureStateManager::SubscribeToUsageFlush<br>wil::details::IsFeatureConfigured<br>wil::details_abi::FeatureStateData::RecordFeatureUsage<br>wil::details_abi::FeatureStateData::RecordUsage<br>wil::details_abi::SubscriptionList::OnSignaled<br>wil::details_abi::SubscriptionList::Unsubscribe</details>|<details><summary>Expand for full list:<br><lambda_5035b992506f4af81a770c5842624510>::<lambda_invoker_cdecl><br><lambda_d51448ba32f8ef42e59400edd4566183>::<lambda_invoker_cdecl><br>wil::details::EnabledStateManager::EnsureSubscribedToFeatureConfigurationChangesImpl<br>wil::details::EnabledStateManager::EnsureSubscribedToUsageFlush<br>wil::details::EnabledStateManager::OnStateChange<br>wil::details::EnabledStateManager::OnTimer<br>wil::details::EnabledStateManager::ProcessShutdown<br>wil::details::EnabledStateManager::QueueBackgroundUsageReporting<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::GetCachedFeatureEnabledState<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_Servicing_MSRC94603>::GetCachedFeatureEnabledState<br>wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_UxPerfImp>::GetCachedFeatureEnabledState</summary>wil::details::FeatureStateManager::EnsureStateData<br>wil::details::FeatureStateManager::EnsureSubscribedToProcessWideUsageFlushUnderLock<br>wil::details::FeatureStateManager::QueueBackgroundSRUMUsageReporting<br>wil::details::FeatureStateManager::RecordFeatureUsage<br>wil::details::FeatureStateManager::SubscribeToEnabledStateChanges<br>wil::details::FeatureStateManager::SubscribeToUsageFlush<br>wil::details::IsFeatureConfigured<br>wil::details_abi::FeatureStateData::RecordFeatureUsage<br>wil::details_abi::FeatureStateData::RecordUsage<br>wil::details_abi::SubscriptionList::OnSignaled<br>wil::details_abi::SubscriptionList::Unsubscribe</details>|
|paramcount|1|1|
|`address`|18006026c|18004ba3c|
|sig|void __thiscall ~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>(unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_> * this)|void __thiscall ~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>(unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_> * this)|
|sym_type|Function|Function|
|sym_source|ANALYSIS|ANALYSIS|
|external|False|False|

### ~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_> Calling Diff


```diff
--- wil::details::unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_> calling
+++ wil::details::unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct__RTL_SRWLOCK*___ptr64,void_(__cdecl*)(struct__RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_SRWLOCK*___ptr64,struct__RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_> calling
@@ -8,0 +9 @@
+wil::details::FeatureImpl<struct___WilFeatureTraits_Feature_892568891>::GetCachedFeatureEnabledState
```


## API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::EnterCriticalSection

### Match Info



|Key|csc_8737.dll - csc_8875.dll|
| :---: | :---: |
|diff_type|refcount,calling|
|ratio|1.0|
|i_ratio|1.0|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash,ExternalsName|

### Function Meta Diff



|Key|csc_8737.dll|csc_8875.dll|
| :---: | :---: | :---: |
|name|EnterCriticalSection|EnterCriticalSection|
|fullname|API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::EnterCriticalSection|API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::EnterCriticalSection|
|`refcount`|178|182|
|length|0|0|
|called|||
|`calling`|<details><summary>Expand for full list:<br>AdminPin_LoadPinAndUnpinLists<br>CAgent_StopStartTask<br>CAsyncProgressRouter::Uninitialize<br>CAsyncProgressRouter::_AddToProgressInfoQueue<br>CAsyncProgressRouter::_RemoveEntryFromProgressInfoQueue<br>CAuthInfoList::Lock<br>CAuthInfoListIter::Next<br>CAuthInfoTokenEnum::Next<br>CClassFactory::CreateInstance<br>CClassFactory::LockServer<br>CCscScope::Maintain</summary>CCscShareEnum::Next<br>CCscShareEnum::Reset<br>CCscSqmManager::UpdateConfigurationData<br>CCscSqmManager::~CCscSqmManager<br>CEnumOfflineFilesData::Next<br>CEnumOfflineFilesData::Reset<br>CEnumOfflineFilesData::~CEnumOfflineFilesData<br>CFastSyncController::_Abort<br>CFastSyncController::_DumpSyncItemTraceInfo<br>CFastSyncController::_GetCachedItemInfo<br>CFastSyncController::_InitFastSyncThread<br>CFastSyncController::_PerformSyncOperation<br>CFastSyncController::_PrepForSyncThreadUninitCallback<br>CFastSyncController::_UninitFastSyncThread<br>CInvSemaphore::Decrement<br>CInvSemaphore::Increment<br>CMonitoredObject::IUnknownReleaseImpl<br>CMonitoredObject::~CMonitoredObject<br>CObjectMonitor::AddObject<br>CObjectMonitor::DisconnectObjects<br>CObjectMonitor::RemoveObject<br>CObjectMonitor::Uninitialize<br>COfflineFilesService::Encrypt<br>COfflineFilesService::SetItemConnectState<br>COfflineFilesService::SetUserSessionCallback<br>COfflineFilesService::Synchronize<br>COfflineFilesService::_PinOrUnpin<br>COfflineFilesService::~COfflineFilesService<br>CPolicyChgMonitor::Refresh<br>CPolicyChgMonitor::Uninitialize<br>CPolicyChgMonitor::_AddUserPolicyHandler<br>CPolicyChgMonitor::_FindUserPolicyHandler<br>CPolicyChgMonitor::_GetComputerPolicyValue<br>CPolicyChgMonitor::_RemoveUserPolicyHandler<br>CPolicyValueHandler::CSettings::Refresh<br>CPrefetchCloseHandlePeriodicTask::OnComplete<br>CServiceTaskManager::SubmitTask<br>CServiceTaskManager::_DelayedTaskTimerApcProc<br>CServiceTaskManager::_TaskThreadProc<br>CServiceTaskManager::_Uninitialize<br>CSyncProgressAdapter::QueryAbort<br>CSyncProgressRouter::QueryAbort<br>CTrimPoolTask::Execute<br>CUserPolicyValueHandler::_PreRefresh<br>CWaitableOperation::Initialize<br>CWaitableOperation::Signal<br>CWaitableOperation::UnregisterWaitableOperation<br>CWaitableOperation::_Register<br>CscAgent_DisableAllPendingTasks<br>CscAgent_QueueTask<br>CscAgent_ResumeTaskGroup<br>CscAgent_Stop<br>CscAgent_SuspendTaskGroup<br>CscAgentp_CancelTask<br>CscAgentp_ThreadProc<br>CscAgentp_WaitForNoRunningTasksInTaskGroup<br>CscDriverpDereferenceControlHandle<br>CscDriverpReferenceControlHandle<br>CscService_CreateAndQueuePrefetchCloseHandleTask<br>CscService_DoWorkOnServiceMainThread<br>CscService_IsTerminating<br>CscService_OnStopOrShutdown<br>CscService_TaskBegin<br>CscSyncGetFirstChild<br>CscSyncGetNextSibling<br>CscSyncGetRootItem<br>CscSyncpAddNewTreeFullItem<br>EventDispatcherRcv_BackgroundSyncBegin<br>EventDispatcherRcv_BackgroundSyncEnd<br>EventDispatcherRcv_CacheIsCorrupted<br>EventDispatcherRcv_CacheIsFull<br>EventDispatcherRcv_ItemAddedToCache<br>EventDispatcherRcv_ItemAvailableOffline<br>EventDispatcherRcv_ItemDeletedFromCache<br>EventDispatcherRcv_ItemDisconnected<br>EventDispatcherRcv_ItemModified<br>EventDispatcherRcv_ItemNotAvailableOffline<br>EventDispatcherRcv_ItemNotPinned<br>EventDispatcherRcv_ItemPinned<br>EventDispatcherRcv_ItemReconnectBegin<br>EventDispatcherRcv_ItemReconnectEnd<br>EventDispatcherRcv_ItemReconnected<br>EventDispatcherRcv_ItemRenamed<br>EventDispatcherRcv_NetTransportArrived<br>EventDispatcherRcv_NoNetTransports<br>EventDispatcherRcv_Ping<br>EventDispatcherRcv_PolicyChangeDetected<br>EventDispatcherRcv_PreferenceChangeDetected<br>EventDispatcherRcv_PrefetchCloseHandleBegin<br>EventDispatcherRcv_PrefetchCloseHandleEnd<br>EventDispatcherRcv_PrefetchFileBegin<br>EventDispatcherRcv_PrefetchFileEnd<br>EventDispatcherRcv_SettingsChangesApplied<br>EventDispatcherRcv_SyncBegin<br>EventDispatcherRcv_SyncConflictRecAdded<br>EventDispatcherRcv_SyncConflictRecRemoved<br>EventDispatcherRcv_SyncConflictRecUpdated<br>EventDispatcherRcv_SyncEnd<br>EventDispatcherRcv_SyncFileResult<br>EventDispatcherRcv_TransparentCacheItemNotify<br>EventDispatcher_ProcessEvent<br>EventDispatcher_RegisterConnection<br>EventDispatcher_RegisterEventSink<br>EventDispatcher_TrimUnusedPool<br>EventDispatcher_Uninitialize<br>EventDispatcher_UnregisterConnection<br>EventDispatcher_UnregisterConnection<br>EventQueue_CancelEventsForConnection<br>EventQueue_PacketProcessingProc<br>EventQueue_QueueEventPacket<br>InitializeMonitoredObject<br>PerfCounter_AdjustCounter<br>SettingsChgMon_APCProc<br>SettingsChgMon_SetTimer<br>SettingsChgMon_Uninitialize<br>SyncActionQueueDecrementCount_Safe<br>SyncActionQueueDequeue<br>SyncActionQueueDestroy<br>SyncActionQueueEnqueue<br>SyncActionQueueGetState<br>SyncActionQueueIncrementCount_Safe<br>SyncActionQueueRequeue<br>SyncActionQueueSetState<br>SyncClientOnlySyncPrepItemCallback<br>SyncEnumDefaultItemCallback<br>SyncEnumNewTreeFullItem<br>SyncItemTraceAddStringInternal<br>SyncItemTraceGetMessage<br>SyncTreeActionCreateAndInitializeContext<br>SyncTreeActionSendCompletionAndCommitNode<br>SyncTreeNewItem<br>SyncTreePruneTempNodes<br>wil::details_abi::SubscriptionList::OnSignaled<br>wil::details_abi::SubscriptionList::Unsubscribe</details>|<details><summary>Expand for full list:<br>AdminPin_LoadPinAndUnpinLists<br>CAgent_StopStartTask<br>CAsyncProgressRouter::Uninitialize<br>CAsyncProgressRouter::_AddToProgressInfoQueue<br>CAsyncProgressRouter::_RemoveEntryFromProgressInfoQueue<br>CAuthInfoList::Lock<br>CAuthInfoListIter::Next<br>CAuthInfoTokenEnum::Next<br>CClassFactory::CreateInstance<br>CClassFactory::LockServer<br>CCscScope::Maintain</summary>CCscShareEnum::Next<br>CCscShareEnum::Reset<br>CCscSqmManager::UpdateConfigurationData<br>CCscSqmManager::~CCscSqmManager<br>CEnumOfflineFilesData::Next<br>CEnumOfflineFilesData::Reset<br>CEnumOfflineFilesData::~CEnumOfflineFilesData<br>CEnumOfflineFilesData_Flat::Clone<br>CEnumOfflineFilesData_Flat::Next<br>CEnumOfflineFilesData_Flat::Reset<br>CEnumOfflineFilesData_Flat::Skip<br>CFastSyncController::_Abort<br>CFastSyncController::_DumpSyncItemTraceInfo<br>CFastSyncController::_GetCachedItemInfo<br>CFastSyncController::_InitFastSyncThread<br>CFastSyncController::_PerformSyncOperation<br>CFastSyncController::_PrepForSyncThreadUninitCallback<br>CFastSyncController::_UninitFastSyncThread<br>CInvSemaphore::Decrement<br>CInvSemaphore::Increment<br>CMonitoredObject::IUnknownReleaseImpl<br>CMonitoredObject::~CMonitoredObject<br>CObjectMonitor::AddObject<br>CObjectMonitor::DisconnectObjects<br>CObjectMonitor::RemoveObject<br>CObjectMonitor::Uninitialize<br>COfflineFilesService::Encrypt<br>COfflineFilesService::SetItemConnectState<br>COfflineFilesService::SetUserSessionCallback<br>COfflineFilesService::Synchronize<br>COfflineFilesService::_PinOrUnpin<br>COfflineFilesService::~COfflineFilesService<br>CPolicyChgMonitor::Refresh<br>CPolicyChgMonitor::Uninitialize<br>CPolicyChgMonitor::_AddUserPolicyHandler<br>CPolicyChgMonitor::_FindUserPolicyHandler<br>CPolicyChgMonitor::_GetComputerPolicyValue<br>CPolicyChgMonitor::_RemoveUserPolicyHandler<br>CPolicyValueHandler::CSettings::Refresh<br>CPrefetchCloseHandlePeriodicTask::OnComplete<br>CServiceTaskManager::SubmitTask<br>CServiceTaskManager::_DelayedTaskTimerApcProc<br>CServiceTaskManager::_TaskThreadProc<br>CServiceTaskManager::_Uninitialize<br>CSyncProgressAdapter::QueryAbort<br>CSyncProgressRouter::QueryAbort<br>CTrimPoolTask::Execute<br>CUserPolicyValueHandler::_PreRefresh<br>CWaitableOperation::Initialize<br>CWaitableOperation::Signal<br>CWaitableOperation::UnregisterWaitableOperation<br>CWaitableOperation::_Register<br>CscAgent_DisableAllPendingTasks<br>CscAgent_QueueTask<br>CscAgent_ResumeTaskGroup<br>CscAgent_Stop<br>CscAgent_SuspendTaskGroup<br>CscAgentp_CancelTask<br>CscAgentp_ThreadProc<br>CscAgentp_WaitForNoRunningTasksInTaskGroup<br>CscDriverpDereferenceControlHandle<br>CscDriverpReferenceControlHandle<br>CscService_CreateAndQueuePrefetchCloseHandleTask<br>CscService_DoWorkOnServiceMainThread<br>CscService_IsTerminating<br>CscService_OnStopOrShutdown<br>CscService_TaskBegin<br>CscSyncGetFirstChild<br>CscSyncGetNextSibling<br>CscSyncGetRootItem<br>CscSyncpAddNewTreeFullItem<br>EventDispatcherRcv_BackgroundSyncBegin<br>EventDispatcherRcv_BackgroundSyncEnd<br>EventDispatcherRcv_CacheIsCorrupted<br>EventDispatcherRcv_CacheIsFull<br>EventDispatcherRcv_ItemAddedToCache<br>EventDispatcherRcv_ItemAvailableOffline<br>EventDispatcherRcv_ItemDeletedFromCache<br>EventDispatcherRcv_ItemDisconnected<br>EventDispatcherRcv_ItemModified<br>EventDispatcherRcv_ItemNotAvailableOffline<br>EventDispatcherRcv_ItemNotPinned<br>EventDispatcherRcv_ItemPinned<br>EventDispatcherRcv_ItemReconnectBegin<br>EventDispatcherRcv_ItemReconnectEnd<br>EventDispatcherRcv_ItemReconnected<br>EventDispatcherRcv_ItemRenamed<br>EventDispatcherRcv_NetTransportArrived<br>EventDispatcherRcv_NoNetTransports<br>EventDispatcherRcv_Ping<br>EventDispatcherRcv_PolicyChangeDetected<br>EventDispatcherRcv_PreferenceChangeDetected<br>EventDispatcherRcv_PrefetchCloseHandleBegin<br>EventDispatcherRcv_PrefetchCloseHandleEnd<br>EventDispatcherRcv_PrefetchFileBegin<br>EventDispatcherRcv_PrefetchFileEnd<br>EventDispatcherRcv_SettingsChangesApplied<br>EventDispatcherRcv_SyncBegin<br>EventDispatcherRcv_SyncConflictRecAdded<br>EventDispatcherRcv_SyncConflictRecRemoved<br>EventDispatcherRcv_SyncConflictRecUpdated<br>EventDispatcherRcv_SyncEnd<br>EventDispatcherRcv_SyncFileResult<br>EventDispatcherRcv_TransparentCacheItemNotify<br>EventDispatcher_ProcessEvent<br>EventDispatcher_RegisterConnection<br>EventDispatcher_RegisterEventSink<br>EventDispatcher_TrimUnusedPool<br>EventDispatcher_Uninitialize<br>EventDispatcher_UnregisterConnection<br>EventDispatcher_UnregisterConnection<br>EventQueue_CancelEventsForConnection<br>EventQueue_PacketProcessingProc<br>EventQueue_QueueEventPacket<br>InitializeMonitoredObject<br>PerfCounter_AdjustCounter<br>SettingsChgMon_APCProc<br>SettingsChgMon_SetTimer<br>SettingsChgMon_Uninitialize<br>SyncActionQueueDecrementCount_Safe<br>SyncActionQueueDequeue<br>SyncActionQueueDestroy<br>SyncActionQueueEnqueue<br>SyncActionQueueGetState<br>SyncActionQueueIncrementCount_Safe<br>SyncActionQueueRequeue<br>SyncActionQueueSetState<br>SyncClientOnlySyncPrepItemCallback<br>SyncEnumDefaultItemCallback<br>SyncEnumNewTreeFullItem<br>SyncItemTraceAddStringInternal<br>SyncItemTraceGetMessage<br>SyncTreeActionCreateAndInitializeContext<br>SyncTreeActionSendCompletionAndCommitNode<br>SyncTreeNewItem<br>SyncTreePruneTempNodes<br>wil::details_abi::SubscriptionList::OnSignaled<br>wil::details_abi::SubscriptionList::Unsubscribe</details>|
|paramcount|1|1|
|address|EXTERNAL:000000a9|EXTERNAL:000000a9|
|sig|void __stdcall EnterCriticalSection(LPCRITICAL_SECTION lpCriticalSection)|void __stdcall EnterCriticalSection(LPCRITICAL_SECTION lpCriticalSection)|
|sym_type|Function|Function|
|sym_source|IMPORTED|IMPORTED|
|external|True|True|

### API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::EnterCriticalSection Calling Diff


```diff
--- API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::EnterCriticalSection calling
+++ API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::EnterCriticalSection calling
@@ -18,0 +19,4 @@
+CEnumOfflineFilesData_Flat::Clone
+CEnumOfflineFilesData_Flat::Next
+CEnumOfflineFilesData_Flat::Reset
+CEnumOfflineFilesData_Flat::Skip
```


## API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::LeaveCriticalSection

### Match Info



|Key|csc_8737.dll - csc_8875.dll|
| :---: | :---: |
|diff_type|refcount,calling|
|ratio|1.0|
|i_ratio|1.0|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash,ExternalsName|

### Function Meta Diff



|Key|csc_8737.dll|csc_8875.dll|
| :---: | :---: | :---: |
|name|LeaveCriticalSection|LeaveCriticalSection|
|fullname|API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::LeaveCriticalSection|API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::LeaveCriticalSection|
|`refcount`|222|226|
|length|0|0|
|called|||
|`calling`|<details><summary>Expand for full list:<br>AdminPin_LoadPinAndUnpinLists<br>CAgent_StopStartTask<br>CAsyncProgressRouter::Uninitialize<br>CAsyncProgressRouter::_AddToProgressInfoQueue<br>CAsyncProgressRouter::_RemoveEntryFromProgressInfoQueue<br>CAuthInfoList::FindAuthInfo<br>CAuthInfoList::ReleaseAuthInfo<br>CAuthInfoList::_AddAuthInfo<br>CAuthInfoList::_Destroy<br>CAuthInfoListIter::Next<br>CAuthInfoTokenEnum::Next</summary>CAuthInfoTokenEnum::Reset<br>CClassFactory::CreateInstance<br>CClassFactory::LockServer<br>CCscScope::Maintain<br>CCscShareEnum::Next<br>CCscShareEnum::Reset<br>CCscSqmManager::~CCscSqmManager<br>CEnumOfflineFilesData::Next<br>CEnumOfflineFilesData::Reset<br>CEnumOfflineFilesData::~CEnumOfflineFilesData<br>CFastSyncController::_Abort<br>CFastSyncController::_DumpSyncItemTraceInfo<br>CFastSyncController::_GetCachedItemInfo<br>CFastSyncController::_InitFastSyncThread<br>CFastSyncController::_PerformSyncOperation<br>CFastSyncController::_PrepForSyncThreadUninitCallback<br>CFastSyncController::_UninitFastSyncThread<br>CInvSemaphore::Decrement<br>CInvSemaphore::Increment<br>CMonitoredObject::IUnknownReleaseImpl<br>CMonitoredObject::~CMonitoredObject<br>CObjectMonitor::AddObject<br>CObjectMonitor::RemoveObject<br>COfflineFilesService::Encrypt<br>COfflineFilesService::SetItemConnectState<br>COfflineFilesService::SetUserSessionCallback<br>COfflineFilesService::Synchronize<br>COfflineFilesService::_PinOrUnpin<br>COfflineFilesService::~COfflineFilesService<br>CPolicyChgMonitor::Refresh<br>CPolicyChgMonitor::Uninitialize<br>CPolicyChgMonitor::_AddUserPolicyHandler<br>CPolicyChgMonitor::_FindUserPolicyHandler<br>CPolicyChgMonitor::_GetComputerPolicyValue<br>CPolicyChgMonitor::_RemoveUserPolicyHandler<br>CPolicyValueHandler::CSettings::Refresh<br>CPrefetchCloseHandlePeriodicTask::OnComplete<br>CServiceTaskManager::SubmitTask<br>CServiceTaskManager::_TaskThreadProc<br>CServiceTaskManager::_Uninitialize<br>CSyncProgressAdapter::QueryAbort<br>CSyncProgressRouter::QueryAbort<br>CTrimPoolTask::Execute<br>CUserPolicyValueHandler::_PostRefresh<br>CUserPolicyValueHandler::_PreRefresh<br>CWaitableOperation::Initialize<br>CWaitableOperation::Signal<br>CWaitableOperation::UnregisterWaitableOperation<br>CWaitableOperation::_Register<br>CscAgent_QueueTask<br>CscAgent_ResumeTaskGroup<br>CscAgent_Stop<br>CscAgent_SuspendTaskGroup<br>CscAgentp_CancelTask<br>CscAgentp_ThreadProc<br>CscAgentp_WaitForNoRunningTasksInTaskGroup<br>CscDriverpDereferenceControlHandle<br>CscDriverpReferenceControlHandle<br>CscService_CreateAndQueuePrefetchCloseHandleTask<br>CscService_DoWorkOnServiceMainThread<br>CscService_IsTerminating<br>CscService_OnStopOrShutdown<br>CscService_TaskBegin<br>CscSyncGetFirstChild<br>CscSyncGetNextSibling<br>CscSyncGetRootItem<br>CscSyncpAddNewTreeFullItem<br>EventDispatcherRcv_BackgroundSyncBegin<br>EventDispatcherRcv_BackgroundSyncEnd<br>EventDispatcherRcv_CacheIsCorrupted<br>EventDispatcherRcv_CacheIsFull<br>EventDispatcherRcv_ItemAddedToCache<br>EventDispatcherRcv_ItemAvailableOffline<br>EventDispatcherRcv_ItemDeletedFromCache<br>EventDispatcherRcv_ItemDisconnected<br>EventDispatcherRcv_ItemModified<br>EventDispatcherRcv_ItemNotAvailableOffline<br>EventDispatcherRcv_ItemNotPinned<br>EventDispatcherRcv_ItemPinned<br>EventDispatcherRcv_ItemReconnectBegin<br>EventDispatcherRcv_ItemReconnectEnd<br>EventDispatcherRcv_ItemReconnected<br>EventDispatcherRcv_ItemRenamed<br>EventDispatcherRcv_NetTransportArrived<br>EventDispatcherRcv_NoNetTransports<br>EventDispatcherRcv_Ping<br>EventDispatcherRcv_PolicyChangeDetected<br>EventDispatcherRcv_PreferenceChangeDetected<br>EventDispatcherRcv_PrefetchCloseHandleBegin<br>EventDispatcherRcv_PrefetchCloseHandleEnd<br>EventDispatcherRcv_PrefetchFileBegin<br>EventDispatcherRcv_PrefetchFileEnd<br>EventDispatcherRcv_SettingsChangesApplied<br>EventDispatcherRcv_SyncBegin<br>EventDispatcherRcv_SyncConflictRecAdded<br>EventDispatcherRcv_SyncConflictRecRemoved<br>EventDispatcherRcv_SyncConflictRecUpdated<br>EventDispatcherRcv_SyncEnd<br>EventDispatcherRcv_SyncFileResult<br>EventDispatcherRcv_TransparentCacheItemNotify<br>EventDispatcher_ProcessEvent<br>EventDispatcher_RegisterConnection<br>EventDispatcher_RegisterEventSink<br>EventDispatcher_TrimUnusedPool<br>EventDispatcher_Uninitialize<br>EventDispatcher_UnregisterConnection<br>EventDispatcher_UnregisterConnection<br>EventQueue_CancelEventsForConnection<br>EventQueue_PacketProcessingProc<br>EventQueue_QueueEventPacket<br>InitializeMonitoredObject<br>SettingsChgMon_APCProc<br>SettingsChgMon_SetTimer<br>SettingsChgMon_Uninitialize<br>SyncActionQueueDecrementCount_Safe<br>SyncActionQueueDequeue<br>SyncActionQueueDestroy<br>SyncActionQueueEnqueue<br>SyncActionQueueGetState<br>SyncActionQueueIncrementCount_Safe<br>SyncActionQueueRequeue<br>SyncActionQueueSetState<br>SyncClientOnlySyncPrepItemCallback<br>SyncEnumDefaultItemCallback<br>SyncEnumNewTreeFullItem<br>SyncItemTraceAddStringInternal<br>SyncItemTraceGetMessage<br>SyncTreeActionCreateAndInitializeContext<br>SyncTreeActionSendCompletionAndCommitNode<br>SyncTreeNewItem<br>SyncTreePruneTempNodes<br>wil::details::unique_storage<struct_wil::details::resource_policy<struct__RTL_CRITICAL_SECTION*___ptr64,void_(__cdecl*)(struct__RTL_CRITICAL_SECTION*___ptr64),&void___cdecl_LeaveCriticalSection(struct__RTL_CRITICAL_SECTION*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_CRITICAL_SECTION*___ptr64,struct__RTL_CRITICAL_SECTION*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct__RTL_CRITICAL_SECTION*___ptr64,void_(__cdecl*)(struct__RTL_CRITICAL_SECTION*___ptr64),&void___cdecl_LeaveCriticalSection(struct__RTL_CRITICAL_SECTION*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_CRITICAL_SECTION*___ptr64,struct__RTL_CRITICAL_SECTION*___ptr64,0,std::nullptr_t>_></details>|<details><summary>Expand for full list:<br>AdminPin_LoadPinAndUnpinLists<br>CAgent_StopStartTask<br>CAsyncProgressRouter::Uninitialize<br>CAsyncProgressRouter::_AddToProgressInfoQueue<br>CAsyncProgressRouter::_RemoveEntryFromProgressInfoQueue<br>CAuthInfoList::FindAuthInfo<br>CAuthInfoList::ReleaseAuthInfo<br>CAuthInfoList::_AddAuthInfo<br>CAuthInfoList::_Destroy<br>CAuthInfoListIter::Next<br>CAuthInfoTokenEnum::Next</summary>CAuthInfoTokenEnum::Reset<br>CClassFactory::CreateInstance<br>CClassFactory::LockServer<br>CCscScope::Maintain<br>CCscShareEnum::Next<br>CCscShareEnum::Reset<br>CCscSqmManager::~CCscSqmManager<br>CEnumOfflineFilesData::Next<br>CEnumOfflineFilesData::Reset<br>CEnumOfflineFilesData::~CEnumOfflineFilesData<br>CEnumOfflineFilesData_Flat::Clone<br>CEnumOfflineFilesData_Flat::Next<br>CEnumOfflineFilesData_Flat::Reset<br>CEnumOfflineFilesData_Flat::Skip<br>CFastSyncController::_Abort<br>CFastSyncController::_DumpSyncItemTraceInfo<br>CFastSyncController::_GetCachedItemInfo<br>CFastSyncController::_InitFastSyncThread<br>CFastSyncController::_PerformSyncOperation<br>CFastSyncController::_PrepForSyncThreadUninitCallback<br>CFastSyncController::_UninitFastSyncThread<br>CInvSemaphore::Decrement<br>CInvSemaphore::Increment<br>CMonitoredObject::IUnknownReleaseImpl<br>CMonitoredObject::~CMonitoredObject<br>CObjectMonitor::AddObject<br>CObjectMonitor::RemoveObject<br>COfflineFilesService::Encrypt<br>COfflineFilesService::SetItemConnectState<br>COfflineFilesService::SetUserSessionCallback<br>COfflineFilesService::Synchronize<br>COfflineFilesService::_PinOrUnpin<br>COfflineFilesService::~COfflineFilesService<br>CPolicyChgMonitor::Refresh<br>CPolicyChgMonitor::Uninitialize<br>CPolicyChgMonitor::_AddUserPolicyHandler<br>CPolicyChgMonitor::_FindUserPolicyHandler<br>CPolicyChgMonitor::_GetComputerPolicyValue<br>CPolicyChgMonitor::_RemoveUserPolicyHandler<br>CPolicyValueHandler::CSettings::Refresh<br>CPrefetchCloseHandlePeriodicTask::OnComplete<br>CServiceTaskManager::SubmitTask<br>CServiceTaskManager::_TaskThreadProc<br>CServiceTaskManager::_Uninitialize<br>CSyncProgressAdapter::QueryAbort<br>CSyncProgressRouter::QueryAbort<br>CTrimPoolTask::Execute<br>CUserPolicyValueHandler::_PostRefresh<br>CUserPolicyValueHandler::_PreRefresh<br>CWaitableOperation::Initialize<br>CWaitableOperation::Signal<br>CWaitableOperation::UnregisterWaitableOperation<br>CWaitableOperation::_Register<br>CscAgent_QueueTask<br>CscAgent_ResumeTaskGroup<br>CscAgent_Stop<br>CscAgent_SuspendTaskGroup<br>CscAgentp_CancelTask<br>CscAgentp_ThreadProc<br>CscAgentp_WaitForNoRunningTasksInTaskGroup<br>CscDriverpDereferenceControlHandle<br>CscDriverpReferenceControlHandle<br>CscService_CreateAndQueuePrefetchCloseHandleTask<br>CscService_DoWorkOnServiceMainThread<br>CscService_IsTerminating<br>CscService_OnStopOrShutdown<br>CscService_TaskBegin<br>CscSyncGetFirstChild<br>CscSyncGetNextSibling<br>CscSyncGetRootItem<br>CscSyncpAddNewTreeFullItem<br>EventDispatcherRcv_BackgroundSyncBegin<br>EventDispatcherRcv_BackgroundSyncEnd<br>EventDispatcherRcv_CacheIsCorrupted<br>EventDispatcherRcv_CacheIsFull<br>EventDispatcherRcv_ItemAddedToCache<br>EventDispatcherRcv_ItemAvailableOffline<br>EventDispatcherRcv_ItemDeletedFromCache<br>EventDispatcherRcv_ItemDisconnected<br>EventDispatcherRcv_ItemModified<br>EventDispatcherRcv_ItemNotAvailableOffline<br>EventDispatcherRcv_ItemNotPinned<br>EventDispatcherRcv_ItemPinned<br>EventDispatcherRcv_ItemReconnectBegin<br>EventDispatcherRcv_ItemReconnectEnd<br>EventDispatcherRcv_ItemReconnected<br>EventDispatcherRcv_ItemRenamed<br>EventDispatcherRcv_NetTransportArrived<br>EventDispatcherRcv_NoNetTransports<br>EventDispatcherRcv_Ping<br>EventDispatcherRcv_PolicyChangeDetected<br>EventDispatcherRcv_PreferenceChangeDetected<br>EventDispatcherRcv_PrefetchCloseHandleBegin<br>EventDispatcherRcv_PrefetchCloseHandleEnd<br>EventDispatcherRcv_PrefetchFileBegin<br>EventDispatcherRcv_PrefetchFileEnd<br>EventDispatcherRcv_SettingsChangesApplied<br>EventDispatcherRcv_SyncBegin<br>EventDispatcherRcv_SyncConflictRecAdded<br>EventDispatcherRcv_SyncConflictRecRemoved<br>EventDispatcherRcv_SyncConflictRecUpdated<br>EventDispatcherRcv_SyncEnd<br>EventDispatcherRcv_SyncFileResult<br>EventDispatcherRcv_TransparentCacheItemNotify<br>EventDispatcher_ProcessEvent<br>EventDispatcher_RegisterConnection<br>EventDispatcher_RegisterEventSink<br>EventDispatcher_TrimUnusedPool<br>EventDispatcher_Uninitialize<br>EventDispatcher_UnregisterConnection<br>EventDispatcher_UnregisterConnection<br>EventQueue_CancelEventsForConnection<br>EventQueue_PacketProcessingProc<br>EventQueue_QueueEventPacket<br>InitializeMonitoredObject<br>SettingsChgMon_APCProc<br>SettingsChgMon_SetTimer<br>SettingsChgMon_Uninitialize<br>SyncActionQueueDecrementCount_Safe<br>SyncActionQueueDequeue<br>SyncActionQueueDestroy<br>SyncActionQueueEnqueue<br>SyncActionQueueGetState<br>SyncActionQueueIncrementCount_Safe<br>SyncActionQueueRequeue<br>SyncActionQueueSetState<br>SyncClientOnlySyncPrepItemCallback<br>SyncEnumDefaultItemCallback<br>SyncEnumNewTreeFullItem<br>SyncItemTraceAddStringInternal<br>SyncItemTraceGetMessage<br>SyncTreeActionCreateAndInitializeContext<br>SyncTreeActionSendCompletionAndCommitNode<br>SyncTreeNewItem<br>SyncTreePruneTempNodes<br>wil::details::unique_storage<struct_wil::details::resource_policy<struct__RTL_CRITICAL_SECTION*___ptr64,void_(__cdecl*)(struct__RTL_CRITICAL_SECTION*___ptr64),&void___cdecl_LeaveCriticalSection(struct__RTL_CRITICAL_SECTION*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_CRITICAL_SECTION*___ptr64,struct__RTL_CRITICAL_SECTION*___ptr64,0,std::nullptr_t>_>::~unique_storage<struct_wil::details::resource_policy<struct__RTL_CRITICAL_SECTION*___ptr64,void_(__cdecl*)(struct__RTL_CRITICAL_SECTION*___ptr64),&void___cdecl_LeaveCriticalSection(struct__RTL_CRITICAL_SECTION*___ptr64),struct_wistd::integral_constant<unsigned___int64,1>,struct__RTL_CRITICAL_SECTION*___ptr64,struct__RTL_CRITICAL_SECTION*___ptr64,0,std::nullptr_t>_></details>|
|paramcount|1|1|
|address|EXTERNAL:000000a8|EXTERNAL:000000a8|
|sig|void __stdcall LeaveCriticalSection(LPCRITICAL_SECTION lpCriticalSection)|void __stdcall LeaveCriticalSection(LPCRITICAL_SECTION lpCriticalSection)|
|sym_type|Function|Function|
|sym_source|IMPORTED|IMPORTED|
|external|True|True|

### API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::LeaveCriticalSection Calling Diff


```diff
--- API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::LeaveCriticalSection calling
+++ API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::LeaveCriticalSection calling
@@ -21,0 +22,4 @@
+CEnumOfflineFilesData_Flat::Clone
+CEnumOfflineFilesData_Flat::Next
+CEnumOfflineFilesData_Flat::Reset
+CEnumOfflineFilesData_Flat::Skip
```




<sub>Generated with `ghidriff` version: 1.0.0 on 2026-08-21T21:41:44</sub>