WmipFindMRByNames
MOFRESOURCE *__stdcall WmipFindMRByNames(WCHAR *ImagePath, WCHAR *MofResourceName){
INT64 v4;
char *v5;
char *v6;
int v7;
int v8;
char *v10;
char *v11;
int v12;
int v13;
KeWaitForSingleObject((UINT64)&ExBootDevicesRemovedEvent + 3072, 0, 0, 0, 0i64);
v4 = **(&ExBootDevicesRemovedEvent + 398);
if( **(&ExBootDevicesRemovedEvent + 398) == *(&ExBootDevicesRemovedEvent + 398) )
{
LABEL_7:
v4 = 0i64;
}
else
{
while( 1 )
{
v5 = *(char **)(v4 + 40);
v6 = (char *)((char *)ImagePath - v5);
do
{
v7 = *(unsigned __int16 *)&v6[(_QWORD)v5];
v8 = *(unsigned __int16 *)v5 - v7;
if( v8 )
break;
v5 += 2;
}
while( v7 );
if( !v8 )
{
v10 = *(char **)(v4 + 48);
v11 = (char *)((char *)MofResourceName - v10);
do
{
v12 = *(unsigned __int16 *)&v11[(_QWORD)v10];
v13 = *(unsigned __int16 *)v10 - v12;
if( v13 )
break;
v10 += 2;
}
while( v12 );
if( !v13 )
break;
}
v4 = *(_QWORD *)v4;
if( v4 == *(&ExBootDevicesRemovedEvent + 398) )
goto LABEL_7;
}
WmipReferenceEntry(v4);
}
KeReleaseMutex((_KMUTANT *)((char *)&ExBootDevicesRemovedEvent + 3072), 0);
return(MOFRESOURCE *)v4;
}Referenced by:
WmipAddMofResource