WheapWmiRegisterInfo
INT64 __stdcall WheapWmiRegisterInfo(UINT64 BufferSize, VOID *Buffer, UINT64 *Size){
int *v3;
int v4;
int *v5;
__int64 v7;
int *v8;
_DWORD *v9;
int v10;
INT64 result;
v4 = 158;
v5 = v3;
if( (unsigned int)Buffer < 0x9E )
{
if( (unsigned int)Buffer >= 4 )
{
*(_DWORD *)Size = 158;
v4 = 4;
}
result = 3221225507i64;
}
else
{
memset((INT64)Size, 0i64);
v7 = 3i64;
v8 = &dword_1400086AC;
*((_DWORD *)Size + 4) = 3;
v9 = (_DWORD *)Size + 11;
do
{
*(_OWORD *)(v9 - 5) = *(_OWORD *)*(_QWORD *)(v8 - 3);
v10 = *v8;
v8 += 4;
*(v9 - 1) = v10;
*v9 = *(v8 - 5);
v9[1] = 120;
v9 += 8;
--v7;
}
while( v7 );
*((_WORD *)Size + 60) = 36;
*(_OWORD *)((char *)Size + 122) = *(_OWORD *)L"WHEA_WMI_PROVIDER";
*(_OWORD *)((char *)Size + 138) = *(_OWORD *)L"_PROVIDER";
*(_DWORD *)((char *)Size + 154) = *(_DWORD *)L"R";
result = 0i64;
*(_DWORD *)Size = 158;
}
*v5 = v4;
return result;
}Referenced by:
WheaWmiDispatch