# cl_2161.sys-cl_2605.sys 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)
	* [Feature_401191227__private_IsEnabledDeviceUsageNoInline](#feature_401191227__private_isenableddeviceusagenoinline)
	* [Feature_401191227__private_IsEnabledFallback](#feature_401191227__private_isenabledfallback)
	* [WPP_SF_qqsDd](#wpp_sf_qqsdd)
	* [WPP_SF_qqsd](#wpp_sf_qqsd)
	* [QueryIfEAExists](#queryifeaexists)
	* [FLTMGR.SYS::FltQueryEaFile](#fltmgrsysfltqueryeafile)
	* [NTOSKRNL.EXE::RtlEqualString](#ntoskrnlexertlequalstring)
* [Modified](#modified)
	* [WPP_SF_qqiiD](#wpp_sf_qqiid)
	* [HsmFltPreSET_EA](#hsmfltpreset_ea)
	* [HsmFltProcessConvertPlaceholder](#hsmfltprocessconvertplaceholder)
* [Modified (No Code Changes)](#modified-no-code-changes)
	* [wil_details_IsEnabledFallback](#wil_details_isenabledfallback)
	* [NTOSKRNL.EXE::ExFreePoolWithTag](#ntoskrnlexeexfreepoolwithtag)
	* [HsmDbgBreakOnStatus](#hsmdbgbreakonstatus)
	* [NTOSKRNL.EXE::ExAllocatePool2](#ntoskrnlexeexallocatepool2)

# Visual Chart Diff



```mermaid

flowchart LR

WPP_SF_qqiiD-4-old<--Match 96%-->WPP_SF_qqiiD-4-new
HsmFltPreSET_EA-2-old<--Match 92%-->HsmFltPreSET_EA-2-new
HsmFltProcessConvertPlaceholder-11-old<--Match 94%-->HsmFltProcessConvertPlaceholder-11-new

subgraph cl_2605.sys
    WPP_SF_qqiiD-4-new
HsmFltPreSET_EA-2-new
HsmFltProcessConvertPlaceholder-11-new
    subgraph Added
direction LR
Feature_401191227__private_IsEnabledDeviceUsageNoInline
    Feature_401191227__private_IsEnabledFallback
    WPP_SF_qqsDd
    WPP_SF_qqsd
    QueryIfEAExists
    FLTMGRSYS-FltQueryEaFile
    NTOSKRNLEXE-RtlEqualString
end
end

subgraph cl_2161.sys
    WPP_SF_qqiiD-4-old
HsmFltPreSET_EA-2-old
HsmFltProcessConvertPlaceholder-11-old
    
end

```


```mermaid
pie showData
    title Function Matches - 99.7513%
"unmatched_funcs_len" : 7
"matched_funcs_len" : 2808
```



```mermaid
pie showData
    title Matched Function Similarity - 99.7507%
"matched_funcs_with_code_changes_len" : 3
"matched_funcs_with_non_code_changes_len" : 4
"matched_funcs_no_changes_len" : 2801
```

# 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 [] --max-ram-percent 60.0 --max-section-funcs 200 cl_2161.sys cl_2605.sys
```


#### Verbose Args


<details>

```
--old ['cl_2161.sys'] --new [['cl_2605.sys']] --engine VersionTrackingDiff --output-path cl_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 False --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/cldflt.sys/BC3E7E6B90000/cldflt.sys -O cldflt.sys.x64.10.0.26100.2161
wget https://msdl.microsoft.com/download/symbols/cldflt.sys/C1D4635990000/cldflt.sys -O cldflt.sys.x64.10.0.26100.2605
```


## Binary Metadata Diff


```diff
--- cl_2161.sys Meta
+++ cl_2605.sys Meta
@@ -1,44 +1,44 @@
-Program Name: cl_2161.sys
+Program Name: cl_2605.sys
 Language ID: x86:LE:64:default (4.6)
 Compiler ID: windows
 Processor: x86
 Endian: Little
 Address Size: 64
 Minimum Address: 1c0000000
 Maximum Address: ff0000184f
-# of Bytes: 594184
+# of Bytes: 594224
 # of Memory Blocks: 14
-# of Instructions: 109696
-# of Defined Data: 3276
-# of Functions: 1404
-# of Symbols: 15713
+# of Instructions: 110082
+# of Defined Data: 3293
+# of Functions: 1411
+# of Symbols: 15782
 # of Data Types: 180
 # of Data Type Categories: 13
 Analyzed: true
 Compiler: visualstudio:unknown
 Created With Ghidra Version: 12.0.4
-Date Created: Sat Aug 22 13:45:24 SGT 2026
+Date Created: Sat Aug 22 13:45:27 SGT 2026
 Executable Format: Portable Executable (PE)
-Executable Location: /tmp/cl24/cl_2161.sys
-Executable MD5: cbbbd3ba79a49cba65db2ba2942a281b
-Executable SHA256: 8a0f90cdc2a689444f02140400a7c62a764ebd989ad30ebc381ecec2ba896537
-FSRL: file:///tmp/cl24/cl_2161.sys?MD5=cbbbd3ba79a49cba65db2ba2942a281b
+Executable Location: /tmp/cl24/cl_2605.sys
+Executable MD5: 12c262b0b66c94d8759088262a4a309a
+Executable SHA256: 8ed9e56cb114e8135466518336e5f6c179ead70ed7b41dc3fd8cace632e3f9ef
+FSRL: file:///tmp/cl24/cl_2605.sys?MD5=12c262b0b66c94d8759088262a4a309a
 PDB Age: 1
 PDB File: cldflt.pdb
-PDB GUID: 76f864fd-4bbe-fd4c-649c-20ceaaa38368
+PDB GUID: 6e27102f-77e6-51a1-6676-c80e12f42253
 PDB Loaded: true
 PDB Version: RSDS
 PE Property[CompanyName]: Microsoft Corporation
 PE Property[FileDescription]: Cloud Files Mini Filter Driver
-PE Property[FileVersion]: 10.0.26100.2161 (WinBuild.160101.0800)
+PE Property[FileVersion]: 10.0.26100.2605 (WinBuild.160101.0800)
 PE Property[InternalName]: cldflt.sys
 PE Property[LegalCopyright]: © Microsoft Corporation. All rights reserved.
 PE Property[OriginalFilename]: cldflt.sys
 PE Property[ProductName]: Microsoft® Windows® Operating System
-PE Property[ProductVersion]: 10.0.26100.2161
+PE Property[ProductVersion]: 10.0.26100.2605
 PE Property[Translation]: 4b00409
 Preferred Root Namespace Category: 
 RTTI Found: false
 Relocatable: true
 SectionAlignment: 4096
 Should Ask To Analyze: false

```


## Program Options


<details>
<summary>Ghidra cl_2161.sys Decompiler Options</summary>


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

</details>


<details>
<summary>Ghidra cl_2161.sys Specification extensions Options</summary>


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

</details>


<details>
<summary>Ghidra cl_2161.sys 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 cl_2605.sys Decompiler Options</summary>


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

</details>


<details>
<summary>Ghidra cl_2605.sys Specification extensions Options</summary>


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

</details>


<details>
<summary>Ghidra cl_2605.sys 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|7|
|deleted_funcs_len|0|
|modified_funcs_len|7|
|added_symbols_len|10|
|deleted_symbols_len|3|
|diff_time|3.098217725753784|
|deleted_strings_len|0|
|added_strings_len|0|
|match_types|Counter({'SymbolsHash': 1403, 'ExternalsName': 338})|
|items_to_process|27|
|diff_types|Counter({'address': 4, 'refcount': 4, 'calling': 4, 'code': 3, 'length': 3, 'called': 2, 'sig': 1})|
|unmatched_funcs_len|7|
|total_funcs_len|2815|
|matched_funcs_len|2808|
|matched_funcs_with_code_changes_len|3|
|matched_funcs_with_non_code_changes_len|4|
|matched_funcs_no_changes_len|2801|
|match_func_similarity_percent|99.7507%|
|func_match_overall_percent|99.7513%|
|first_matches|Counter({'SymbolsHash': 1403})|



```mermaid
pie showData
    title All Matches
"SymbolsHash" : 1403
"ExternalsName" : 338
```



```mermaid
pie showData
    title First Matches
"SymbolsHash" : 1403
```



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



```mermaid
pie showData
    title Symbols
"added_symbols_len" : 10
"deleted_symbols_len" : 3
```

## Strings


*No string differences found*

# Deleted

# Added

## Feature_401191227__private_IsEnabledDeviceUsageNoInline

### Function Meta



|Key|cl_2605.sys|
| :---: | :---: |
|name|Feature_401191227__private_IsEnabledDeviceUsageNoInline|
|fullname|Feature_401191227__private_IsEnabledDeviceUsageNoInline|
|refcount|3|
|length|49|
|called|Feature_401191227__private_IsEnabledFallback|
|calling|HsmFltPreSET_EA<br>HsmFltProcessConvertPlaceholder|
|paramcount|0|
|address|1c001ab00|
|sig|ulonglong __fastcall Feature_401191227__private_IsEnabledDeviceUsageNoInline(void)|
|sym_type|Function|
|sym_source|IMPORTED|
|external|False|


```diff
--- Feature_401191227__private_IsEnabledDeviceUsageNoInline
+++ Feature_401191227__private_IsEnabledDeviceUsageNoInline
@@ -0,0 +1,17 @@
+
+ulonglong Feature_401191227__private_IsEnabledDeviceUsageNoInline(void)
+
+{
+  ulonglong uVar1;
+  undefined8 local_res8;
+  
+  local_res8 = (ulonglong)Feature_401191227__private_featureState;
+  if ((Feature_401191227__private_featureState & 0x10) == 0) {
+    uVar1 = Feature_401191227__private_IsEnabledFallback(local_res8,3);
+  }
+  else {
+    uVar1 = (ulonglong)(Feature_401191227__private_featureState & 1);
+  }
+  return uVar1;
+}
+

```


## Feature_401191227__private_IsEnabledFallback

### Function Meta



|Key|cl_2605.sys|
| :---: | :---: |
|name|Feature_401191227__private_IsEnabledFallback|
|fullname|Feature_401191227__private_IsEnabledFallback|
|refcount|2|
|length|21|
|called|wil_details_IsEnabledFallback|
|calling|Feature_401191227__private_IsEnabledDeviceUsageNoInline|
|paramcount|2|
|address|1c001ab38|
|sig|undefined __fastcall Feature_401191227__private_IsEnabledFallback(ulonglong param_1, int param_2)|
|sym_type|Function|
|sym_source|IMPORTED|
|external|False|


```diff
--- Feature_401191227__private_IsEnabledFallback
+++ Feature_401191227__private_IsEnabledFallback
@@ -0,0 +1,8 @@
+
+void Feature_401191227__private_IsEnabledFallback(ulonglong param_1,int param_2)
+
+{
+  wil_details_IsEnabledFallback(param_1,param_2,&Feature_401191227__private_descriptor);
+  return;
+}
+

```


## WPP_SF_qqsDd

### Function Meta



|Key|cl_2605.sys|
| :---: | :---: |
|name|WPP_SF_qqsDd|
|fullname|WPP_SF_qqsDd|
|refcount|2|
|length|199|
|called|_guard_dispatch_icall|
|calling|QueryIfEAExists|
|paramcount|6|
|address|1c001d554|
|sig|undefined __fastcall WPP_SF_qqsDd(undefined8 param_1, undefined8 param_2, undefined8 param_3, undefined8 param_4, undefined8 param_5, char * param_6)|
|sym_type|Function|
|sym_source|IMPORTED|
|external|False|


```diff
--- WPP_SF_qqsDd
+++ WPP_SF_qqsDd
@@ -0,0 +1,34 @@
+
+/* WARNING: Function: _guard_dispatch_icall replaced with injection: guard_dispatch_icall */
+
+void WPP_SF_qqsDd(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,
+                 undefined8 param_5,char *param_6)
+
+{
+  longlong lVar1;
+  longlong lVar2;
+  char *pcVar3;
+  undefined8 local_res20;
+  
+  if (param_6 == (char *)0x0) {
+    lVar2 = 5;
+  }
+  else {
+    lVar1 = -1;
+    do {
+      lVar2 = lVar1;
+      lVar1 = lVar2 + 1;
+    } while (param_6[lVar1] != '\0');
+    lVar2 = lVar2 + 2;
+  }
+  pcVar3 = param_6;
+  if (param_6 == (char *)0x0) {
+    pcVar3 = "NULL";
+  }
+  local_res20 = param_4;
+  (*pfnWppTraceMessage)
+            (param_1,0x2b,&WPP_464b95084c7d3507e9a372f81d47abe9_Traceguids,0x83,&local_res20,8,
+             &param_5,8,pcVar3,lVar2,&stack0x00000038,4,&stack0x00000040,4,0);
+  return;
+}
+

```


## WPP_SF_qqsd

### Function Meta



|Key|cl_2605.sys|
| :---: | :---: |
|name|WPP_SF_qqsd|
|fullname|WPP_SF_qqsd|
|refcount|4|
|length|174|
|called|_guard_dispatch_icall|
|calling|QueryIfEAExists|
|paramcount|6|
|address|1c001d624|
|sig|undefined __fastcall WPP_SF_qqsd(undefined8 param_1, undefined2 param_2, undefined8 param_3, undefined8 param_4, undefined8 param_5, char * param_6)|
|sym_type|Function|
|sym_source|IMPORTED|
|external|False|


```diff
--- WPP_SF_qqsd
+++ WPP_SF_qqsd
@@ -0,0 +1,34 @@
+
+/* WARNING: Function: _guard_dispatch_icall replaced with injection: guard_dispatch_icall */
+
+void WPP_SF_qqsd(undefined8 param_1,undefined2 param_2,undefined8 param_3,undefined8 param_4,
+                undefined8 param_5,char *param_6)
+
+{
+  longlong lVar1;
+  longlong lVar2;
+  char *pcVar3;
+  undefined8 local_res20;
+  
+  if (param_6 == (char *)0x0) {
+    lVar2 = 5;
+  }
+  else {
+    lVar1 = -1;
+    do {
+      lVar2 = lVar1;
+      lVar1 = lVar2 + 1;
+    } while (param_6[lVar1] != '\0');
+    lVar2 = lVar2 + 2;
+  }
+  pcVar3 = param_6;
+  if (param_6 == (char *)0x0) {
+    pcVar3 = "NULL";
+  }
+  local_res20 = param_4;
+  (*pfnWppTraceMessage)
+            (param_1,0x2b,&WPP_464b95084c7d3507e9a372f81d47abe9_Traceguids,param_2,&local_res20,8,
+             &param_5,8,pcVar3,lVar2,&stack0x00000038,4,0);
+  return;
+}
+

```


## QueryIfEAExists

### Function Meta



|Key|cl_2605.sys|
| :---: | :---: |
|name|QueryIfEAExists|
|fullname|QueryIfEAExists|
|refcount|2|
|length|914|
|called|FLTMGR.SYS::FltQueryEaFile<br>HsmDbgBreakOnStatus<br>NTOSKRNL.EXE::ExAllocatePool2<br>NTOSKRNL.EXE::ExFreePoolWithTag<br>WPP_SF_qqsDd<br>WPP_SF_qqsd|
|calling|HsmFltProcessConvertPlaceholder|
|paramcount|5|
|address|1c00460ec|
|sig|uint __fastcall QueryIfEAExists(undefined8 param_1, undefined8 param_2, undefined8 param_3, undefined8 param_4, undefined1 * param_5)|
|sym_type|Function|
|sym_source|IMPORTED|
|external|False|


```diff
--- QueryIfEAExists
+++ QueryIfEAExists
@@ -0,0 +1,120 @@
+
+uint QueryIfEAExists(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,
+                    undefined1 *param_5)
+
+{
+  ulonglong uVar1;
+  uint uVar2;
+  undefined4 *puVar3;
+  longlong lVar4;
+  undefined2 uVar5;
+  undefined8 uVar6;
+  longlong lVar7;
+  ulonglong uVar8;
+  undefined4 local_res20 [2];
+  
+  local_res20[0] = 0;
+  uVar6 = 0x69457348;
+  puVar3 = (undefined4 *)ExAllocatePool2(0x100,0x1c);
+  if (puVar3 == (undefined4 *)0x0) {
+    HsmDbgBreakOnStatus(-0x3fffff66);
+    if ((undefined **)WPP_GLOBAL_Control == &WPP_GLOBAL_Control) {
+      return 0xc000009a;
+    }
+    if ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) == 0) {
+      return 0xc000009a;
+    }
+    if ((byte)WPP_GLOBAL_Control[0x29] < 2) {
+      return 0xc000009a;
+    }
+    WPP_SF_qqsd(*(undefined8 *)(WPP_GLOBAL_Control + 0x18),0x81,uVar6,param_1,param_2,
+                "$Kernel.CFDoNotConvert");
+    return 0xc000009a;
+  }
+  *puVar3 = 0;
+  uVar8 = 100;
+  *(undefined1 *)(puVar3 + 1) = 0x16;
+  uVar6 = 0x69457348;
+  builtin_strncpy((char *)((longlong)puVar3 + 5),"$Ker",4);
+  builtin_strncpy((char *)((longlong)puVar3 + 9),"nel.",4);
+  builtin_strncpy((char *)((longlong)puVar3 + 0xd),"CFDo",4);
+  builtin_strncpy((char *)((longlong)puVar3 + 0x11),"NotC",4);
+  builtin_strncpy((char *)((longlong)puVar3 + 0x15),"onve",4);
+  ((char *)((longlong)puVar3 + 0x19))[0] = 'r';
+  ((char *)((longlong)puVar3 + 0x19))[1] = 't';
+  lVar4 = ExAllocatePool2(0x102,100);
+  if (lVar4 == 0) {
+    HsmDbgBreakOnStatus(-0x3fffff66);
+    uVar2 = 0xc000009a;
+    if ((((undefined **)WPP_GLOBAL_Control == &WPP_GLOBAL_Control) ||
+        (uVar2 = 0xc000009a, (*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) == 0)) ||
+       ((byte)WPP_GLOBAL_Control[0x29] < 2)) goto LAB_1c004644c;
+    uVar5 = 0x82;
+  }
+  else {
+    do {
+      do {
+        lVar7 = lVar4;
+        uVar2 = FltQueryEaFile(param_1,param_2,lVar4,uVar8,1,puVar3,0x1c,0,1,local_res20);
+        HsmDbgBreakOnStatus(uVar2);
+        if ((uVar2 != 0x80000005) && (uVar2 != 0xc0000023)) {
+          if ((int)uVar2 < 0) {
+            if ((uVar2 == 0xc0000052) || (uVar2 == 0xc000004f)) {
+              uVar2 = 0;
+              *param_5 = 0;
+            }
+            else {
+              *param_5 = 0;
+              if ((((undefined **)WPP_GLOBAL_Control != &WPP_GLOBAL_Control) &&
+                  ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) != 0)) &&
+                 (1 < (byte)WPP_GLOBAL_Control[0x29])) {
+                WPP_SF_qqsd(*(undefined8 *)(WPP_GLOBAL_Control + 0x18),0x85,lVar7,param_1,param_2,
+                            "$Kernel.CFDoNotConvert");
+              }
+            }
+          }
+          else {
+            *param_5 = *(short *)(lVar4 + 6) != 0;
+          }
+          if (lVar4 != 0) {
+            ExFreePoolWithTag(lVar4,0x69457348);
+          }
+          goto LAB_1c004644c;
+        }
+      } while (lVar4 == 0);
+      uVar6 = 0x69457348;
+      ExFreePoolWithTag(lVar4);
+      uVar1 = uVar8 * 2;
+      uVar8 = 0xffffffff;
+      if (uVar1 < 0x100000000) {
+        uVar8 = uVar1 & 0xffffffff;
+      }
+      uVar2 = -(uint)(0xffffffff < uVar1) & 0xc0000095;
+      HsmDbgBreakOnStatus(uVar2);
+      if (0xffffffff < uVar1) {
+        if ((((undefined **)WPP_GLOBAL_Control != &WPP_GLOBAL_Control) &&
+            ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) != 0)) &&
+           (1 < (byte)WPP_GLOBAL_Control[0x29])) {
+          WPP_SF_qqsDd(*(undefined8 *)(WPP_GLOBAL_Control + 0x18),uVar6,lVar7,param_1,param_2,
+                       "$Kernel.CFDoNotConvert");
+        }
+        goto LAB_1c004644c;
+      }
+      uVar6 = 0x69457348;
+      lVar4 = ExAllocatePool2(0x102,uVar8);
+    } while (lVar4 != 0);
+    uVar2 = 0xc000009a;
+    HsmDbgBreakOnStatus(-0x3fffff66);
+    if ((((undefined **)WPP_GLOBAL_Control == &WPP_GLOBAL_Control) ||
+        ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) == 0)) || ((byte)WPP_GLOBAL_Control[0x29] < 2))
+    goto LAB_1c004644c;
+    uVar5 = 0x84;
+  }
+  uVar2 = 0xc000009a;
+  WPP_SF_qqsd(*(undefined8 *)(WPP_GLOBAL_Control + 0x18),uVar5,uVar6,param_1,param_2,
+              "$Kernel.CFDoNotConvert");
+LAB_1c004644c:
+  ExFreePoolWithTag(puVar3,0x69457348);
+  return uVar2;
+}
+

```


## FLTMGR.SYS::FltQueryEaFile

### Function Meta



|Key|cl_2605.sys|
| :---: | :---: |
|name|FltQueryEaFile|
|fullname|FLTMGR.SYS::FltQueryEaFile|
|refcount|2|
|length|0|
|called||
|calling|QueryIfEAExists|
|paramcount|0|
|address|EXTERNAL:0000013c|
|sig|undefined FltQueryEaFile(void)|
|sym_type|Function|
|sym_source|IMPORTED|
|external|True|


*No code available for FLTMGR.SYS::FltQueryEaFile*
## NTOSKRNL.EXE::RtlEqualString

### Function Meta



|Key|cl_2605.sys|
| :---: | :---: |
|name|RtlEqualString|
|fullname|NTOSKRNL.EXE::RtlEqualString|
|refcount|2|
|length|0|
|called||
|calling|HsmFltPreSET_EA|
|paramcount|0|
|address|EXTERNAL:00000065|
|sig|undefined RtlEqualString(void)|
|sym_type|Function|
|sym_source|IMPORTED|
|external|True|


*No code available for NTOSKRNL.EXE::RtlEqualString*
# Modified


*Modified functions contain code changes*
## WPP_SF_qqiiD

### Match Info



|Key|cl_2161.sys - cl_2605.sys|
| :---: | :---: |
|diff_type|code,length,address|
|ratio|0.9|
|i_ratio|0.81|
|m_ratio|1.0|
|b_ratio|0.96|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|cl_2161.sys|cl_2605.sys|
| :---: | :---: | :---: |
|name|WPP_SF_qqiiD|WPP_SF_qqiiD|
|fullname|WPP_SF_qqiiD|WPP_SF_qqiiD|
|refcount|2|2|
|`length`|124|126|
|called|_guard_dispatch_icall|_guard_dispatch_icall|
|calling|HsmFltProcessConvertPlaceholder|HsmFltProcessConvertPlaceholder|
|paramcount|4|4|
|`address`|1c001d46c|1c001d4cc|
|sig|undefined __fastcall WPP_SF_qqiiD(undefined8 param_1, undefined8 param_2, undefined8 param_3, undefined8 param_4)|undefined __fastcall WPP_SF_qqiiD(undefined8 param_1, undefined8 param_2, undefined8 param_3, undefined8 param_4)|
|sym_type|Function|Function|
|sym_source|IMPORTED|IMPORTED|
|external|False|False|

### WPP_SF_qqiiD Diff


```diff
--- WPP_SF_qqiiD
+++ WPP_SF_qqiiD
@@ -1,15 +1,15 @@
 
 /* WARNING: Function: _guard_dispatch_icall replaced with injection: guard_dispatch_icall */
 
 void WPP_SF_qqiiD(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
 
 {
   undefined8 local_res20;
   
   local_res20 = param_4;
   (*pfnWppTraceMessage)
-            (param_1,0x2b,&WPP_c2daf0d2b2fa378027484fb0b1678afa_Traceguids,0x87,&local_res20,8,
+            (param_1,0x2b,&WPP_464b95084c7d3507e9a372f81d47abe9_Traceguids,0x8c,&local_res20,8,
              &stack0x00000028,8,&stack0x00000030,8,&stack0x00000038,8,&stack0x00000040,4,0);
   return;
 }
 

```


## HsmFltPreSET_EA

### Match Info



|Key|cl_2161.sys - cl_2605.sys|
| :---: | :---: |
|diff_type|code,length,sig,called|
|ratio|0.45|
|i_ratio|0.65|
|m_ratio|0.93|
|b_ratio|0.92|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|cl_2161.sys|cl_2605.sys|
| :---: | :---: | :---: |
|name|HsmFltPreSET_EA|HsmFltPreSET_EA|
|fullname|HsmFltPreSET_EA|HsmFltPreSET_EA|
|refcount|2|2|
|`length`|645|746|
|`called`|<details><summary>Expand for full list:<br>FLTMGR.SYS::FltReleaseContext<br>Feature_3260711228__private_IsEnabledDeviceUsageNoInline<br>HsmDbgBreakOnStatus<br>HsmpGetStreamHandleContext<br>HsmpTracePreCallbackEnter<br>HsmpTracePreCallbackExit<br>NTOSKRNL.EXE::IoCheckEaBufferValidity<br>NTOSKRNL.EXE::MmMapLockedPagesSpecifyCache<br>NTOSKRNL.EXE::RtlPrefixString<br>TlmWriteDisallowPurgeableKernelEA<br>WPP_SF_iiqd</summary></details>|<details><summary>Expand for full list:<br>FLTMGR.SYS::FltReleaseContext<br>Feature_3260711228__private_IsEnabledDeviceUsageNoInline<br>Feature_401191227__private_IsEnabledDeviceUsageNoInline<br>HsmDbgBreakOnStatus<br>HsmpGetStreamHandleContext<br>HsmpTracePreCallbackEnter<br>HsmpTracePreCallbackExit<br>NTOSKRNL.EXE::IoCheckEaBufferValidity<br>NTOSKRNL.EXE::MmMapLockedPagesSpecifyCache<br>NTOSKRNL.EXE::RtlEqualString<br>NTOSKRNL.EXE::RtlPrefixString</summary>TlmWriteDisallowPurgeableKernelEA<br>WPP_SF_iiqd</details>|
|calling|||
|paramcount|2|2|
|address|1c0043710|1c0043710|
|`sig`|uint __fastcall HsmFltPreSET_EA(longlong param_1, longlong param_2)|undefined8 __fastcall HsmFltPreSET_EA(longlong param_1, longlong param_2)|
|sym_type|Function|Function|
|sym_source|IMPORTED|IMPORTED|
|external|False|False|

### HsmFltPreSET_EA Called Diff


```diff
--- HsmFltPreSET_EA called
+++ HsmFltPreSET_EA called
@@ -2,0 +3 @@
+Feature_401191227__private_IsEnabledDeviceUsageNoInline
@@ -8,0 +10 @@
+NTOSKRNL.EXE::RtlEqualString
```


### HsmFltPreSET_EA Diff


```diff
--- HsmFltPreSET_EA
+++ HsmFltPreSET_EA
@@ -1,104 +1,119 @@
 
-uint HsmFltPreSET_EA(longlong param_1,longlong param_2)
+undefined8 HsmFltPreSET_EA(longlong param_1,longlong param_2)
 
 {
   longlong lVar1;
-  uint3 uVar2;
-  bool bVar3;
-  char cVar4;
-  int iVar5;
-  ulonglong uVar6;
-  longlong lVar7;
-  int *piVar8;
+  bool bVar2;
+  char cVar3;
+  int iVar4;
+  ulonglong uVar5;
+  longlong lVar6;
+  int *piVar7;
+  undefined2 uVar8;
   undefined4 uVar9;
-  undefined8 uVar10;
-  int *piVar11;
-  uint uVar12;
+  int *piVar10;
+  undefined8 uVar11;
+  undefined8 uVar12;
   uint local_res20;
   undefined8 in_stack_ffffffffffffffb0;
-  uint local_38 [2];
+  undefined8 local_38;
   int *piStack_30;
   
   uVar9 = (undefined4)((ulonglong)in_stack_ffffffffffffffb0 >> 0x20);
-  local_38[0] = 0;
-  local_38[1] = 0;
+  local_38 = 0;
   piStack_30 = (int *)0x0;
-  uVar6 = Feature_3260711228__private_IsEnabledDeviceUsageNoInline();
-  if ((int)uVar6 == 0) {
+  uVar12 = 1;
+  uVar5 = Feature_3260711228__private_IsEnabledDeviceUsageNoInline();
+  if ((int)uVar5 == 0) {
     return 1;
   }
   if (*(char *)(*(longlong *)(param_1 + 0x10) + 5) != '\x04') {
     return 1;
   }
-  uVar10 = *(undefined8 *)(param_2 + 0x20);
-  lVar7 = HsmpGetStreamHandleContext(param_1,*(longlong *)(param_2 + 0x18),uVar10);
-  if (lVar7 == 0) {
+  uVar11 = *(undefined8 *)(param_2 + 0x20);
+  lVar6 = HsmpGetStreamHandleContext(param_1,*(longlong *)(param_2 + 0x18),uVar11);
+  if (lVar6 == 0) {
     return 1;
   }
-  uVar6 = *(ulonglong *)(lVar7 + 0x10);
-  uVar12 = 1;
-  bVar3 = false;
-  if ((*(uint *)(uVar6 + 0x1c) & 2) != 0) goto LAB_0;
-  HsmpTracePreCallbackEnter(param_1,'\0',CONCAT71((int7)((ulonglong)uVar10 >> 8),1),lVar7,uVar6);
+  uVar5 = *(ulonglong *)(lVar6 + 0x10);
+  bVar2 = false;
+  if ((*(uint *)(uVar5 + 0x1c) & 2) != 0) goto LAB_0;
+  HsmpTracePreCallbackEnter(param_1,'\0',CONCAT71((int7)((ulonglong)uVar11 >> 8),1),lVar6,uVar5);
   lVar1 = *(longlong *)(*(longlong *)(param_1 + 0x10) + 0x28);
   if (lVar1 == 0) {
-    piVar8 = *(int **)(*(longlong *)(param_1 + 0x10) + 0x20);
+    piVar7 = *(int **)(*(longlong *)(param_1 + 0x10) + 0x20);
 LAB_1:
-    iVar5 = IoCheckEaBufferValidity(piVar8,*(undefined4 *)(*(longlong *)(param_1 + 0x10) + 0x18));
-    uVar12 = 1;
-    bVar3 = true;
-    if (iVar5 < 0) goto LAB_0;
+    iVar4 = IoCheckEaBufferValidity(piVar7,*(undefined4 *)(*(longlong *)(param_1 + 0x10) + 0x18));
+    bVar2 = true;
+    if (iVar4 < 0) goto LAB_0;
     local_res20 = 0;
-    uVar2 = CONCAT12(*(byte *)((longlong)piVar8 + 5),(ushort)*(byte *)((longlong)piVar8 + 5));
-    piVar11 = piVar8;
+    local_38._0_4_ =
+         (uint)CONCAT12(*(byte *)((longlong)piVar7 + 5),(ushort)*(byte *)((longlong)piVar7 + 5));
+    piVar10 = piVar7;
     while( true ) {
-      local_38[0] = (uint)uVar2;
-      piStack_30 = piVar11 + 2;
-      cVar4 = RtlPrefixString(&KernelPurgeableEaNamePrefix,local_38);
-      if (cVar4 != '\0') break;
-      local_res20 = *piVar11 + local_res20;
-      bVar3 = true;
-      if (*piVar11 == 0) goto LAB_0;
-      piVar11 = (int *)((ulonglong)local_res20 + (longlong)piVar8);
-      uVar2 = CONCAT12(*(byte *)((longlong)piVar11 + 5),(ushort)*(byte *)((longlong)piVar11 + 5));
+      piStack_30 = piVar10 + 2;
+      cVar3 = RtlPrefixString(&KernelPurgeableEaNamePrefix,&local_38);
+      if (cVar3 != '\0') break;
+      uVar5 = Feature_401191227__private_IsEnabledDeviceUsageNoInline();
+      if (((int)uVar5 != 0) &&
+         (cVar3 = RtlEqualString(&DoNotConvertToCloudFilesEA,&local_38), cVar3 != '\0')) {
+        HsmDbgBreakOnStatus(-0x3fffffb1);
+        uVar9 = 0xc000004f;
+        if (((undefined **)WPP_GLOBAL_Control == &WPP_GLOBAL_Control) ||
+           ((uVar9 = 0xc000004f, (*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) == 0 ||
+            ((byte)WPP_GLOBAL_Control[0x29] < 4)))) goto LAB_2;
+        uVar8 = 0x41;
+        uVar9 = 0xc000004f;
+        goto LAB_3;
+      }
+      local_res20 = *piVar10 + local_res20;
+      bVar2 = true;
+      if (*piVar10 == 0) goto LAB_0;
+      piVar10 = (int *)((ulonglong)local_res20 + (longlong)piVar7);
+      local_38._0_4_ =
+           (uint)CONCAT12(*(byte *)((longlong)piVar10 + 5),(ushort)*(byte *)((longlong)piVar10 + 5))
+      ;
     }
-    uVar9 = 0xc000004f;
     HsmDbgBreakOnStatus(-0x3fffffb1);
     if ((((undefined **)WPP_GLOBAL_Control != &WPP_GLOBAL_Control) &&
         ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) != 0)) && (3 < (byte)WPP_GLOBAL_Control[0x29]))
     {
       WPP_SF_iiqd(*(undefined8 *)(WPP_GLOBAL_Control + 0x18),0x40,
-                  &WPP_d376a8842fac3de84191ec8276695582_Traceguids,param_1);
+                  &WPP_8a5a2ca46ccc372cf18bbf43d5f5a166_Traceguids,param_1);
     }
     TlmWriteDisallowPurgeableKernelEA();
+    uVar9 = 0xc000004f;
   }
   else {
     if ((*(byte *)(lVar1 + 10) & 5) == 0) {
-      piVar8 = (int *)MmMapLockedPagesSpecifyCache
-                                (lVar1,0,1,0,uVar6 & 0xffffffff00000000,CONCAT44(uVar9,0x40000010));
+      piVar7 = (int *)MmMapLockedPagesSpecifyCache
+                                (lVar1,0,1,0,uVar5 & 0xffffffff00000000,CONCAT44(uVar9,0x40000010));
     }
     else {
-      piVar8 = *(int **)(lVar1 + 0x18);
+      piVar7 = *(int **)(lVar1 + 0x18);
     }
-    if (piVar8 != (int *)0x0) goto LAB_1;
+    if (piVar7 != (int *)0x0) goto LAB_1;
     uVar9 = 0xc000009a;
     HsmDbgBreakOnStatus(-0x3fffff66);
     if ((((undefined **)WPP_GLOBAL_Control != &WPP_GLOBAL_Control) &&
         ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) != 0)) && (1 < (byte)WPP_GLOBAL_Control[0x29]))
     {
-      WPP_SF_iiqd(*(undefined8 *)(WPP_GLOBAL_Control + 0x18),0x3f,
-                  &WPP_d376a8842fac3de84191ec8276695582_Traceguids,param_1);
+      uVar8 = 0x3f;
+LAB_3:
+      WPP_SF_iiqd(*(undefined8 *)(WPP_GLOBAL_Control + 0x18),uVar8,
+                  &WPP_8a5a2ca46ccc372cf18bbf43d5f5a166_Traceguids,param_1);
     }
   }
+LAB_2:
   *(undefined8 *)(param_1 + 0x20) = 0;
+  uVar12 = 4;
   *(undefined4 *)(param_1 + 0x18) = uVar9;
-  uVar12 = 4;
-  bVar3 = true;
+  bVar2 = true;
 LAB_0:
-  FltReleaseContext(lVar7);
-  if (bVar3) {
-    HsmpTracePreCallbackExit((ulonglong)uVar12,param_1,0,'\0','\x01');
+  FltReleaseContext(lVar6);
+  if (bVar2) {
+    HsmpTracePreCallbackExit(uVar12,param_1,0,'\0','\x01');
   }
   return uVar12;
 }
 

```


## HsmFltProcessConvertPlaceholder

### Match Info



|Key|cl_2161.sys - cl_2605.sys|
| :---: | :---: |
|diff_type|code,length,address,called|
|ratio|0.86|
|i_ratio|0.55|
|m_ratio|0.97|
|b_ratio|0.94|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|cl_2161.sys|cl_2605.sys|
| :---: | :---: | :---: |
|name|HsmFltProcessConvertPlaceholder|HsmFltProcessConvertPlaceholder|
|fullname|HsmFltProcessConvertPlaceholder|HsmFltProcessConvertPlaceholder|
|refcount|2|2|
|`length`|3101|3277|
|`called`|<details><summary>Expand for full list:<br>FLTMGR.SYS::FltFsControlFile<br>FLTMGR.SYS::FltGetRequestorProcess<br>FLTMGR.SYS::FltQueryInformationFile<br>FLTMGR.SYS::FltReleaseContext<br>Feature_2175866168__private_IsEnabledDeviceUsageNoInline<br>HsmDbgBreakOnStatus<br>HsmpAcquireSyncOpRundownProtection<br>HsmpCldCheckSyncProviderAccess<br>HsmpCldGetSyncPolicy<br>HsmpGetStreamContext<br>HsmpIsPlaceholder</summary>HsmpNotifyDataChange<br>HsmpPrepareForMgmtOperation<br>HsmpQueryLastEffectiveUsn<br>HsmpReleaseSyncOpRundownProtection<br>HsmpRpCreate<br>HsmpSetupContexts<br>TlmWriteConvertingSparseFile<br>WPP_SF_iid<br>WPP_SF_iiqd<br>WPP_SF_qiqLd<br>WPP_SF_qqiiD<br>WPP_SF_qqqid<br>__security_check_cookie</details>|<details><summary>Expand for full list:<br>FLTMGR.SYS::FltFsControlFile<br>FLTMGR.SYS::FltGetRequestorProcess<br>FLTMGR.SYS::FltQueryInformationFile<br>FLTMGR.SYS::FltReleaseContext<br>Feature_2175866168__private_IsEnabledDeviceUsageNoInline<br>Feature_401191227__private_IsEnabledDeviceUsageNoInline<br>HsmDbgBreakOnStatus<br>HsmpAcquireSyncOpRundownProtection<br>HsmpCldCheckSyncProviderAccess<br>HsmpCldGetSyncPolicy<br>HsmpGetStreamContext</summary>HsmpIsPlaceholder<br>HsmpNotifyDataChange<br>HsmpPrepareForMgmtOperation<br>HsmpQueryLastEffectiveUsn<br>HsmpReleaseSyncOpRundownProtection<br>HsmpRpCreate<br>HsmpSetupContexts<br>QueryIfEAExists<br>TlmWriteConvertingSparseFile<br>WPP_SF_iid<br>WPP_SF_iiqd<br>WPP_SF_qiqLd<br>WPP_SF_qqiiD<br>WPP_SF_qqqid<br>__security_check_cookie</details>|
|calling|HsmFltProcessHSMControl|HsmFltProcessHSMControl|
|paramcount|11|11|
|`address`|1c0084b44|1c0084f44|
|sig|uint __fastcall HsmFltProcessConvertPlaceholder(undefined8 param_1, ulonglong param_2, uint * * param_3, undefined8 param_4, longlong param_5, undefined8 param_6, undefined8 param_7, longlong param_8, longlong * param_9, uint param_10, int param_11)|uint __fastcall HsmFltProcessConvertPlaceholder(undefined8 param_1, ulonglong param_2, uint * * param_3, undefined8 param_4, longlong param_5, undefined8 param_6, undefined8 param_7, longlong param_8, longlong * param_9, uint param_10, int param_11)|
|sym_type|Function|Function|
|sym_source|IMPORTED|IMPORTED|
|external|False|False|

### HsmFltProcessConvertPlaceholder Called Diff


```diff
--- HsmFltProcessConvertPlaceholder called
+++ HsmFltProcessConvertPlaceholder called
@@ -5,0 +6 @@
+Feature_401191227__private_IsEnabledDeviceUsageNoInline
@@ -17,0 +19 @@
+QueryIfEAExists
```


### HsmFltProcessConvertPlaceholder Diff


```diff
--- HsmFltProcessConvertPlaceholder
+++ HsmFltProcessConvertPlaceholder
@@ -1,507 +1,548 @@
 
 /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
 
 uint HsmFltProcessConvertPlaceholder
                (undefined8 param_1,ulonglong param_2,uint **param_3,undefined8 param_4,
                longlong param_5,undefined8 param_6,undefined8 param_7,longlong param_8,
                longlong *param_9,uint param_10,int param_11)
 
 {
   bool bVar1;
   char cVar2;
   uint uVar3;
   uint uVar4;
   ulonglong uVar5;
-  longlong lVar6;
-  undefined8 uVar7;
+  ulonglong uVar6;
+  longlong lVar7;
   undefined2 uVar8;
   uint **ppuVar9;
   longlong *plVar10;
+  undefined8 uVar11;
   undefined1 auStackY_f8 [32];
   uint local_b4;
   longlong *local_b0;
   uint **local_a8;
   undefined8 local_98;
   longlong lStack_90;
   undefined8 local_88;
   longlong local_80 [6];
   ulonglong local_50;
   ulonglong local_48;
   
   local_48 = __security_cookie ^ (ulonglong)auStackY_f8;
   uVar4 = 0;
   local_b4 = 0;
   local_b0 = param_9;
   local_50 = 0;
   local_80[2] = 0;
   local_80[3] = 0;
   local_88 = 0;
   local_80[4] = 0;
   local_80[5] = 0;
   bVar1 = false;
   local_98 = 0;
   lStack_90 = 0;
   local_a8 = param_3;
   uVar5 = HsmpIsPlaceholder(param_5);
   if ((char)uVar5 == '\0') {
     uVar5 = Feature_2175866168__private_IsEnabledDeviceUsageNoInline();
     if ((int)uVar5 == 0) {
       if (*(uint *)(param_9 + 2) <= param_10 - 0x14) goto LAB_0;
       HsmDbgBreakOnStatus(-0x3fff30f5);
       if ((undefined **)WPP_GLOBAL_Control == &WPP_GLOBAL_Control) {
         return 0xc000cf0b;
       }
       if ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) == 0) {
         return 0xc000cf0b;
       }
       if ((byte)WPP_GLOBAL_Control[0x29] < 2) {
         return 0xc000cf0b;
       }
-      uVar8 = 0x83;
+      uVar8 = 0x88;
     }
     else {
       if (((0x13 < param_10) && (*(uint *)(param_9 + 2) <= param_10 - 0x14)) &&
          (*(uint *)(param_9 + 2) < 0x1001)) {
 LAB_0:
         if (param_11 - 1U < 7) {
           HsmDbgBreakOnStatus(-0x3fff30f5);
           if ((undefined **)WPP_GLOBAL_Control == &WPP_GLOBAL_Control) {
             return 0xc000cf0b;
           }
           if ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) == 0) {
             return 0xc000cf0b;
           }
           if ((byte)WPP_GLOBAL_Control[0x29] < 2) {
             return 0xc000cf0b;
           }
-          WPP_SF_qiqLd(*(undefined8 *)(WPP_GLOBAL_Control + 0x18),0x84,
-                       &WPP_c2daf0d2b2fa378027484fb0b1678afa_Traceguids,param_8);
+          WPP_SF_qiqLd(*(undefined8 *)(WPP_GLOBAL_Control + 0x18),0x89,
+                       &WPP_464b95084c7d3507e9a372f81d47abe9_Traceguids,param_8);
           return 0xc000cf0b;
         }
         uVar3 = FltQueryInformationFile(*(undefined8 *)(param_2 + 0x20),param_3,&local_98,0x18);
         HsmDbgBreakOnStatus(uVar3);
         if ((int)uVar3 < 0) {
           if ((undefined **)WPP_GLOBAL_Control == &WPP_GLOBAL_Control) {
             return uVar3;
           }
           if ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) == 0) {
             return uVar3;
           }
           if ((byte)WPP_GLOBAL_Control[0x29] < 2) {
             return uVar3;
           }
-          uVar8 = 0x85;
-          uVar7 = *(undefined8 *)(WPP_GLOBAL_Control + 0x18);
+          uVar8 = 0x8a;
+          uVar11 = *(undefined8 *)(WPP_GLOBAL_Control + 0x18);
           goto LAB_1;
         }
         cVar2 = local_88._5_1_;
         plVar10 = local_80 + 2;
+        uVar5 = 0x28;
         local_80[0] = lStack_90;
         uVar3 = FltQueryInformationFile(*(undefined8 *)(param_2 + 0x20));
         HsmDbgBreakOnStatus(uVar3);
         if ((int)uVar3 < 0) {
           if ((undefined **)WPP_GLOBAL_Control == &WPP_GLOBAL_Control) {
             return uVar3;
           }
           if ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) == 0) {
             return uVar3;
           }
           if ((byte)WPP_GLOBAL_Control[0x29] < 2) {
             return uVar3;
           }
-          uVar8 = 0x86;
+          uVar8 = 0x8b;
           goto LAB_2;
         }
         ppuVar9 = local_a8;
         if (((cVar2 == '\0') && ((local_50 & 0x200) != 0)) &&
            (((*(uint *)(local_b0 + 1) >> 0x18 & 1) == 0 && ((*(uint *)(local_b0 + 1) & 2) == 0)))) {
           if ((((undefined **)WPP_GLOBAL_Control != &WPP_GLOBAL_Control) &&
               ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) != 0)) &&
              (2 < (byte)WPP_GLOBAL_Control[0x29])) {
             WPP_SF_qqiiD(*(undefined8 *)(WPP_GLOBAL_Control + 0x18),param_3,plVar10,param_8);
           }
           ppuVar9 = local_a8;
+          uVar5 = local_88 & 0xffffffff;
           TlmWriteConvertingSparseFile
                     ((longlong)local_a8,local_80[0],local_98,(undefined4)local_88,local_80[2]);
         }
         if ((*(uint *)(local_b0 + 1) & 0x10) == 0) {
+          uVar5 = 5;
           uVar3 = HsmpCldGetSyncPolicy(param_2,0,(longlong)ppuVar9,5,&local_b4);
           HsmDbgBreakOnStatus(uVar3);
           uVar4 = local_b4;
-          lVar6 = 0;
+          uVar6 = 0;
           if ((int)uVar3 < 0) {
             if ((undefined **)WPP_GLOBAL_Control == &WPP_GLOBAL_Control) {
               return uVar3;
             }
             if ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) == 0) {
               return uVar3;
             }
             if ((byte)WPP_GLOBAL_Control[0x29] < 2) {
               return uVar3;
             }
-            uVar8 = 0x88;
+            uVar8 = 0x8d;
             goto LAB_3;
           }
           if (((local_b4 >> 0x1c & 1) == 0) || ((*(uint *)(local_b0 + 1) & 0x1000000) != 0)) {
             local_b4 = local_b4 & 0xffffff00;
             if (param_8 != 0) {
-              lVar6 = FltGetRequestorProcess(param_8);
+              uVar6 = FltGetRequestorProcess(param_8);
             }
             uVar3 = HsmpCldCheckSyncProviderAccess
-                              (param_2,param_5,(longlong)local_a8,lVar6,(undefined1 *)&local_b4);
+                              (param_2,param_5,(longlong)local_a8,uVar6,(undefined1 *)&local_b4);
             HsmDbgBreakOnStatus(uVar3);
             if ((int)uVar3 < 0) {
 LAB_4:
               if ((undefined **)WPP_GLOBAL_Control == &WPP_GLOBAL_Control) {
                 return uVar3;
               }
               if ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) == 0) {
                 return uVar3;
               }
               if ((byte)WPP_GLOBAL_Control[0x29] < 2) {
                 return uVar3;
               }
-              WPP_SF_iiqd(*(undefined8 *)(WPP_GLOBAL_Control + 0x18),0x89,
-                          &WPP_c2daf0d2b2fa378027484fb0b1678afa_Traceguids,param_2);
-              return uVar3;
-            }
+              WPP_SF_iiqd(*(undefined8 *)(WPP_GLOBAL_Control + 0x18),0x8e,
+                          &WPP_464b95084c7d3507e9a372f81d47abe9_Traceguids,param_2);
+              return uVar3;
+            }
+            uVar5 = uVar6;
             if ((char)local_b4 == '\0') {
               uVar3 = 0xc000cf18;
               HsmDbgBreakOnStatus(-0x3fff30e8);
               goto LAB_4;
             }
           }
         }
