PnpCompareInterruptInformation
char __fastcall PnpCompareInterruptInformation(__int64 a1, const VOID *a2, unsigned int a3){
_SIZE_T *v3;
_SIZE_T *v4;
_DWORD *v5;
__int64 v6;
__int64 v7;
char *v8;
int v9;
__int64 v10;
int *v11;
int *v12;
int v13;
__int64 v14;
ULONG v16;
int v17;
int v18[3];
_EVENT_DATA_DESCRIPTOR v19;
const char *v20;
int v21;
int v22;
__int64 *v23;
__int64 v24;
int *v25;
__int64 v26[4];
int v27[2];
v3 = *(_SIZE_T **)(a1 + 312);
v4 = (_SIZE_T *)a3;
v5 = (_DWORD *)*((_QWORD *)v3 + 11);
v6 = *((_QWORD *)v3 + 5);
if( v5 )
{
if( *v5 == a3 )
{
v3 = RtlCompareMemory(v5 + 1, a2, a3);
if( v3 != v4 && *(&stru_140C00F40 + 1952) > 5u )
{
LOBYTE(v3) = tlgKeywordOn((__int64)&stru_140C00F40 + 7808, 0x400000000000i64);
if( (_BYTE)v3 )
{
v14 = -1i64;
do
++v14;
while( aCompareFailed[v14] );
v20 = "Compare Failed";
v21 = v14 + 1;
v11 = &v17;
v12 = v18;
v18[0] = v13;
v17 = (int)v4;
v8 = (char *)word_14002417A;
LABEL_20:
v23 = (__int64 *)v12;
v26[1] = (__int64)v27;
v26[3] = *(_QWORD *)(v6 + 48);
v27[0] = *(unsigned __int16 *)(v6 + 40);
v16 = 7;
v27[1] = 0;
v26[2] = 2i64;
v26[0] = 4i64;
v25 = v11;
v24 = 4i64;
LABEL_21:
v22 = 0;
LOBYTE(v3) = tlgWriteTransfer_EtwWriteTransfer(
(__int64)&stru_140C00F40 + 7808,
(unsigned __int8 *)v8,
0i64,
0i64,
v16,
&v19);
}
}
}
else if( *(&stru_140C00F40 + 1952) > 5u )
{
LOBYTE(v3) = tlgKeywordOn((__int64)&stru_140C00F40 + 7808, 0x400000000000i64);
if( (_BYTE)v3 )
{
v10 = -1i64;
do
++v10;
while( aSizeMismatch[v10] );
v20 = "Size Mismatch";
v21 = v10 + 1;
v11 = v18;
v12 = &v17;
v17 = v9;
v18[0] = (int)v4;
v8 = byte_1400241D1;
goto LABEL_20;
}
}
}
else if( *(&stru_140C00F40 + 1952) > 5u )
{
LOBYTE(v3) = tlgKeywordOn((__int64)&stru_140C00F40 + 7808, 0x400000000000i64);
if( (_BYTE)v3 )
{
v7 = -1i64;
do
++v7;
while( aNotFound_0[v7] );
v20 = "Not Found";
v21 = v7 + 1;
v8 = byte_140024131;
v24 = 2i64;
v23 = v26;
v25 = *(int **)(v6 + 48);
v26[0] = *(unsigned __int16 *)(v6 + 40);
v16 = 5;
goto LABEL_21;
}
}
return(char)v3;
}Referenced by:
PnpGetDevicePropertyData