PopPluginPrepareDevice
UINT8 __stdcall PopPluginPrepareDevice(_POP_FX_PLUGIN *Plugin, _UNICODE_STRING *DeviceId){
unsigned __int8(__fastcall *v2)(_QWORD, __int128 *);
UINT8 v3;
ULONG_PTR v4;
__int128 *v5;
ULONG_PTR v6;
__int64 v7;
__int128 v9;
__int128 v10;
__int128 v11;
v2 = (unsigned __int8(__fastcall *)(_QWORD, __int128 *))*((_QWORD *)Plugin + 12);
v3 = 0;
v4 = (unsigned int)Plugin;
v9 = 0i64;
v10 = 0i64;
v11 = 0i64;
if( v2 )
{
if( (*((_DWORD *)Plugin + 6) & 0x8000000) != 0 )
{
v5 = &v10;
*(_QWORD *)&v11 = *(_QWORD *)&DeviceId[2].Length;
v6 = 144;
v7 = *(_QWORD *)&DeviceId[1].Length;
*(_QWORD *)&v10 = DeviceId + 8;
*((_QWORD *)&v11 + 1) = *(_QWORD *)(v7 + 32);
}
else
{
*(_QWORD *)&v9 = DeviceId + 8;
v5 = &v9;
v6 = 1;
}
if( !v2(v6, v5) )
PopFxBugCheck(0x605u, v6, v4, 0);
return *((_BYTE *)v5 + 8);
}
return v3;
}Referenced by:
PoFxPrepareDevice