PipHardwareConfigTriggerRespecialize
NTSTATUS __stdcall PipHardwareConfigTriggerRespecialize(VOID *SysprepHandle){
PVOID v1;
NTSTATUS v2;
NTSTATUS v3;
VOID *Data;
UINT64 DataSize;
_UNICODE_STRING KeyName;
int v8;
PVOID Handle;
v8 = 0;
v1 = 0i64;
*(_DWORD *)(&KeyName.MaximumLength + 1) = 0;
Handle = 0i64;
if( !SysprepHandle )
{
LODWORD(Data) = 0;
KeyName.Buffer = (wchar_t *)L"\\Registry\\Machine\\System\\Setup";
*(_DWORD *)&KeyName.Length = 4063292;
v2 = IopCreateRegistryKeyEx(&Handle, 0i64, &KeyName, 0xF003Fui64, (UINT64)Data, 0i64);
v1 = Handle;
v3 = v2;
if( v2 < 0 )
goto LABEL_5;
SysprepHandle = Handle;
}
v8 = 1;
KeyName.Buffer = L"Respecialize";
*(_DWORD *)&KeyName.Length = 1703960;
LODWORD(DataSize) = 4;
v3 = ZwSetValueKey(SysprepHandle, &KeyName, 0i64, 4ui64, &v8, DataSize);
LABEL_5:
if( v1 )
ZwClose((_HANDLE)v1);
return v3;
}Referenced by:
PipHardwareConfigInit