PnpIsRangeWithin
__int64 __fastcall PnpIsRangeWithin(_CM_PARTIAL_RESOURCE_DESCRIPTOR *a1, _CM_PARTIAL_RESOURCE_DESCRIPTOR *a2){
unsigned int v2;
ULONGLONG HighPart;
unsigned __int64 LowPart;
unsigned __int64 v7;
unsigned __int64 v8;
ULONGLONG v10;
ULONGLONG v11;
unsigned __int64 Start;
unsigned __int64 v13;
v2 = 0;
Start = 0i64;
v13 = 0i64;
switch( a1->Type )
{
case 1u:
goto LABEL_13;
case 2u:
HighPart = (unsigned int)a1->u.Start.anonymous_0.HighPart;
LowPart = (unsigned int)a2->u.Start.anonymous_0.HighPart;
LABEL_4:
v7 = HighPart;
v8 = LowPart;
LABEL_5:
if( HighPart > LowPart || v7 < v8 )
return v2;
break;
case 3u:
goto LABEL_13;
case 4u:
HighPart = a1->u.Start.anonymous_0.LowPart;
LowPart = a2->u.Start.anonymous_0.LowPart;
goto LABEL_4;
case 6u:
v7 = a1->u.Start.anonymous_0.LowPart;
HighPart = (unsigned int)(v7 + a1->u.Start.anonymous_0.HighPart - 1);
v8 = a2->u.Start.anonymous_0.LowPart;
LowPart = (unsigned int)(v8 + a2->u.Start.anonymous_0.HighPart - 1);
goto LABEL_5;
case 7u:
LABEL_13:
v10 = RtlCmDecodeMemIoResource(a1, &Start);
v7 = Start;
HighPart = v10 + Start - 1;
v11 = RtlCmDecodeMemIoResource(a2, &v13);
v8 = v13;
LowPart = v13 + v11 - 1;
goto LABEL_5;
}
if( a1->ShareDisposition == a2->ShareDisposition && a1->Flags == a2->Flags )
return 1;
return v2;
}Referenced by:
PnpNeedToReleaseBootResources