NTSTATUS __stdcall PipHardwareConfigOpenKey(VOID **HardwareConfigKey){
unsigned int v1;
_QWORD *v2;
_QWORD *v3;
unsigned int v4;
int CachedContextBaseKey;
__int64 v6;
VOID *v7;
VOID *v9;
VOID *v10;
v9 = 0i64;
v3 = v2;
v10 = 0i64;
v4 = v1;
if( !v2 )
return -1073741811;
CachedContextBaseKey = PnpCtxGetCachedContextBaseKey(
*(&stru_140CF2E80 + 607),
PNPCTX_BASE_KEY_TYPE_MAX|PNPCTX_BASE_KEY_TYPE_SOFTWARE,
&v10);
if( CachedContextBaseKey < 0
|| (!*(&stru_140CF2E80 + 607) ? (v6 = 0i64) : (v6 = *(_QWORD *)(*(&stru_140CF2E80 + 607) + 224i64)),
CachedContextBaseKey = SysCtxRegOpenKey(v6, v10, L"Current", 0, v4, &v9),
CachedContextBaseKey < 0) )
{
v7 = v9;
}
else
{
v7 = 0i64;
*v3 = v9;
v9 = 0i64;
}
if( v7 )
ZwClose((_HANDLE)v7);
return CachedContextBaseKey;
}