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