-        ppuVar9 = local_a8;
+        uVar11 = 0xf0;
         uVar3 = *(uint *)(local_b0 + 1);
         if ((uVar3 & 2) != 0) {
           if (cVar2 == '\0') {
             if (((byte)uVar4 & 0xf) < 4) {
 LAB_5:
               if ((uVar3 & 1) == 0) {
                 uVar3 = 0xc000cf08;
                 HsmDbgBreakOnStatus(-0x3fff30f8);
                 if ((undefined **)WPP_GLOBAL_Control == &WPP_GLOBAL_Control) {
                   return 0xc000cf08;
                 }
                 if ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) == 0) {
                   return 0xc000cf08;
                 }
                 if ((byte)WPP_GLOBAL_Control[0x29] < 2) {
                   return 0xc000cf08;
                 }
-                uVar8 = 0x8c;
+                uVar8 = 0x91;
                 goto LAB_3;
               }
               if (((uint)local_50 >> 0x13 & 1) != 0) {
                 uVar3 = 0xc000cf0b;
                 if (((uint)local_50 & 0x180000) != 0x180000) {
                   uVar3 = 0xc000cf15;
                 }
                 HsmDbgBreakOnStatus(uVar3);
                 if ((undefined **)WPP_GLOBAL_Control == &WPP_GLOBAL_Control) {
                   return uVar3;
                 }
                 if ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) == 0) {
                   return uVar3;
                 }
                 if ((byte)WPP_GLOBAL_Control[0x29] < 2) {
                   return uVar3;
                 }
