DbgkpLkmdSnapObject
INT64 __fastcall DbgkpLkmdSnapObject(INT64 a1, _WORD *a2, INT64 a3){
_WORD *v3;
_WORD *v5;
int v6;
__int64 v7;
INT64 result;
int v9;
__int64 v10;
__int64 v11;
v3 = 0i64;
v5 = 0i64;
v6 = a3;
if( (_DWORD)a3 == 3 )
{
if( *a2 != 3 )
return 3221225477i64;
v7 = (unsigned __int16)a2[1];
}
else
{
if( (_DWORD)a3 != 4 )
{
if( (_DWORD)a3 == 5 )
{
v3 = a2;
if( *a2 == 5 )
{
v7 = 216i64;
goto LABEL_11;
}
}
return 3221225477i64;
}
v5 = a2;
if( *a2 != 4 )
return 3221225477i64;
v7 = 336i64;
}
LABEL_11:
result = (*(__int64(__fastcall **)(INT64, _WORD *, __int64, _QWORD, _QWORD, _QWORD))(a1 + 10304))(
a1 + 10240,
a2,
v7,
0i64,
0i64,
0i64);
if( (int)result < 0 )
return result;
v9 = v6 - 4;
if( v9 )
{
if( v9 != 1 )
return result;
v10 = (unsigned __int16)v3[45];
v11 = *((_QWORD *)v3 + 12);
}
else
{
v10 = (unsigned __int16)v5[29];
v11 = *((_QWORD *)v5 + 8);
}
return(*(__int64(__fastcall **)(INT64, __int64, __int64, _QWORD, _QWORD, _QWORD))(a1 + 10304))(
a1 + 10240,
v11,
v10,
0i64,
0i64,
0i64);
}Referenced by:
DbgkpLkmdSnapPendingIrps