CmpExpandPathInfo
NTSTATUS __stdcall CmpExpandPathInfo(
PVOID Context,
UINT64 ProcessorState,
UINT64 PlatformState,
UINT64 CoordinatedSelectionCount,
UINT64 *CoordinatedSelection){
struct _KPRCB *CurrentPrcb;
__int64 v7;
NTSTATUS v8;
PSLIST_ENTRY v9;
__int64 v11;
__int64 v12;
__int64(__fastcall *v13)(__int64, __int64, __int64);
__int64 v14;
__int64 v15;
CurrentPrcb = KeGetCurrentPrcb();
v7 = *((_QWORD *)CurrentPrcb + 272);
++*(_DWORD *)(v7 + 20);
v8 = 0;
v9 = RtlpInterlockedPopEntrySList((PSLIST_HEADER)v7);
if( v9 )
goto LABEL_2;
++*(_DWORD *)(v7 + 24);
v11 = *((_QWORD *)CurrentPrcb + 273);
++*(_DWORD *)(v11 + 20);
v9 = RtlpInterlockedPopEntrySList((PSLIST_HEADER)v11);
if( !v9 )
{
v12 = *(unsigned int *)(v11 + 44);
v13 = *(__int64(__fastcall **)(__int64, __int64, __int64))(v11 + 48);
v14 = *(unsigned int *)(v11 + 40);
v15 = *(unsigned int *)(v11 + 36);
++*(_DWORD *)(v11 + 24);
v9 = (PSLIST_ENTRY)v13(v15, v12, v14);
if( !v9 )
return -1073741670;
}
LABEL_2:
memset((INT64)v9, 0i64);
*((_QWORD *)Context + 20) = v9;
return v8;
}Referenced by:
CmpComputeComponentHashes