-                uVar8 = 0x8d;
+                uVar8 = 0x92;
                 goto LAB_3;
               }
               if (((int)local_b0[2] == 0) || ((uVar3 >> 10 & 1) != 0)) {
                 uVar3 = 0xc000cf20;
                 HsmDbgBreakOnStatus(-0x3fff30e0);
                 if ((undefined **)WPP_GLOBAL_Control == &WPP_GLOBAL_Control) {
                   return 0xc000cf20;
                 }
                 if ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) == 0) {
                   return 0xc000cf20;
                 }
                 if ((byte)WPP_GLOBAL_Control[0x29] < 2) {
                   return 0xc000cf20;
                 }
-                uVar8 = 0x8e;
+                uVar8 = 0x93;
                 goto LAB_3;
               }
               goto LAB_6;
             }
           }
           else if ((uVar4 & 0xf0) < 0x40) goto LAB_7;
           HsmDbgBreakOnStatus(-0x3fff30f5);
           if ((undefined **)WPP_GLOBAL_Control == &WPP_GLOBAL_Control) {
             return 0xc000cf0b;
           }
           if ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) == 0) {
             return 0xc000cf0b;
           }
           if ((byte)WPP_GLOBAL_Control[0x29] < 2) {
             return 0xc000cf0b;
           }
