DrvDbRegisterObjects
NTSTATUS __stdcall DrvDbRegisterObjects(HPNPCTX *hPnpCtx, _DRVDB_CONTEXT *pDrvDbCtx){
__int64 *v3;
unsigned int i;
__int64 v5;
NTSTATUS v6;
__int64 v7;
v3 = &qword_1400082F0;
for( i = 0; i < 5; ++i )
{
v5 = *(int *)v3;
v6 = 0;
if( (unsigned int)(v5 - 1) > 0xA )
v6 = -1073741811;
else
_InterlockedExchange64((volatile __int64 *)&hPnpCtx[2 * v5 + 74], v3[1]);
if( v6 < 0 )
break;
v7 = *(int *)v3;
v6 = 0;
if( (unsigned int)(v7 - 1) > 0xA )
v6 = -1073741811;
else
_InterlockedExchange64((volatile __int64 *)&hPnpCtx[2 * v7 + 98], (__int64)pDrvDbCtx);
if( v6 < 0 )
break;
v3 += 2;
}
return v6;
}Referenced by:
DrvDbOpenContext