VslpIumInitializeTelemetry
NTSTATUS __stdcall VslpIumInitializeTelemetry(){
NTSTATUS result;
UINT64 v1;
unsigned int v2;
__int64 v3;
__int64 v4;
int v5;
__int64 v6;
unsigned int IumEnablement;
unsigned int IumPolicy;
unsigned int v9;
unsigned int v10;
unsigned int v11;
__int64 v12;
_EVENT_DATA_DESCRIPTOR v13[2];
__int64 *v14;
int v15;
int v16;
int *v17;
int v18;
int v19;
int *v20;
int v21;
int v22;
int *v23;
int v24;
int v25;
result = TraceLoggingRegisterEx_EtwRegister_EtwSetInformation(&dword_140C04460);
if( (*(_DWORD *)&KeLoaderBlock_0->FirmwareInformation & 1) != 0 )
{
if( (unsigned int)dword_140C04460 <= 5 )
goto LABEL_5;
LOBYTE(result) = tlgKeywordOn((__int64)&dword_140C04460, 0x400000000000i64);
if( (_BYTE)result )
{
v4 = *(_QWORD *)(v3 + 240);
v5 = *(unsigned __int16 *)(v4 + 2752);
v6 = *(_QWORD *)(v4 + 2760);
v16 = 0;
v19 = 0;
v22 = 0;
v14 = (__int64 *)&v18;
v20 = (int *)&v9;
v17 = (int *)v6;
v18 = v5;
v9 = (v2 >> 2) & 1;
v15 = 2;
v21 = 4;
result = tlgWriteTransfer_EtwWriteTransfer(
(__int64)&dword_140C04460,
(unsigned __int8 *)byte_140023679,
0i64,
0i64,
5u,
v13);
}
}
if( (unsigned int)dword_140C04460 > 5 )
{
LOBYTE(result) = tlgKeywordOn((__int64)&dword_140C04460, 0x400000000000i64);
if( (_BYTE)result )
{
v16 = 0;
v19 = 0;
v14 = &v12;
v9 = (unsigned __int8)VslVsmEnabled;
v17 = (int *)&v9;
v12 = 0x1000000i64;
v15 = 8;
v18 = 4;
IumEnablement = KeLoaderBlock_0->Extension->IumEnablement;
v22 = 0;
v20 = (int *)&v10;
v10 = IumEnablement;
v21 = 4;
IumPolicy = KeLoaderBlock_0->Extension->IumPolicy;
v25 = 0;
v23 = (int *)&v11;
v11 = IumPolicy;
v24 = 4;
result = tlgWriteTransfer_EtwWriteTransfer(
(__int64)&dword_140C04460,
(unsigned __int8 *)word_14002362A,
0i64,
0i64,
6u,
v13);
}
}
LABEL_5:
if( !VslVsmEnabled )
{
v1 = qword_140C04480;
qword_140C04480 = 0i64;
dword_140C04460 = 0;
return EtwUnregister(v1);
}
return result;
}Referenced by:
VslpIumPhase4Initialize