-          uVar8 = 0x8a;
+          uVar8 = 0x8f;
 LAB_8:
           uVar3 = 0xc000cf0b;
           goto LAB_3;
         }
         if (cVar2 != '\0') {
 LAB_7:
           if ((((uVar3 & 0x10) == 0) && ((uVar3 & 0x20) != 0)) && (0x3f < (uVar4 & 0xf0))) {
             HsmDbgBreakOnStatus(-0x3fff30f5);
             if ((undefined **)WPP_GLOBAL_Control == &WPP_GLOBAL_Control) {
               return 0xc000cf0b;
             }
             if ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) == 0) {
               return 0xc000cf0b;
             }
             if ((byte)WPP_GLOBAL_Control[0x29] < 2) {
               return 0xc000cf0b;
             }
-            uVar8 = 0x8b;
+            uVar8 = 0x90;
             goto LAB_8;
           }
           if ((uVar3 & 2) != 0) goto LAB_5;
         }
 LAB_6:
+        uVar6 = Feature_401191227__private_IsEnabledDeviceUsageNoInline();
+        if (((int)uVar6 != 0) && (cVar2 == '\0')) {
+          local_b4 = local_b4 & 0xffffff00;
+          uVar3 = QueryIfEAExists(*(undefined8 *)(param_2 + 0x20),local_a8,uVar11,uVar5,
+                                  (undefined1 *)&local_b4);
+          HsmDbgBreakOnStatus(uVar3);
+          if ((char)local_b4 != '\0') {
+            uVar3 = 0xc000ce05;
+            HsmDbgBreakOnStatus(-0x3fff31fb);
+            if ((undefined **)WPP_GLOBAL_Control == &WPP_GLOBAL_Control) {
+              return 0xc000ce05;
+            }
+            if ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) == 0) {
+              return 0xc000ce05;
+            }
+            if ((byte)WPP_GLOBAL_Control[0x29] < 2) {
+              return 0xc000ce05;
+            }
+            uVar8 = 0x94;
+            goto LAB_3;
+          }
+          if ((int)uVar3 < 0) {
+            if ((undefined **)WPP_GLOBAL_Control == &WPP_GLOBAL_Control) {
+              return uVar3;
+            }
+            if ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) == 0) {
+              return uVar3;
+            }
+            if ((byte)WPP_GLOBAL_Control[0x29] < 2) {
+              return uVar3;
+            }
+            uVar8 = 0x95;
+            goto LAB_3;
+          }
+        }
+        ppuVar9 = local_a8;
         uVar3 = HsmpPrepareForMgmtOperation(param_2,local_a8,8,'\0');
         HsmDbgBreakOnStatus(uVar3);
         if ((int)uVar3 < 0) {
           if ((undefined **)WPP_GLOBAL_Control == &WPP_GLOBAL_Control) {
             return uVar3;
           }
           if ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) == 0) {
             return uVar3;
           }
           if ((byte)WPP_GLOBAL_Control[0x29] < 2) {
             return uVar3;
           }
-          uVar8 = 0x8f;
+          uVar8 = 0x96;
         }
         else {
           uVar4 = *(uint *)(local_b0 + 1);
           if (cVar2 == '\0') {
             uVar3 = (uint)local_50 >> 9 & 1;
             if ((uVar4 & 2) == 0) {
 LAB_9:
               uVar3 = uVar3 | 6;
             }
             else if ((local_50 & 0x800) != 0) {
               local_b4 = local_b4 & 0xffff0000;
               uVar4 = FltFsControlFile(*(undefined8 *)(param_2 + 0x20),ppuVar9,0x9c040,&local_b4);
               HsmDbgBreakOnStatus(uVar4);
               if ((int)uVar4 < 0) {
                 if ((undefined **)WPP_GLOBAL_Control == &WPP_GLOBAL_Control) {
                   return uVar4;
                 }
                 if ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) == 0) {
                   return uVar4;
                 }
                 if ((byte)WPP_GLOBAL_Control[0x29] < 2) {
                   return uVar4;
                 }
-                WPP_SF_iid(*(undefined8 *)(WPP_GLOBAL_Control + 0x18),0x90,
-                           &WPP_c2daf0d2b2fa378027484fb0b1678afa_Traceguids,param_2);
+                WPP_SF_iid(*(undefined8 *)(WPP_GLOBAL_Control + 0x18),0x97,
+                           &WPP_464b95084c7d3507e9a372f81d47abe9_Traceguids,param_2);
                 return uVar4;
               }
               uVar3 = uVar3 | 0x200;
               uVar4 = *(uint *)(local_b0 + 1);
             }
           }
           else {
             uVar3 = (uVar4 & 0x10 | 8) * 2;
             if ((uVar4 & 0x20) == 0) goto LAB_9;
           }
           if ((uVar4 & 1) == 0) {
             uVar3 = uVar3 | 8;
           }
           else {
             uVar3 = uVar3 | 0x40;
           }
           if ((uVar4 >> 10 & 1) != 0) {
             uVar3 = uVar3 | 0x100;
           }
           uVar3 = HsmpRpCreate(param_2,(longlong)ppuVar9,lStack_90,uVar3,
                                (void *)((longlong)local_b0 + 0x14),(ushort)(int)local_b0[2],
                                (byte)(uVar4 >> 0x18) & 1);
           HsmDbgBreakOnStatus(uVar3);
-          lVar6 = 0;
+          lVar7 = 0;
           if (-1 < (int)uVar3) {
             if ((cVar2 == '\0') && ((*(uint *)(local_b0 + 1) & 2) != 0)) {
               local_80[0] = 0;
               local_80[1] = 0;
               uVar5 = HsmpSetupContexts(param_2,ppuVar9,0,(uint *)0x0);
               uVar3 = (uint)uVar5;
               HsmDbgBreakOnStatus(uVar3);
               if ((int)uVar3 < 0) {
                 if ((undefined **)WPP_GLOBAL_Control == &WPP_GLOBAL_Control) {
                   return uVar3;
                 }
                 if ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) == 0) {
                   return uVar3;
                 }
                 if ((byte)WPP_GLOBAL_Control[0x29] < 2) {
                   return uVar3;
                 }
-                uVar8 = 0x92;
+                uVar8 = 0x99;
                 goto LAB_2;
               }
-              lVar6 = HsmpGetStreamContext(param_8,*(longlong *)(param_2 + 0x20),ppuVar9);
-              uVar4 = HsmpAcquireSyncOpRundownProtection(lVar6,param_8);
+              lVar7 = HsmpGetStreamContext(param_8,*(longlong *)(param_2 + 0x20),ppuVar9);
+              uVar4 = HsmpAcquireSyncOpRundownProtection(lVar7,param_8);
               HsmDbgBreakOnStatus(uVar4);
               if ((int)uVar4 < 0) {
                 if ((((undefined **)WPP_GLOBAL_Control != &WPP_GLOBAL_Control) &&
                     ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) != 0)) &&
                    (1 < (byte)WPP_GLOBAL_Control[0x29])) {
-                  WPP_SF_iiqd(*(undefined8 *)(WPP_GLOBAL_Control + 0x18),0x93,
-                              &WPP_c2daf0d2b2fa378027484fb0b1678afa_Traceguids,param_8);
+                  WPP_SF_iiqd(*(undefined8 *)(WPP_GLOBAL_Control + 0x18),0x9a,
+                              &WPP_464b95084c7d3507e9a372f81d47abe9_Traceguids,param_8);
                 }
                 goto LAB_10;
               }
               bVar1 = true;
-              uVar4 = HsmpNotifyDataChange(lVar6);
+              uVar4 = HsmpNotifyDataChange(lVar7);
               HsmDbgBreakOnStatus(uVar4);
               if ((int)uVar4 < 0) {
                 if ((((undefined **)WPP_GLOBAL_Control != &WPP_GLOBAL_Control) &&
                     ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) != 0)) &&
                    (1 < (byte)WPP_GLOBAL_Control[0x29])) {
-                  WPP_SF_qqqid(*(undefined8 *)(WPP_GLOBAL_Control + 0x18),0x94,
-                               &WPP_c2daf0d2b2fa378027484fb0b1678afa_Traceguids,param_8);
+                  WPP_SF_qqqid(*(undefined8 *)(WPP_GLOBAL_Control + 0x18),0x9b,
+                               &WPP_464b95084c7d3507e9a372f81d47abe9_Traceguids,param_8);
                 }
               }
               else {
                 uVar4 = HsmpPrepareForMgmtOperation(param_2,ppuVar9,1,'\x01');
                 HsmDbgBreakOnStatus(uVar4);
                 if ((int)uVar4 < 0) {
                   if ((((undefined **)WPP_GLOBAL_Control != &WPP_GLOBAL_Control) &&
                       ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) != 0)) &&
                      (1 < (byte)WPP_GLOBAL_Control[0x29])) {
-                    uVar8 = 0x95;
+                    uVar8 = 0x9c;
 LAB_11:
                     WPP_SF_iiqd(*(undefined8 *)(WPP_GLOBAL_Control + 0x18),uVar8,
-                                &WPP_c2daf0d2b2fa378027484fb0b1678afa_Traceguids,param_8);
+                                &WPP_464b95084c7d3507e9a372f81d47abe9_Traceguids,param_8);
                   }
                 }
                 else {
                   local_80[1] = 0x7fffffffffffffff;
                   uVar4 = FltFsControlFile(*(undefined8 *)(param_2 + 0x20),ppuVar9,0x980c8,local_80)
                   ;
                   HsmDbgBreakOnStatus(uVar4);
                   if ((int)uVar4 < 0) {
                     if ((((undefined **)WPP_GLOBAL_Control != &WPP_GLOBAL_Control) &&
                         ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) != 0)) &&
                        (1 < (byte)WPP_GLOBAL_Control[0x29])) {
-                      uVar8 = 0x96;
+                      uVar8 = 0x9d;
                       goto LAB_11;
                     }
                   }
                   else {
                     uVar4 = HsmpPrepareForMgmtOperation(param_2,ppuVar9,8,'\x01');
                     HsmDbgBreakOnStatus(uVar4);
                     if (-1 < (int)uVar4) goto LAB_12;
                     if ((((undefined **)WPP_GLOBAL_Control != &WPP_GLOBAL_Control) &&
                         ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) != 0)) &&
                        (1 < (byte)WPP_GLOBAL_Control[0x29])) {
-                      uVar8 = 0x97;
+                      uVar8 = 0x9e;
                       goto LAB_11;
                     }
                   }
                 }
               }
             }
             else {
 LAB_12:
               if (param_11 == 0) {
 LAB_13:
                 uVar5 = HsmpSetupContexts(param_2,ppuVar9,0,(uint *)0x0);
                 uVar4 = (uint)uVar5;
                 HsmDbgBreakOnStatus(uVar4);
                 if ((int)uVar4 < 0) {
                   if ((((undefined **)WPP_GLOBAL_Control != &WPP_GLOBAL_Control) &&
                       ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) != 0)) &&
                      (1 < (byte)WPP_GLOBAL_Control[0x29])) {
-                    uVar8 = 0x99;
+                    uVar8 = 0xa0;
 LAB_14:
                     WPP_SF_iiqd(*(undefined8 *)(WPP_GLOBAL_Control + 0x18),uVar8,
-                                &WPP_c2daf0d2b2fa378027484fb0b1678afa_Traceguids,param_8);
+                                &WPP_464b95084c7d3507e9a372f81d47abe9_Traceguids,param_8);
                   }
                 }
                 else if ((((undefined **)WPP_GLOBAL_Control != &WPP_GLOBAL_Control) &&
                          ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) != 0)) &&
                         (3 < (byte)WPP_GLOBAL_Control[0x29])) {
-                  uVar8 = 0x9a;
+                  uVar8 = 0xa1;
                   goto LAB_14;
                 }
               }
               else {
                 uVar4 = HsmpQueryLastEffectiveUsn
                                   (*(undefined8 *)(param_2 + 0x20),(ulonglong)ppuVar9,local_b0);
                 HsmDbgBreakOnStatus(uVar4);
                 if (-1 < (int)uVar4) goto LAB_13;
                 if ((((undefined **)WPP_GLOBAL_Control != &WPP_GLOBAL_Control) &&
                     ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) != 0)) &&
                    (1 < (byte)WPP_GLOBAL_Control[0x29])) {
-                  uVar8 = 0x98;
+                  uVar8 = 0x9f;
                   goto LAB_14;
                 }
               }
               if (!bVar1) goto LAB_10;
             }
