PpmWmiRegisterInfo
NTSTATUS __stdcall PpmWmiRegisterInfo(UINT64 NtNumber, UINT64 BufferSize, VOID *Buffer, UINT64 *Size){
int v4;
int v6;
__int64 v7;
int *v8;
_DWORD *v9;
int v10;
NTSTATUS result;
UINT64 *Sizea;
v4 = 332;
v6 = (int)Buffer;
if( (unsigned int)Buffer < 0x14C )
{
if( (unsigned int)Buffer >= 4 )
{
*(_DWORD *)Size = 332;
v4 = 4;
}
result = -1073741789;
}
else
{
memset(Size, 0i64, 0x14Cu);
v7 = 8i64;
v8 = &dword_14000862C;
*((_DWORD *)Size + 4) = 8;
v9 = (_DWORD *)Size + 11;
do
{
*(_OWORD *)(v9 - 5) = *(_OWORD *)*(_QWORD *)(v8 - 3);
v10 = *v8;
v8 += 4;
*(v9 - 1) = v10;
*v9 = *(v8 - 5);
v9[1] = 280;
v9 += 8;
--v7;
}
while( v7 );
*(_DWORD *)Size = 332;
*((_WORD *)Size + 140) = 50;
result = RtlStringCbPrintfW((WCHAR *)Size + 141, (unsigned int)(v6 - 282), (WCHAR *)L"%s%d");
if( result >= 0 )
result = 0;
}
*(_DWORD *)Sizea = v4;
return result;
}Referenced by:
PpmWmiDispatch