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