PopQueryPowerButtonBugcheckConfiguration

NTSTATUS __stdcall PopQueryPowerButtonBugcheckConfiguration(HANDLE KeyHandle){
  _DWORD *v1; 
  WCHAR v2; 
  _DWORD *v3; 
  WCHAR v5; 
  NTSTATUS result; 
  ULONG ResultLength; 
  struct _UNICODE_STRING DestinationString; 
  struct _UNICODE_STRING ValueName; 
  __int128 KeyValueInformation; 
  int v11; 
  *v1 = 0;
  v3 = v1;
  ResultLength = 0;
  v11 = 0;
  DestinationString = 0i64;
  ValueName = 0i64;
  KeyValueInformation = 0i64;
  RtlInitUnicodeString(&DestinationString, L"PowerButtonBugcheck", v2);
  RtlInitUnicodeString(&ValueName, L"OneSettingPowerButtonBugcheck", v5);
  result = ZwQueryValueKey(
             KeyHandle,
             &DestinationString,
             KeyValuePartialInformation,
             &KeyValueInformation,
             0x14u,
             &ResultLength);
  if( result >= 0 && *(_QWORD *)((char *)&KeyValueInformation + 4) == 0x400000004i64 )
  {
    if( HIDWORD(KeyValueInformation) )
    {
      *v3 = 1;
      dword_140C20730 = 2;
    }
    else
    {
      dword_140C20730 = 1;
    }
  }
  else
  {
    result = ZwQueryValueKey(
               KeyHandle,
               &ValueName,
               KeyValuePartialInformation,
               &KeyValueInformation,
               0x14u,
               &ResultLength);
    if( result >= 0 && *(_QWORD *)((char *)&KeyValueInformation + 4) == 0x400000004i64 )
    {
      if( HIDWORD(KeyValueInformation) )
      {
        *v3 = 1;
        dword_140C20734 = 2;
      }
      else
      {
        dword_140C20734 = 1;
      }
    }
    else
    {
      return -1073741823;
    }
  }
  return result;
}

Referenced by:

PopPowerButtonBugcheckConfigure