-            HsmpReleaseSyncOpRundownProtection(lVar6);
+            HsmpReleaseSyncOpRundownProtection(lVar7);
 LAB_10:
-            if (lVar6 == 0) {
+            if (lVar7 == 0) {
               return uVar4;
             }
-            FltReleaseContext(lVar6);
+            FltReleaseContext(lVar7);
             return uVar4;
           }
           if ((undefined **)WPP_GLOBAL_Control == &WPP_GLOBAL_Control) {
             return uVar3;
           }
           if ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) == 0) {
             return uVar3;
           }
           if ((byte)WPP_GLOBAL_Control[0x29] < 2) {
             return uVar3;
           }
-          uVar8 = 0x91;
+          uVar8 = 0x98;
         }
 LAB_2:
-        uVar7 = *(undefined8 *)(WPP_GLOBAL_Control + 0x18);
+        uVar11 = *(undefined8 *)(WPP_GLOBAL_Control + 0x18);
 LAB_1:
-        WPP_SF_iiqd(uVar7,uVar8,&WPP_c2daf0d2b2fa378027484fb0b1678afa_Traceguids,param_8);
+        WPP_SF_iiqd(uVar11,uVar8,&WPP_464b95084c7d3507e9a372f81d47abe9_Traceguids,param_8);
         return uVar3;
       }
       HsmDbgBreakOnStatus(-0x3fff30f5);
       if ((undefined **)WPP_GLOBAL_Control == &WPP_GLOBAL_Control) {
         return 0xc000cf0b;
       }
       if ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) == 0) {
         return 0xc000cf0b;
       }
       if ((byte)WPP_GLOBAL_Control[0x29] < 2) {
         return 0xc000cf0b;
       }
-      uVar8 = 0x82;
+      uVar8 = 0x87;
     }
   }
   else {
     HsmDbgBreakOnStatus(-0x3fff30f5);
     if ((undefined **)WPP_GLOBAL_Control == &WPP_GLOBAL_Control) {
       return 0xc000cf0b;
     }
     if ((*(uint *)(WPP_GLOBAL_Control + 0x2c) & 1) == 0) {
       return 0xc000cf0b;
     }
     if ((byte)WPP_GLOBAL_Control[0x29] < 2) {
       return 0xc000cf0b;
     }
-    uVar8 = 0x81;
+    uVar8 = 0x86;
   }
   uVar3 = 0xc000cf0b;
 LAB_3:
   WPP_SF_qqqid(*(undefined8 *)(WPP_GLOBAL_Control + 0x18),uVar8,
-               &WPP_c2daf0d2b2fa378027484fb0b1678afa_Traceguids,param_8);
+               &WPP_464b95084c7d3507e9a372f81d47abe9_Traceguids,param_8);
   return uVar3;
 }
 

