MiCompareUserSidHotPatchNodes
__int64 __fastcall MiCompareUserSidHotPatchNodes(_QWORD *a1, __int64 a2){
const VOID *v3;
const VOID *v4;
unsigned int v5;
unsigned int v6;
unsigned int v7;
if( *a1 < *(_QWORD *)(a2 + 32) )
return 0xFFFFFFFFi64;
if( *a1 <= *(_QWORD *)(a2 + 32) )
{
v3 = (const VOID *)a1[1];
v4 = (const VOID *)(a2 + 40);
v5 = RtlLengthSid((INT64)v3);
v6 = RtlLengthSid((INT64)v4);
if( v5 < v6 )
return 0xFFFFFFFFi64;
if( v5 <= v6 )
{
v7 = (unsigned int)RtlCompareMemory(v3, v4, v5);
if( v7 == v5 )
return 0i64;
if( *(_BYTE *)(v7 + a1[1]) < *((_BYTE *)v4 + v7) )
return 0xFFFFFFFFi64;
}
}
return 1i64;
}Referenced by:
MiFindUserSidHotPatchContext
MiLoadHotPatchForUserSid