PopInitializePowerPolicySimulate
INT64 __stdcall PopInitializePowerPolicySimulate(){
INT64 result;
WCHAR v1;
NTSTATUS v2;
WCHAR v3;
WCHAR v4;
NTSTATUS v5;
PULONG ResultLength;
ULONG v7;
HANDLE Handle;
UINT64 Disposition;
void *KeyHandle;
struct _UNICODE_STRING DestinationString;
struct _OBJECT_ATTRIBUTES ObjectAttributes;
__int128 KeyValueInformation;
int v14;
KeyHandle = 0i64;
LODWORD(Disposition) = 0;
Handle = 0i64;
v7 = 0;
*(&ObjectAttributes.Length + 1) = 0;
memset(&ObjectAttributes.Attributes + 1, 0, 20);
ObjectAttributes.RootDirectory = 0i64;
v14 = 0;
*(_DWORD *)PopSimulate = PopSimulateManual;
ObjectAttributes.ObjectName = &CmRegistryMachineSystemCurrentControlSet;
DestinationString = 0i64;
ObjectAttributes.Length = 48;
KeyValueInformation = 0i64;
ObjectAttributes.Attributes = 576;
LODWORD(result) = ZwOpenKey(&KeyHandle, 0x20019u, &ObjectAttributes);
if( (int)result >= 0 )
{
RtlInitUnicodeString(&DestinationString, L"Control\\Session Manager", v1);
ObjectAttributes.RootDirectory = KeyHandle;
ObjectAttributes.Length = 48;
ObjectAttributes.ObjectName = &DestinationString;
ObjectAttributes.Attributes = 576;
LODWORD(ResultLength) = 0;
*(_OWORD *)&ObjectAttributes.SecurityDescriptor = 0i64;
v2 = ZwCreateKey(&Handle, 0x20019ui64, &ObjectAttributes, 0i64, 0i64, (UINT64)ResultLength, &Disposition);
LODWORD(result) = ZwClose(KeyHandle);
if( v2 >= 0 )
{
RtlInitUnicodeString(&DestinationString, L"PowerSimulateHiberBugcheck", v3);
if( ZwQueryValueKey(Handle, &DestinationString, KeyValuePartialInformation, &KeyValueInformation, 0x14u, &v7) >= 0
&& DWORD2(KeyValueInformation) == 4 )
{
PopSimulateHiberBugcheck = HIDWORD(KeyValueInformation);
}
RtlInitUnicodeString(&DestinationString, L"PowerPolicySimulate", v4);
v5 = ZwQueryValueKey(Handle, &DestinationString, KeyValuePartialInformation, &KeyValueInformation, 0x14u, &v7);
LODWORD(result) = ZwClose(Handle);
if( v5 >= 0 && DWORD2(KeyValueInformation) == 4 )
{
result = HIDWORD(KeyValueInformation);
*(_DWORD *)PopSimulate |= HIDWORD(KeyValueInformation);
}
}
}
return result;
}Referenced by:
PoInitSystem
PopTransitionSystemPowerStateEx