PnpCopyDevProperty
__int64 __fastcall PnpCopyDevProperty(__int64 a1, __int64 a2, __int64 a3){
int PWSTR;
WCHAR *v6;
unsigned int v7;
VOID **PoolWithTag;
PWSTR = 0;
*(_OWORD *)a3 = *(_OWORD *)a1;
*(_OWORD *)(a3 + 16) = *(_OWORD *)(a1 + 16);
*(_OWORD *)(a3 + 32) = *(_OWORD *)(a1 + 32);
*(_QWORD *)(a3 + 24) = 0i64;
*(_QWORD *)(a3 + 40) = 0i64;
v6 = *(WCHAR **)(a1 + 24);
if( v6 )
{
PWSTR = PnpAllocatePWSTR(v6, 0x7FFFFFFFui64, 0x57706E50u, (PVOID *)(a3 + 24));
if( PWSTR < 0 )
goto LABEL_9;
}
v7 = *(_DWORD *)(a3 + 36);
if( v7 )
{
PoolWithTag = ExAllocatePoolWithTag(1ui64, v7, 1466986064i64);
*(_QWORD *)(a3 + 40) = PoolWithTag;
if( !PoolWithTag )
{
PWSTR = -1073741670;
LABEL_9:
PnpFreeDevProperty(a3, 0x57706E50u);
*(_OWORD *)a3 = 0i64;
*(_OWORD *)(a3 + 16) = 0i64;
*(_OWORD *)(a3 + 32) = 0i64;
return(unsigned int)PWSTR;
}
}
memmove(*(VOID **)(a3 + 40), *(const VOID **)(a1 + 40), *(_DWORD *)(a3 + 36));
return(unsigned int)PWSTR;
}Referenced by:
PnpCopyDevPropertyArray