CmGetMatchingDevicePanelList
NTSTATUS __fastcall CmGetMatchingDevicePanelList(INT64 a1, INT64 a2, INT64 a3, INT64 a4, INT64 a5, INT64 a6, INT64 a7){
__int64(__fastcall *v11)(INT64, _QWORD, __int64, __int64, int, INT64 *);
int v12;
NTSTATUS MatchingDevicePanelListWorker;
NTSTATUS v14;
int v16;
int v17;
NTSTATUS v18;
UINT64 v19;
INT64 v20;
INT64 v21[12];
memset(v21, 0i64, 0x58u);
v11 = *(__int64(__fastcall **)(INT64, _QWORD, __int64, __int64, int, INT64 *))(a1 + 504);
v21[3] = a3;
LODWORD(v21[5]) = a5;
v21[2] = a2;
v21[4] = a4;
v21[6] = a6;
LODWORD(v21[7]) = a7;
if( v11 )
{
v12 = v11(a1, 0i64, 6i64, 4i64, 1, v21);
if( v12 == -1073741822 )
{
v11 = 0i64;
}
else
{
if( v12 == -1073741536 )
return v21[0];
if( v12 )
return -1073741595;
}
}
LODWORD(v20) = v21[7];
LODWORD(v19) = v21[5];
MatchingDevicePanelListWorker = CmGetMatchingDevicePanelListWorker(
a1,
v21[2],
v21[3],
(_WORD *)v21[4],
v19,
(UINT64 *)v21[6],
v20);
v14 = MatchingDevicePanelListWorker;
if( !v11 )
return v14;
LODWORD(v21[0]) = MatchingDevicePanelListWorker;
v16 = v11(a1, 0i64, 6i64, 4i64, 2, v21);
v17 = v16;
if( v16 == -1073741822 )
return v14;
if( v16 == -1073741536 )
return v21[0];
v18 = v14;
if( v17 )
return -1073741595;
return v18;
}Referenced by:
PnpDispatchDevicePanel