```


# Modified (No Code Changes)


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

## wil_details_IsEnabledFallback

### Match Info



|Key|cl_2161.sys - cl_2605.sys|
| :---: | :---: |
|diff_type|refcount,calling|
|ratio|1.0|
|i_ratio|1.0|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|cl_2161.sys|cl_2605.sys|
| :---: | :---: | :---: |
|name|wil_details_IsEnabledFallback|wil_details_IsEnabledFallback|
|fullname|wil_details_IsEnabledFallback|wil_details_IsEnabledFallback|
|`refcount`|3|4|
|length|140|140|
|called|wil_details_FeatureReporting_ReportUsageToService<br>wil_details_FeatureStateCache_ReevaluateCachedFeatureEnabledState<br>wil_details_FeatureStateCache_TryEnableDeviceUsageFastPath|wil_details_FeatureReporting_ReportUsageToService<br>wil_details_FeatureStateCache_ReevaluateCachedFeatureEnabledState<br>wil_details_FeatureStateCache_TryEnableDeviceUsageFastPath|
|`calling`|Feature_2175866168__private_IsEnabledFallback<br>Feature_3260711228__private_IsEnabledFallback|Feature_2175866168__private_IsEnabledFallback<br>Feature_3260711228__private_IsEnabledFallback<br>Feature_401191227__private_IsEnabledFallback|
|paramcount|3|3|
|address|1c000c1cc|1c000c1cc|
|sig|uint __fastcall wil_details_IsEnabledFallback(ulonglong param_1, int param_2, undefined8 * param_3)|uint __fastcall wil_details_IsEnabledFallback(ulonglong param_1, int param_2, undefined8 * param_3)|
|sym_type|Function|Function|
|sym_source|IMPORTED|IMPORTED|
|external|False|False|

### wil_details_IsEnabledFallback Calling Diff


```diff
--- wil_details_IsEnabledFallback calling
+++ wil_details_IsEnabledFallback calling
@@ -2,0 +3 @@
+Feature_401191227__private_IsEnabledFallback
```


## NTOSKRNL.EXE::ExFreePoolWithTag

### Match Info



|Key|cl_2161.sys - cl_2605.sys|
| :---: | :---: |
|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|cl_2161.sys|cl_2605.sys|
| :---: | :---: | :---: |
|name|ExFreePoolWithTag|ExFreePoolWithTag|
|fullname|NTOSKRNL.EXE::ExFreePoolWithTag|NTOSKRNL.EXE::ExFreePoolWithTag|
|`refcount`|248|251|
|length|0|0|
|called|||
|`calling`|<details><summary>Expand for full list:<br>CldCaptureProcessInfo<br>CldHsmAddCrossContainerNotificationEvent<br>CldHsmCreateStreamHandleContext<br>CldHsmDeleteFileContext<br>CldHsmDeleteInstanceContext<br>CldPortInitialize<br>CldPortSendCancelHydrationMessage<br>CldPortSendCancelNotificationMessage<br>CldPortSendCancelPopulationMessage<br>CldPortSendHydrationMessage<br>CldPortSendPopulationMessage</summary>CldPortSendPostOpMessage<br>CldPortSendPreOpMessage<br>CldReleaseProcessInfo<br>CldStreamClose<br>CldStreamOpen<br>CldStreamPurgeCache<br>CldStreamQueryProgress<br>CldStreamSetSyncStatus<br>CldStreamTransferData<br>CldStreamUninitialize<br>CldSyncCleanup<br>CldSyncSendCancelPopulationRequest<br>CldSyncSendPopulationRequest<br>CldiPortNotifyDisconnect<br>CldiPortNotifyMessage<br>CldiPortProcessServiceCommands<br>CldiPortRootTableFree<br>CldiSyncCreateRootNoLock<br>CldiSyncEnsurePendingRanges<br>CldiSyncInitializeRootNoLock<br>CldiSyncRootTableFree<br>CldiSyncSetSyncStatusOnRoot<br>CldiSyncStreamTableFree<br>CldiSyncTransferPlaceholdersByObject<br>DestroyAggregateSession<br>DestroyEventEntry<br>HsmCreateOrOpenNamedEvent<br>HsmFltDeleteINSTANCE_CONTEXT<br>HsmFltDeleteSTREAMHANDLE_CONTEXT<br>HsmFltDeleteSTREAM_CONTEXT<br>HsmFltPostSetLinkInformation<br>HsmFltPostSetRenameInformation<br>HsmFltPreDIRECTORY_CONTROL<br>HsmFltPreSetRenameInformation<br>HsmFltProcessDehydrate<br>HsmFltProcessLockProperties<br>HsmFltProcessRetrieveProperties<br>HsmFltProcessRevert<br>HsmFltProcessSetPinState<br>HsmFltProcessStoreProperties<br>HsmFltUnload<br>HsmIBitmapNORMALCompleteCommit<br>HsmIBitmapNORMALPrepareCommit<br>HsmIBitmapNORMALRelease<br>HsmIBitmapNORMALUnpinBlock<br>HsmIBitmapVOLATILERelease<br>HsmOsBlockPlaceholderAccess<br>HsmOsStartWppTracing<br>HsmRecallRetrieveData<br>HsmiBitmapNORMALCloseOnDisk<br>HsmiBitmapNORMALFlushBitmapOnDisk<br>HsmiCbdTableFree<br>HsmiCldGetSyncProviderProcess<br>HsmiCldGetSyncRootFileIdByFileObject<br>HsmiCldGetSyncRootInfo<br>HsmiCldGetSyncRootInfoByFileObject<br>HsmiCldGetSyncRootInfoByPath<br>HsmiCldLoadSyncRootInfoByFileId<br>HsmiCldLoadSyncRootInfoByFileObject<br>HsmiCldOpenSyncRoot<br>HsmiCldPreOpCompletionCallback<br>HsmiCompleteBitmapCommit<br>HsmiCompressBuffer<br>HsmiCreateEnsureDirectoryFullyPopulated<br>HsmiDbgLoadProcessDWordFlag<br>HsmiDecompressBuffer<br>HsmiDehydrationCsqCOMPLETE_CANCELED_IO<br>HsmiFileCacheFreeStreamControlBlock<br>HsmiFltPreECPCREATE<br>HsmiFreePropertyBlob<br>HsmiFreePropertyLock<br>HsmiGrantLockRequest<br>HsmiInfoPopulatePlaceholderOnRename<br>HsmiInfoPrepareForPostRename<br>HsmiInfoPrepareForPostSetDispostionInformation<br>HsmiMungeQueryDirectory<br>HsmiOOBECompleteWnfCallback<br>HsmiOpDehydrateNotificationCallback<br>HsmiOpPrepareOperation<br>HsmiOpUpdatePlaceholderDirectory<br>HsmiOpUpdatePlaceholderFile<br>HsmiOsBuildAppPolicyKeyAcl<br>HsmiOsComputeAppIdentity<br>HsmiOsConstructLogFilesFolder<br>HsmiOsGetAppIdentity<br>HsmiOsGetProcessFlags<br>HsmiOsOpenAppPolicyKey<br>HsmiPrepareBitmapCommit<br>HsmiPropertyLockWait<br>HsmiQueryFullFilePath<br>HsmiRecallAllocateHydrationContext<br>HsmiRecallFreeHydrationContext<br>HsmiRecallFreePopulationContext<br>HsmiRecallInitiateHydration<br>HsmiRecallWriteFileNoLock<br>HsmiRpCompressBuffer<br>HsmiUnloadPropertyStream<br>HsmiValidateAndAttachAttributionEcpToStreamHandleContext<br>HsmpAccessCheck<br>HsmpBuildFullLinkPath<br>HsmpCaptureProcessInfo<br>HsmpCheckLegacyFilterAbsence<br>HsmpCldGetSyncPolicy<br>HsmpCldGetSyncPolicyByPath<br>HsmpCldGetSyncRootProviderInfo<br>HsmpCldGetSyncRootStandardInfo<br>HsmpCldNotifyPostOperation<br>HsmpCldNotifyPreOperation<br>HsmpCleanupAttributionInformation<br>HsmpCompletePendedDehydrationRequests<br>HsmpCreateProcessInfo<br>HsmpCtxCreateInstanceContext<br>HsmpCtxCreateStreamContext<br>HsmpCtxCreateStreamHandleContext<br>HsmpDbgBreakOnOpen<br>HsmpLoadPropertyStream<br>HsmpOpCreatePlaceholders<br>HsmpOpenFileById<br>HsmpOpenFileByIdEx<br>HsmpQueryLastEffectiveUsn<br>HsmpQueueDehydrationRequest<br>HsmpRecurseDirectory<br>HsmpRelativeStreamOpen<br>HsmpRelativeStreamOpenById<br>HsmpRpCommitNoLock<br>HsmpRpCreate<br>HsmpRpReadBuffer<br>HsmpRpiDecompressBuffer<br>HsmpSetupContexts<br>HsmpUninitializePropertyContext<br>InitializeTelemetryAssertsKMByDriverObject<br>SeSddlSecurityDescriptorFromSDDL<br>SepSddlAddAceToAcl<br>SepSddlDaclFromSDDLString<br>SepSddlGetAclForString<br>SepSddlSecurityDescriptorFromSDDLString<br>TlmInitializeCorrelationVector<br>TlmWriteAccessDeniedForAddSubDirectory<br>TlmWriteDisallowPurgeableKernelEA<br>TlmWriteFilterAttachEvent<br>TlmpWriteRequestorProcessName<br>UninitializeTelemetryAssertsKM</details>|<details><summary>Expand for full list:<br>CldCaptureProcessInfo<br>CldHsmAddCrossContainerNotificationEvent<br>CldHsmCreateStreamHandleContext<br>CldHsmDeleteFileContext<br>CldHsmDeleteInstanceContext<br>CldPortInitialize<br>CldPortSendCancelHydrationMessage<br>CldPortSendCancelNotificationMessage<br>CldPortSendCancelPopulationMessage<br>CldPortSendHydrationMessage<br>CldPortSendPopulationMessage</summary>CldPortSendPostOpMessage<br>CldPortSendPreOpMessage<br>CldReleaseProcessInfo<br>CldStreamClose<br>CldStreamOpen<br>CldStreamPurgeCache<br>CldStreamQueryProgress<br>CldStreamSetSyncStatus<br>CldStreamTransferData<br>CldStreamUninitialize<br>CldSyncCleanup<br>CldSyncSendCancelPopulationRequest<br>CldSyncSendPopulationRequest<br>CldiPortNotifyDisconnect<br>CldiPortNotifyMessage<br>CldiPortProcessServiceCommands<br>CldiPortRootTableFree<br>CldiSyncCreateRootNoLock<br>CldiSyncEnsurePendingRanges<br>CldiSyncInitializeRootNoLock<br>CldiSyncRootTableFree<br>CldiSyncSetSyncStatusOnRoot<br>CldiSyncStreamTableFree<br>CldiSyncTransferPlaceholdersByObject<br>DestroyAggregateSession<br>DestroyEventEntry<br>HsmCreateOrOpenNamedEvent<br>HsmFltDeleteINSTANCE_CONTEXT<br>HsmFltDeleteSTREAMHANDLE_CONTEXT<br>HsmFltDeleteSTREAM_CONTEXT<br>HsmFltPostSetLinkInformation<br>HsmFltPostSetRenameInformation<br>HsmFltPreDIRECTORY_CONTROL<br>HsmFltPreSetRenameInformation<br>HsmFltProcessDehydrate<br>HsmFltProcessLockProperties<br>HsmFltProcessRetrieveProperties<br>HsmFltProcessRevert<br>HsmFltProcessSetPinState<br>HsmFltProcessStoreProperties<br>HsmFltUnload<br>HsmIBitmapNORMALCompleteCommit<br>HsmIBitmapNORMALPrepareCommit<br>HsmIBitmapNORMALRelease<br>HsmIBitmapNORMALUnpinBlock<br>HsmIBitmapVOLATILERelease<br>HsmOsBlockPlaceholderAccess<br>HsmOsStartWppTracing<br>HsmRecallRetrieveData<br>HsmiBitmapNORMALCloseOnDisk<br>HsmiBitmapNORMALFlushBitmapOnDisk<br>HsmiCbdTableFree<br>HsmiCldGetSyncProviderProcess<br>HsmiCldGetSyncRootFileIdByFileObject<br>HsmiCldGetSyncRootInfo<br>HsmiCldGetSyncRootInfoByFileObject<br>HsmiCldGetSyncRootInfoByPath<br>HsmiCldLoadSyncRootInfoByFileId<br>HsmiCldLoadSyncRootInfoByFileObject<br>HsmiCldOpenSyncRoot<br>HsmiCldPreOpCompletionCallback<br>HsmiCompleteBitmapCommit<br>HsmiCompressBuffer<br>HsmiCreateEnsureDirectoryFullyPopulated<br>HsmiDbgLoadProcessDWordFlag<br>HsmiDecompressBuffer<br>HsmiDehydrationCsqCOMPLETE_CANCELED_IO<br>HsmiFileCacheFreeStreamControlBlock<br>HsmiFltPreECPCREATE<br>HsmiFreePropertyBlob<br>HsmiFreePropertyLock<br>HsmiGrantLockRequest<br>HsmiInfoPopulatePlaceholderOnRename<br>HsmiInfoPrepareForPostRename<br>HsmiInfoPrepareForPostSetDispostionInformation<br>HsmiMungeQueryDirectory<br>HsmiOOBECompleteWnfCallback<br>HsmiOpDehydrateNotificationCallback<br>HsmiOpPrepareOperation<br>HsmiOpUpdatePlaceholderDirectory<br>HsmiOpUpdatePlaceholderFile<br>HsmiOsBuildAppPolicyKeyAcl<br>HsmiOsComputeAppIdentity<br>HsmiOsConstructLogFilesFolder<br>HsmiOsGetAppIdentity<br>HsmiOsGetProcessFlags<br>HsmiOsOpenAppPolicyKey<br>HsmiPrepareBitmapCommit<br>HsmiPropertyLockWait<br>HsmiQueryFullFilePath<br>HsmiRecallAllocateHydrationContext<br>HsmiRecallFreeHydrationContext<br>HsmiRecallFreePopulationContext<br>HsmiRecallInitiateHydration<br>HsmiRecallWriteFileNoLock<br>HsmiRpCompressBuffer<br>HsmiUnloadPropertyStream<br>HsmiValidateAndAttachAttributionEcpToStreamHandleContext<br>HsmpAccessCheck<br>HsmpBuildFullLinkPath<br>HsmpCaptureProcessInfo<br>HsmpCheckLegacyFilterAbsence<br>HsmpCldGetSyncPolicy<br>HsmpCldGetSyncPolicyByPath<br>HsmpCldGetSyncRootProviderInfo<br>HsmpCldGetSyncRootStandardInfo<br>HsmpCldNotifyPostOperation<br>HsmpCldNotifyPreOperation<br>HsmpCleanupAttributionInformation<br>HsmpCompletePendedDehydrationRequests<br>HsmpCreateProcessInfo<br>HsmpCtxCreateInstanceContext<br>HsmpCtxCreateStreamContext<br>HsmpCtxCreateStreamHandleContext<br>HsmpDbgBreakOnOpen<br>HsmpLoadPropertyStream<br>HsmpOpCreatePlaceholders<br>HsmpOpenFileById<br>HsmpOpenFileByIdEx<br>HsmpQueryLastEffectiveUsn<br>HsmpQueueDehydrationRequest<br>HsmpRecurseDirectory<br>HsmpRelativeStreamOpen<br>HsmpRelativeStreamOpenById<br>HsmpRpCommitNoLock<br>HsmpRpCreate<br>HsmpRpReadBuffer<br>HsmpRpiDecompressBuffer<br>HsmpSetupContexts<br>HsmpUninitializePropertyContext<br>InitializeTelemetryAssertsKMByDriverObject<br>QueryIfEAExists<br>SeSddlSecurityDescriptorFromSDDL<br>SepSddlAddAceToAcl<br>SepSddlDaclFromSDDLString<br>SepSddlGetAclForString<br>SepSddlSecurityDescriptorFromSDDLString<br>TlmInitializeCorrelationVector<br>TlmWriteAccessDeniedForAddSubDirectory<br>TlmWriteDisallowPurgeableKernelEA<br>TlmWriteFilterAttachEvent<br>TlmpWriteRequestorProcessName<br>UninitializeTelemetryAssertsKM</details>|
|paramcount|0|0|
|`address`|EXTERNAL:000000cd|EXTERNAL:000000ce|
|sig|undefined ExFreePoolWithTag(void)|undefined ExFreePoolWithTag(void)|
|sym_type|Function|Function|
|sym_source|IMPORTED|IMPORTED|
|external|True|True|

### NTOSKRNL.EXE::ExFreePoolWithTag Calling Diff


```diff
--- NTOSKRNL.EXE::ExFreePoolWithTag calling
+++ NTOSKRNL.EXE::ExFreePoolWithTag calling
@@ -142,0 +143 @@
+QueryIfEAExists
```


## HsmDbgBreakOnStatus

### Match Info



|Key|cl_2161.sys - cl_2605.sys|
| :---: | :---: |
|diff_type|refcount,calling|
|ratio|1.0|
|i_ratio|0.95|
|m_ratio|1.0|
|b_ratio|1.0|
|match_types|SymbolsHash|

### Function Meta Diff



|Key|cl_2161.sys|cl_2605.sys|
| :---: | :---: | :---: |
|name|HsmDbgBreakOnStatus|HsmDbgBreakOnStatus|
|fullname|HsmDbgBreakOnStatus|HsmDbgBreakOnStatus|
|`refcount`|1450|1458|
|length|147|147|
|called|HsmpGetRegDword<br>NTOSKRNL.EXE::IoGetCurrentProcess|HsmpGetRegDword<br>NTOSKRNL.EXE::IoGetCurrentProcess|
|`calling`|<details><summary>Expand for full list:<br>CldCaptureProcessInfo<br>CldHsmAddCrossContainerNotificationEvent<br>CldHsmCreateFileContext<br>CldHsmCreateInstanceContext<br>CldHsmCreateStreamContext<br>CldHsmCreateStreamHandleContext<br>CldHsmGetSyncPolicy<br>CldHsmGetSyncPolicyByPath<br>CldHsmGetSyncProviderProcessByPath<br>CldHsmGetSyncRootFileIdByPath<br>CldHsmGetSyncRootInfoByPath</summary>CldHsmGetSyncStatus<br>CldHsmHydratePlaceholder<br>CldHsmInitialize<br>CldHsmNotifyPreOperation<br>CldHsmPopulatePlaceholders<br>CldHsmTerminateProgressiveHydration<br>CldLookupSyncRoot<br>CldPortInitialize<br>CldPortSendCancelHydrationMessage<br>CldPortSendCancelNotificationMessage<br>CldPortSendCancelPopulationMessage<br>CldPortSendHydrationMessage<br>CldPortSendPopulationMessage<br>CldPortSendPostOpMessage<br>CldPortSendPreOpMessage<br>CldPortSendUpstreamMessage<br>CldStreamAckData<br>CldStreamGetPlaceholderRangeInfo<br>CldStreamInitialize<br>CldStreamOpen<br>CldStreamQueryProgress<br>CldStreamRestartHydration<br>CldStreamRetrieveData<br>CldStreamSetSyncStatus<br>CldStreamTransferData<br>CldStreamTransferPlaceholders<br>CldSyncAckDehydrate<br>CldSyncAckDelete<br>CldSyncAckRename<br>CldSyncConnectRoot<br>CldSyncGetPlaceholderRangeInfo<br>CldSyncGetPolicy<br>CldSyncGetSyncStatusOnRoot<br>CldSyncLookupRootByName<br>CldSyncRegisterStream<br>CldSyncReportProgress<br>CldSyncReportSyncStatusOnRoot<br>CldSyncRestartHydration<br>CldSyncRetrieveData<br>CldSyncSendCancelHydrationRequest<br>CldSyncSendCancelNotificationRequest<br>CldSyncSendCancelPopulationRequest<br>CldSyncSendHydrationRequest<br>CldSyncSendPopulationRequest<br>CldSyncSendPostNotification<br>CldSyncSendPreNotification<br>CldSyncSetSyncStatusOnStream<br>CldSyncTransferPlaceholders<br>CldiPortAccessCheck<br>CldiPortAddCrossVmProgressEvent<br>CldiPortCheckAllSystemsGo<br>CldiPortNotifyConnect<br>CldiPortNotifyMessage<br>CldiPortProcessAbortHydration<br>CldiPortProcessAckData<br>CldiPortProcessAckNotification<br>CldiPortProcessFilterControl<br>CldiPortProcessGetRangeInfo<br>CldiPortProcessGlobal<br>CldiPortProcessQueryProgress<br>CldiPortProcessReportProgress<br>CldiPortProcessRestartHydration<br>CldiPortProcessRetrieveData<br>CldiPortProcessServiceCommands<br>CldiPortProcessTransfer<br>CldiPortProcessTransferData<br>CldiPortProcessTransferPlaceholders<br>CldiPortSetSyncStatus<br>CldiStreamAckNotification<br>CldiStreamBuildProviderRequest<br>CldiStreamCompleteRequest<br>CldiStreamInsertIntoCancelSafeQueue<br>CldiStreamProcessPendingHydrationRequests<br>CldiStreamRestartCountdownTimer<br>CldiStreamServiceHydrationRequest<br>CldiStreamStopCountdownTimer<br>CldiSyncCreateRootNoLock<br>CldiSyncEnsurePendingRanges<br>CldiSyncInitializeRootNoLock<br>CldiSyncInsertPendingRange<br>CldiSyncReferenceRoot<br>CldiSyncSetSyncStatusOnRoot<br>CldiSyncSplitPendingRange<br>CldiSyncTransferOrAckData<br>CldiSyncTransferOrAckDataByObject<br>CldiSyncTransferPlaceholdersByObject<br>HsmCldDeleteSyncRootInfo<br>HsmCldPersistSyncRootInfo<br>HsmCreateOrOpenNamedEvent<br>HsmDriverEntry<br>HsmExpandKernelStackAndCallout<br>HsmFileCacheCreateFileObject<br>HsmFileCacheInitialize<br>HsmFileCacheMapData<br>HsmFltInstanceQueryTeardown<br>HsmFltPostLOCK_CONTROL<br>HsmFltPostSetRenameInformation<br>HsmFltPreACQUIRE_FOR_SECTION_SYNCHRONIZATION<br>HsmFltPreCLEANUP<br>HsmFltPreDIRECTORY_CONTROL<br>HsmFltPreFILE_SYSTEM_CONTROL<br>HsmFltPreLOCK_CONTROL<br>HsmFltPreQUERY_ALLOCATED_RANGES<br>HsmFltPreREAD<br>HsmFltPreSET_EA<br>HsmFltPreSET_INFORMATION<br>HsmFltPreSET_PURGE_FAILURE_MODE<br>HsmFltPreSET_REPARSE_POINT<br>HsmFltPreSET_REPARSE_POINT_EX<br>HsmFltPreSET_ZERO_DATA<br>HsmFltPreSetBasicInformation<br>HsmFltPreSetDispositionInformation<br>HsmFltPreSetLinkInformation<br>HsmFltPreSetRenameInformation<br>HsmFltPreWRITE<br>HsmFltProcessClearInSync<br>HsmFltProcessConvertPlaceholder<br>HsmFltProcessCreatePlaceholders<br>HsmFltProcessDehydrate<br>HsmFltProcessGetCorrelationVector<br>HsmFltProcessGetLastSyncStatus<br>HsmFltProcessHSMControl<br>HsmFltProcessHydrate<br>HsmFltProcessLockProperties<br>HsmFltProcessQueryPlaceholder<br>HsmFltProcessQueryStreamKey<br>HsmFltProcessRetrieveProperties<br>HsmFltProcessRevert<br>HsmFltProcessSetCorrelationVector<br>HsmFltProcessSetInSync<br>HsmFltProcessSetPinState<br>HsmFltProcessStoreProperties<br>HsmFltProcessUpdatePlaceholder<br>HsmIBitmapNORMALCreate<br>HsmIBitmapNORMALMarkRangeEx<br>HsmIBitmapNORMALMayContainDirtyRange<br>HsmIBitmapNORMALOpen<br>HsmIBitmapNORMALPrepareCommit<br>HsmIBitmapNORMALQueryRangeEx<br>HsmIBitmapVOLATILEMarkRangeEx<br>HsmPreLockControlSynchronous<br>HsmProcessGetPlaceholderRangeInfo<br>HsmRecallAckData<br>HsmRecallRetrieveData<br>HsmRecallTransferData<br>HsmRecallTransferPlaceholders<br>HsmRecallUpdatePlaceholderFile<br>HsmiBitmapCheckVersion<br>HsmiBitmapNORMALDeleteOnDisk<br>HsmiBitmapNORMALEnsureOpened<br>HsmiBitmapNORMALFlushBitmapOnDisk<br>HsmiBitmapNORMALLoadFromDisk<br>HsmiBitmapNORMALMapBlock<br>HsmiBitmapNORMALMarkBitmapOnDisk<br>HsmiBitmapNORMALOpenOnDisk<br>HsmiBitmapNORMALPrepareBlockForWrite<br>HsmiBitmapNORMALPrepareMcbsForCommit<br>HsmiBitmapNORMALVerifyBitmapPages<br>HsmiBitmapNormalDeleteStream<br>HsmiBitmapNormalOpenStream<br>HsmiCldGetSyncProviderProcess<br>HsmiCldGetSyncRootFileIdByFileObject<br>HsmiCldGetSyncRootFileIdByPath<br>HsmiCldGetSyncRootInfo<br>HsmiCldGetSyncRootInfoByFileObject<br>HsmiCldGetSyncRootInfoByPath<br>HsmiCldLoadSyncRootInfoByFileId<br>HsmiCldLoadSyncRootInfoByFileObject<br>HsmiCldOpenSyncRoot<br>HsmiCompleteLockCallbackDataRoutine<br>HsmiCompressBuffer<br>HsmiCreateAllocateECPTags<br>HsmiCreateEnsureDirectoryFullyPopulated<br>HsmiCtxCreateFileContext<br>HsmiCtxGetOrCreateFileContext<br>HsmiDecompressBuffer<br>HsmiExpandBitmapNoLock<br>HsmiFileCacheAllocateStreamControlBlock<br>HsmiFileCacheIrpClose<br>HsmiFileCacheIrpQueryInformation<br>HsmiFileCacheIrpRead<br>HsmiFileCacheIrpWrite<br>HsmiFileCacheValidateFileObject<br>HsmiFileCacheWriteCompletion<br>HsmiFltPostECPCREATE<br>HsmiFltPreECPCREATE<br>HsmiGrantLockRequest<br>HsmiInfoHydratePlaceholderOnRename<br>HsmiInfoPopulatePlaceholderOnRename<br>HsmiInfoPrepareForPostRename<br>HsmiInfoPrepareForPostSetDispostionInformation<br>HsmiInfoRecallForRenameCompletion<br>HsmiInfoUpdatePlaceholderStatesOnRenamePre<br>HsmiIsFileAttributeChangeRequired<br>HsmiMarkFileRangeNoLock<br>HsmiMungeQueryDirectory<br>HsmiOOBECompleteWnfCallback<br>HsmiOpDehydrateNotificationCallback<br>HsmiOpInheritPinStatePre<br>HsmiOpPrepareOperation<br>HsmiOpRevertCompletion<br>HsmiOpSetPinStateInternal<br>HsmiOpUpdateInSyncState<br>HsmiOpUpdatePlaceholderDirectory<br>HsmiOpUpdatePlaceholderFile<br>HsmiOpenFile<br>HsmiPrepareBitmapCommit<br>HsmiProcessPropertyLockRequestList<br>HsmiPropertyLockWait<br>HsmiQueryFileRangeNoLock<br>HsmiQueryFileRangesTotalNoLock<br>HsmiQueryFullFilePath<br>HsmiRecallAllocateHydrationContext<br>HsmiRecallAllocatePopulationContext<br>HsmiRecallInitiateHydration<br>HsmiRecallPostProcessUserHydrationRequest<br>HsmiRecallWriteFileNoLock<br>HsmiRpInitializeTable<br>HsmiUpdateFileAttributes<br>HsmiValidateAndAttachAttributionEcpToStreamHandleContext<br>HsmpAccessCheck<br>HsmpAccessCheckByFileId<br>HsmpAcquireFileNameLock<br>HsmpAcquireSyncOpRundownProtection<br>HsmpAcquireUserRequestRundownProtection<br>HsmpBitmapCreateSnapshot<br>HsmpBitmapGetRangeState<br>HsmpBitmapIsReparseBufferSupported<br>HsmpBitmapQueryRange<br>HsmpBuildFullLinkPath<br>HsmpCheckLegacyFilterAbsence<br>HsmpCldCheckSyncProviderAccess<br>HsmpCldGetSyncPolicy<br>HsmpCldGetSyncPolicyByPath<br>HsmpCldGetSyncRootBasicInfo<br>HsmpCldGetSyncRootFileIdEx<br>HsmpCldGetSyncRootProviderInfo<br>HsmpCldGetSyncRootStandardInfo<br>HsmpCldIsHydrationDisallowed<br>HsmpCldNotifyPostOperation<br>HsmpCldNotifyPreOperation<br>HsmpCtxCreateInstanceContext<br>HsmpCtxCreateStreamContext<br>HsmpCtxCreateStreamHandleContext<br>HsmpCtxGetOrCreateFileContext<br>HsmpDeleteAlternateStream<br>HsmpDeleteAlternateStreamById<br>HsmpDeletePropertyStream<br>HsmpFileCacheFlush<br>HsmpFileCachePreparePinWrite<br>HsmpFileCacheSetFileSize<br>HsmpFillOutAttributionInformation<br>HsmpGetAttributionInformation<br>HsmpLoadPropertyStream<br>HsmpMarkHandleUsnSourceInfo<br>HsmpNotifyDataChange<br>HsmpOpCreatePlaceholders<br>HsmpOpenFileById<br>HsmpOpenFileByIdEx<br>HsmpOpenFileByPath<br>HsmpPrepareForMgmtOperation<br>HsmpProcessQueryRangeStateHelper<br>HsmpQueryLastEffectiveUsn<br>HsmpQueryModifiedRangeNoLock<br>HsmpQueryValidatedNonModifiedRangeNoLock<br>HsmpQueryValidatedNonModifiedRangesTotalNoLock<br>HsmpQueueDehydrationRequest<br>HsmpRecallInitiateHydrationEx<br>HsmpRecallInitiatePopulationEx<br>HsmpRecurseDirectory<br>HsmpRelativeStreamOpen<br>HsmpRelativeStreamOpenById<br>HsmpRpBuildBuffer<br>HsmpRpCommitNoLock<br>HsmpRpCreate<br>HsmpRpReadBuffer<br>HsmpRpRemove<br>HsmpRpValidateBuffer<br>HsmpRpiDecompressBuffer<br>HsmpSetCompressionNoLock<br>HsmpSetFileDisposition<br>HsmpSetFileVDL<br>HsmpSetupContexts<br>HsmpToggleFileAttributes<br>HsmpToggleFileAttributesNoNotify<br>HsmpToggleFileAttributesNotify<br>HsmpToggleFileSparseAttribute<br>HsmpUpdateLastAccessTime<br>HsmpValidateAttributionEcp<br>HsmpValidateStreamContextNoLock<br>TlmInitializeCorrelationVector<br>TlmWriteFilterAttachEvent</details>|<details><summary>Expand for full list:<br>CldCaptureProcessInfo<br>CldHsmAddCrossContainerNotificationEvent<br>CldHsmCreateFileContext<br>CldHsmCreateInstanceContext<br>CldHsmCreateStreamContext<br>CldHsmCreateStreamHandleContext<br>CldHsmGetSyncPolicy<br>CldHsmGetSyncPolicyByPath<br>CldHsmGetSyncProviderProcessByPath<br>CldHsmGetSyncRootFileIdByPath<br>CldHsmGetSyncRootInfoByPath</summary>CldHsmGetSyncStatus<br>CldHsmHydratePlaceholder<br>CldHsmInitialize<br>CldHsmNotifyPreOperation<br>CldHsmPopulatePlaceholders<br>CldHsmTerminateProgressiveHydration<br>CldLookupSyncRoot<br>CldPortInitialize<br>CldPortSendCancelHydrationMessage<br>CldPortSendCancelNotificationMessage<br>CldPortSendCancelPopulationMessage<br>CldPortSendHydrationMessage<br>CldPortSendPopulationMessage<br>CldPortSendPostOpMessage<br>CldPortSendPreOpMessage<br>CldPortSendUpstreamMessage<br>CldStreamAckData<br>CldStreamGetPlaceholderRangeInfo<br>CldStreamInitialize<br>CldStreamOpen<br>CldStreamQueryProgress<br>CldStreamRestartHydration<br>CldStreamRetrieveData<br>CldStreamSetSyncStatus<br>CldStreamTransferData<br>CldStreamTransferPlaceholders<br>CldSyncAckDehydrate<br>CldSyncAckDelete<br>CldSyncAckRename<br>CldSyncConnectRoot<br>CldSyncGetPlaceholderRangeInfo<br>CldSyncGetPolicy<br>CldSyncGetSyncStatusOnRoot<br>CldSyncLookupRootByName<br>CldSyncRegisterStream<br>CldSyncReportProgress<br>CldSyncReportSyncStatusOnRoot<br>CldSyncRestartHydration<br>CldSyncRetrieveData<br>CldSyncSendCancelHydrationRequest<br>CldSyncSendCancelNotificationRequest<br>CldSyncSendCancelPopulationRequest<br>CldSyncSendHydrationRequest<br>CldSyncSendPopulationRequest<br>CldSyncSendPostNotification<br>CldSyncSendPreNotification<br>CldSyncSetSyncStatusOnStream<br>CldSyncTransferPlaceholders<br>CldiPortAccessCheck<br>CldiPortAddCrossVmProgressEvent<br>CldiPortCheckAllSystemsGo<br>CldiPortNotifyConnect<br>CldiPortNotifyMessage<br>CldiPortProcessAbortHydration<br>CldiPortProcessAckData<br>CldiPortProcessAckNotification<br>CldiPortProcessFilterControl<br>CldiPortProcessGetRangeInfo<br>CldiPortProcessGlobal<br>CldiPortProcessQueryProgress<br>CldiPortProcessReportProgress<br>CldiPortProcessRestartHydration<br>CldiPortProcessRetrieveData<br>CldiPortProcessServiceCommands<br>CldiPortProcessTransfer<br>CldiPortProcessTransferData<br>CldiPortProcessTransferPlaceholders<br>CldiPortSetSyncStatus<br>CldiStreamAckNotification<br>CldiStreamBuildProviderRequest<br>CldiStreamCompleteRequest<br>CldiStreamInsertIntoCancelSafeQueue<br>CldiStreamProcessPendingHydrationRequests<br>CldiStreamRestartCountdownTimer<br>CldiStreamServiceHydrationRequest<br>CldiStreamStopCountdownTimer<br>CldiSyncCreateRootNoLock<br>CldiSyncEnsurePendingRanges<br>CldiSyncInitializeRootNoLock<br>CldiSyncInsertPendingRange<br>CldiSyncReferenceRoot<br>CldiSyncSetSyncStatusOnRoot<br>CldiSyncSplitPendingRange<br>CldiSyncTransferOrAckData<br>CldiSyncTransferOrAckDataByObject<br>CldiSyncTransferPlaceholdersByObject<br>HsmCldDeleteSyncRootInfo<br>HsmCldPersistSyncRootInfo<br>HsmCreateOrOpenNamedEvent<br>HsmDriverEntry<br>HsmExpandKernelStackAndCallout<br>HsmFileCacheCreateFileObject<br>HsmFileCacheInitialize<br>HsmFileCacheMapData<br>HsmFltInstanceQueryTeardown<br>HsmFltPostLOCK_CONTROL<br>HsmFltPostSetRenameInformation<br>HsmFltPreACQUIRE_FOR_SECTION_SYNCHRONIZATION<br>HsmFltPreCLEANUP<br>HsmFltPreDIRECTORY_CONTROL<br>HsmFltPreFILE_SYSTEM_CONTROL<br>HsmFltPreLOCK_CONTROL<br>HsmFltPreQUERY_ALLOCATED_RANGES<br>HsmFltPreREAD<br>HsmFltPreSET_EA<br>HsmFltPreSET_INFORMATION<br>HsmFltPreSET_PURGE_FAILURE_MODE<br>HsmFltPreSET_REPARSE_POINT<br>HsmFltPreSET_REPARSE_POINT_EX<br>HsmFltPreSET_ZERO_DATA<br>HsmFltPreSetBasicInformation<br>HsmFltPreSetDispositionInformation<br>HsmFltPreSetLinkInformation<br>HsmFltPreSetRenameInformation<br>HsmFltPreWRITE<br>HsmFltProcessClearInSync<br>HsmFltProcessConvertPlaceholder<br>HsmFltProcessCreatePlaceholders<br>HsmFltProcessDehydrate<br>HsmFltProcessGetCorrelationVector<br>HsmFltProcessGetLastSyncStatus<br>HsmFltProcessHSMControl<br>HsmFltProcessHydrate<br>HsmFltProcessLockProperties<br>HsmFltProcessQueryPlaceholder<br>HsmFltProcessQueryStreamKey<br>HsmFltProcessRetrieveProperties<br>HsmFltProcessRevert<br>HsmFltProcessSetCorrelationVector<br>HsmFltProcessSetInSync<br>HsmFltProcessSetPinState<br>HsmFltProcessStoreProperties<br>HsmFltProcessUpdatePlaceholder<br>HsmIBitmapNORMALCreate<br>HsmIBitmapNORMALMarkRangeEx<br>HsmIBitmapNORMALMayContainDirtyRange<br>HsmIBitmapNORMALOpen<br>HsmIBitmapNORMALPrepareCommit<br>HsmIBitmapNORMALQueryRangeEx<br>HsmIBitmapVOLATILEMarkRangeEx<br>HsmPreLockControlSynchronous<br>HsmProcessGetPlaceholderRangeInfo<br>HsmRecallAckData<br>HsmRecallRetrieveData<br>HsmRecallTransferData<br>HsmRecallTransferPlaceholders<br>HsmRecallUpdatePlaceholderFile<br>HsmiBitmapCheckVersion<br>HsmiBitmapNORMALDeleteOnDisk<br>HsmiBitmapNORMALEnsureOpened<br>HsmiBitmapNORMALFlushBitmapOnDisk<br>HsmiBitmapNORMALLoadFromDisk<br>HsmiBitmapNORMALMapBlock<br>HsmiBitmapNORMALMarkBitmapOnDisk<br>HsmiBitmapNORMALOpenOnDisk<br>HsmiBitmapNORMALPrepareBlockForWrite<br>HsmiBitmapNORMALPrepareMcbsForCommit<br>HsmiBitmapNORMALVerifyBitmapPages<br>HsmiBitmapNormalDeleteStream<br>HsmiBitmapNormalOpenStream<br>HsmiCldGetSyncProviderProcess<br>HsmiCldGetSyncRootFileIdByFileObject<br>HsmiCldGetSyncRootFileIdByPath<br>HsmiCldGetSyncRootInfo<br>HsmiCldGetSyncRootInfoByFileObject<br>HsmiCldGetSyncRootInfoByPath<br>HsmiCldLoadSyncRootInfoByFileId<br>HsmiCldLoadSyncRootInfoByFileObject<br>HsmiCldOpenSyncRoot<br>HsmiCompleteLockCallbackDataRoutine<br>HsmiCompressBuffer<br>HsmiCreateAllocateECPTags<br>HsmiCreateEnsureDirectoryFullyPopulated<br>HsmiCtxCreateFileContext<br>HsmiCtxGetOrCreateFileContext<br>HsmiDecompressBuffer<br>HsmiExpandBitmapNoLock<br>HsmiFileCacheAllocateStreamControlBlock<br>HsmiFileCacheIrpClose<br>HsmiFileCacheIrpQueryInformation<br>HsmiFileCacheIrpRead<br>HsmiFileCacheIrpWrite<br>HsmiFileCacheValidateFileObject<br>HsmiFileCacheWriteCompletion<br>HsmiFltPostECPCREATE<br>HsmiFltPreECPCREATE<br>HsmiGrantLockRequest<br>HsmiInfoHydratePlaceholderOnRename<br>HsmiInfoPopulatePlaceholderOnRename<br>HsmiInfoPrepareForPostRename<br>HsmiInfoPrepareForPostSetDispostionInformation<br>HsmiInfoRecallForRenameCompletion<br>HsmiInfoUpdatePlaceholderStatesOnRenamePre<br>HsmiIsFileAttributeChangeRequired<br>HsmiMarkFileRangeNoLock<br>HsmiMungeQueryDirectory<br>HsmiOOBECompleteWnfCallback<br>HsmiOpDehydrateNotificationCallback<br>HsmiOpInheritPinStatePre<br>HsmiOpPrepareOperation<br>HsmiOpRevertCompletion<br>HsmiOpSetPinStateInternal<br>HsmiOpUpdateInSyncState<br>HsmiOpUpdatePlaceholderDirectory<br>HsmiOpUpdatePlaceholderFile<br>HsmiOpenFile<br>HsmiPrepareBitmapCommit<br>HsmiProcessPropertyLockRequestList<br>HsmiPropertyLockWait<br>HsmiQueryFileRangeNoLock<br>HsmiQueryFileRangesTotalNoLock<br>HsmiQueryFullFilePath<br>HsmiRecallAllocateHydrationContext<br>HsmiRecallAllocatePopulationContext<br>HsmiRecallInitiateHydration<br>HsmiRecallPostProcessUserHydrationRequest<br>HsmiRecallWriteFileNoLock<br>HsmiRpInitializeTable<br>HsmiUpdateFileAttributes<br>HsmiValidateAndAttachAttributionEcpToStreamHandleContext<br>HsmpAccessCheck<br>HsmpAccessCheckByFileId<br>HsmpAcquireFileNameLock<br>HsmpAcquireSyncOpRundownProtection<br>HsmpAcquireUserRequestRundownProtection<br>HsmpBitmapCreateSnapshot<br>HsmpBitmapGetRangeState<br>HsmpBitmapIsReparseBufferSupported<br>HsmpBitmapQueryRange<br>HsmpBuildFullLinkPath<br>HsmpCheckLegacyFilterAbsence<br>HsmpCldCheckSyncProviderAccess<br>HsmpCldGetSyncPolicy<br>HsmpCldGetSyncPolicyByPath<br>HsmpCldGetSyncRootBasicInfo<br>HsmpCldGetSyncRootFileIdEx<br>HsmpCldGetSyncRootProviderInfo<br>HsmpCldGetSyncRootStandardInfo<br>HsmpCldIsHydrationDisallowed<br>HsmpCldNotifyPostOperation<br>HsmpCldNotifyPreOperation<br>HsmpCtxCreateInstanceContext<br>HsmpCtxCreateStreamContext<br>HsmpCtxCreateStreamHandleContext<br>HsmpCtxGetOrCreateFileContext<br>HsmpDeleteAlternateStream<br>HsmpDeleteAlternateStreamById<br>HsmpDeletePropertyStream<br>HsmpFileCacheFlush<br>HsmpFileCachePreparePinWrite<br>HsmpFileCacheSetFileSize<br>HsmpFillOutAttributionInformation<br>HsmpGetAttributionInformation<br>HsmpLoadPropertyStream<br>HsmpMarkHandleUsnSourceInfo<br>HsmpNotifyDataChange<br>HsmpOpCreatePlaceholders<br>HsmpOpenFileById<br>HsmpOpenFileByIdEx<br>HsmpOpenFileByPath<br>HsmpPrepareForMgmtOperation<br>HsmpProcessQueryRangeStateHelper<br>HsmpQueryLastEffectiveUsn<br>HsmpQueryModifiedRangeNoLock<br>HsmpQueryValidatedNonModifiedRangeNoLock<br>HsmpQueryValidatedNonModifiedRangesTotalNoLock<br>HsmpQueueDehydrationRequest<br>HsmpRecallInitiateHydrationEx<br>HsmpRecallInitiatePopulationEx<br>HsmpRecurseDirectory<br>HsmpRelativeStreamOpen<br>HsmpRelativeStreamOpenById<br>HsmpRpBuildBuffer<br>HsmpRpCommitNoLock<br>HsmpRpCreate<br>HsmpRpReadBuffer<br>HsmpRpRemove<br>HsmpRpValidateBuffer<br>HsmpRpiDecompressBuffer<br>HsmpSetCompressionNoLock<br>HsmpSetFileDisposition<br>HsmpSetFileVDL<br>HsmpSetupContexts<br>HsmpToggleFileAttributes<br>HsmpToggleFileAttributesNoNotify<br>HsmpToggleFileAttributesNotify<br>HsmpToggleFileSparseAttribute<br>HsmpUpdateLastAccessTime<br>HsmpValidateAttributionEcp<br>HsmpValidateStreamContextNoLock<br>QueryIfEAExists<br>TlmInitializeCorrelationVector<br>TlmWriteFilterAttachEvent</details>|
|paramcount|1|1|
|address|1c0003da0|1c0003da0|
|sig|undefined __fastcall HsmDbgBreakOnStatus(int param_1)|undefined __fastcall HsmDbgBreakOnStatus(int param_1)|
|sym_type|Function|Function|
|sym_source|IMPORTED|IMPORTED|
|external|False|False|

### HsmDbgBreakOnStatus Calling Diff


```diff
--- HsmDbgBreakOnStatus calling
+++ HsmDbgBreakOnStatus calling
@@ -301,0 +302 @@
+QueryIfEAExists
```


## NTOSKRNL.EXE::ExAllocatePool2

### Match Info



|Key|cl_2161.sys - cl_2605.sys|
| :---: | :---: |
|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|cl_2161.sys|cl_2605.sys|
| :---: | :---: | :---: |
|name|ExAllocatePool2|ExAllocatePool2|
|fullname|NTOSKRNL.EXE::ExAllocatePool2|NTOSKRNL.EXE::ExAllocatePool2|
|`refcount`|139|142|
|length|0|0|
|called|||
|`calling`|<details><summary>Expand for full list:<br>CldCaptureProcessInfo<br>CldHsmAddCrossContainerNotificationEvent<br>CldHsmCreateInstanceContext<br>CldHsmCreateStreamHandleContext<br>CldPortInitialize<br>CldPortSendCancelHydrationMessage<br>CldPortSendCancelNotificationMessage<br>CldPortSendCancelPopulationMessage<br>CldPortSendHydrationMessage<br>CldPortSendPopulationMessage<br>CldPortSendPostOpMessage</summary>CldPortSendPreOpMessage<br>CldStreamInitialize<br>CldStreamOpen<br>CldStreamQueryProgress<br>CldStreamSetSyncStatus<br>CldStreamTransferData<br>CldSyncSendPopulationRequest<br>CldiPortNotifyConnect<br>CldiPortNotifyMessage<br>CldiPortRootTableAllocate<br>CldiSyncCreateRootNoLock<br>CldiSyncEnsurePendingRanges<br>CldiSyncInitializeRootNoLock<br>CldiSyncRootTableAllocate<br>CldiSyncSetSyncStatusOnRoot<br>CldiSyncStreamTableAllocate<br>HsmFltPostSetRenameInformation<br>HsmFltPreDIRECTORY_CONTROL<br>HsmFltPreSetLinkInformation<br>HsmFltPreSetRenameInformation<br>HsmFltProcessDehydrate<br>HsmFltProcessHSMControl<br>HsmFltProcessLockProperties<br>HsmFltProcessRetrieveProperties<br>HsmFltProcessSetPinState<br>HsmFltProcessStoreProperties<br>HsmIBitmapNORMALCreate<br>HsmIBitmapNORMALMarkRangeEx<br>HsmIBitmapNORMALOpen<br>HsmIBitmapNORMALPrepareCommit<br>HsmOsLocateProcessImageName<br>HsmRecallRetrieveData<br>HsmiBitmapNORMALFlushBitmapOnDisk<br>HsmiBitmapNORMALMapBlock<br>HsmiBitmapNORMALOpenOnDisk<br>HsmiBitmapNORMALPrepareMcbsForCommit<br>HsmiCbdTableAllocate<br>HsmiCldGetSyncRootFileIdByFileObject<br>HsmiCldLoadSyncRootInfoByFileObject<br>HsmiCldOpenSyncRoot<br>HsmiCompressBuffer<br>HsmiCreateEnsureDirectoryFullyPopulated<br>HsmiDbgLoadProcessDWordFlag<br>HsmiDecompressBuffer<br>HsmiFileCacheAllocateStreamControlBlock<br>HsmiFltPreECPCREATE<br>HsmiGrantLockRequest<br>HsmiInfoPrepareForPostRename<br>HsmiMungeQueryDirectory<br>HsmiOOBECompleteWnfCallback<br>HsmiOpDehydrateNotificationCallback<br>HsmiOpUpdatePlaceholderDirectory<br>HsmiOpUpdatePlaceholderFile<br>HsmiOsBuildAppPolicyKeyAcl<br>HsmiOsComputeAppIdentity<br>HsmiOsConstructLogFilesFolder<br>HsmiOsOpenAppPolicyKey<br>HsmiPrepareBitmapCommit<br>HsmiQueryFullFilePath<br>HsmiRecallAllocatePopulationContext<br>HsmiRecallWriteFileNoLock<br>HsmiRpCompressBuffer<br>HsmiValidateAndAttachAttributionEcpToStreamHandleContext<br>HsmpAccessCheck<br>HsmpBitmapCreateSnapshot<br>HsmpBuildFullLinkPath<br>HsmpCheckLegacyFilterAbsence<br>HsmpCldNotifyPreOperation<br>HsmpCreateProcessInfo<br>HsmpCtxCreateInstanceContext<br>HsmpCtxCreateStreamContext<br>HsmpDbgBreakOnOpen<br>HsmpFillOutAttributionInformation<br>HsmpGetAttributionInformation<br>HsmpLoadPropertyStream<br>HsmpOpCreatePlaceholders<br>HsmpOpenFileById<br>HsmpOpenFileByIdEx<br>HsmpQueryLastEffectiveUsn<br>HsmpQueueDehydrationRequest<br>HsmpRecallInitiateHydrationEx<br>HsmpRecallInitiatePopulationEx<br>HsmpRecurseDirectory<br>HsmpRelativeStreamOpen<br>HsmpRelativeStreamOpenById<br>HsmpRpCommitNoLock<br>HsmpRpCreate<br>HsmpRpReadBuffer<br>HsmpRpiDecompressBuffer<br>HsmpSetupContexts<br>InitializeTelemetryAssertsKMWorkerInternal<br>MicrosoftTelemetryAssertTriggeredWorker<br>TlmInitializeCorrelationVector<br>TlmWriteFilterAttachEvent</details>|<details><summary>Expand for full list:<br>CldCaptureProcessInfo<br>CldHsmAddCrossContainerNotificationEvent<br>CldHsmCreateInstanceContext<br>CldHsmCreateStreamHandleContext<br>CldPortInitialize<br>CldPortSendCancelHydrationMessage<br>CldPortSendCancelNotificationMessage<br>CldPortSendCancelPopulationMessage<br>CldPortSendHydrationMessage<br>CldPortSendPopulationMessage<br>CldPortSendPostOpMessage</summary>CldPortSendPreOpMessage<br>CldStreamInitialize<br>CldStreamOpen<br>CldStreamQueryProgress<br>CldStreamSetSyncStatus<br>CldStreamTransferData<br>CldSyncSendPopulationRequest<br>CldiPortNotifyConnect<br>CldiPortNotifyMessage<br>CldiPortRootTableAllocate<br>CldiSyncCreateRootNoLock<br>CldiSyncEnsurePendingRanges<br>CldiSyncInitializeRootNoLock<br>CldiSyncRootTableAllocate<br>CldiSyncSetSyncStatusOnRoot<br>CldiSyncStreamTableAllocate<br>HsmFltPostSetRenameInformation<br>HsmFltPreDIRECTORY_CONTROL<br>HsmFltPreSetLinkInformation<br>HsmFltPreSetRenameInformation<br>HsmFltProcessDehydrate<br>HsmFltProcessHSMControl<br>HsmFltProcessLockProperties<br>HsmFltProcessRetrieveProperties<br>HsmFltProcessSetPinState<br>HsmFltProcessStoreProperties<br>HsmIBitmapNORMALCreate<br>HsmIBitmapNORMALMarkRangeEx<br>HsmIBitmapNORMALOpen<br>HsmIBitmapNORMALPrepareCommit<br>HsmOsLocateProcessImageName<br>HsmRecallRetrieveData<br>HsmiBitmapNORMALFlushBitmapOnDisk<br>HsmiBitmapNORMALMapBlock<br>HsmiBitmapNORMALOpenOnDisk<br>HsmiBitmapNORMALPrepareMcbsForCommit<br>HsmiCbdTableAllocate<br>HsmiCldGetSyncRootFileIdByFileObject<br>HsmiCldLoadSyncRootInfoByFileObject<br>HsmiCldOpenSyncRoot<br>HsmiCompressBuffer<br>HsmiCreateEnsureDirectoryFullyPopulated<br>HsmiDbgLoadProcessDWordFlag<br>HsmiDecompressBuffer<br>HsmiFileCacheAllocateStreamControlBlock<br>HsmiFltPreECPCREATE<br>HsmiGrantLockRequest<br>HsmiInfoPrepareForPostRename<br>HsmiMungeQueryDirectory<br>HsmiOOBECompleteWnfCallback<br>HsmiOpDehydrateNotificationCallback<br>HsmiOpUpdatePlaceholderDirectory<br>HsmiOpUpdatePlaceholderFile<br>HsmiOsBuildAppPolicyKeyAcl<br>HsmiOsComputeAppIdentity<br>HsmiOsConstructLogFilesFolder<br>HsmiOsOpenAppPolicyKey<br>HsmiPrepareBitmapCommit<br>HsmiQueryFullFilePath<br>HsmiRecallAllocatePopulationContext<br>HsmiRecallWriteFileNoLock<br>HsmiRpCompressBuffer<br>HsmiValidateAndAttachAttributionEcpToStreamHandleContext<br>HsmpAccessCheck<br>HsmpBitmapCreateSnapshot<br>HsmpBuildFullLinkPath<br>HsmpCheckLegacyFilterAbsence<br>HsmpCldNotifyPreOperation<br>HsmpCreateProcessInfo<br>HsmpCtxCreateInstanceContext<br>HsmpCtxCreateStreamContext<br>HsmpDbgBreakOnOpen<br>HsmpFillOutAttributionInformation<br>HsmpGetAttributionInformation<br>HsmpLoadPropertyStream<br>HsmpOpCreatePlaceholders<br>HsmpOpenFileById<br>HsmpOpenFileByIdEx<br>HsmpQueryLastEffectiveUsn<br>HsmpQueueDehydrationRequest<br>HsmpRecallInitiateHydrationEx<br>HsmpRecallInitiatePopulationEx<br>HsmpRecurseDirectory<br>HsmpRelativeStreamOpen<br>HsmpRelativeStreamOpenById<br>HsmpRpCommitNoLock<br>HsmpRpCreate<br>HsmpRpReadBuffer<br>HsmpRpiDecompressBuffer<br>HsmpSetupContexts<br>InitializeTelemetryAssertsKMWorkerInternal<br>MicrosoftTelemetryAssertTriggeredWorker<br>QueryIfEAExists<br>TlmInitializeCorrelationVector<br>TlmWriteFilterAttachEvent</details>|
|paramcount|0|0|
|`address`|EXTERNAL:000000ce|EXTERNAL:000000cf|
|sig|undefined ExAllocatePool2(void)|undefined ExAllocatePool2(void)|
|sym_type|Function|Function|
|sym_source|IMPORTED|IMPORTED|
|external|True|True|

### NTOSKRNL.EXE::ExAllocatePool2 Calling Diff


```diff
--- NTOSKRNL.EXE::ExAllocatePool2 calling
+++ NTOSKRNL.EXE::ExAllocatePool2 calling
@@ -103,0 +104 @@
+QueryIfEAExists
```




<sub>Generated with `ghidriff` version: 1.0.0 on 2026-08-22T13:46:19</sub>