EtwpGetLoggerTimeStamp
_LARGE_INTEGER __stdcall EtwpGetLoggerTimeStamp(INT64 a1){
unsigned __int64 v1;
int v2;
_LARGE_INTEGER result;
int v4;
_LARGE_INTEGER v5;
v1 = *(_QWORD *)(a1 + 40);
if( v1 > 3 )
goto LABEL_10;
if( !(_DWORD)v1 )
{
result.anonymous_0.LowPart = RtlGetSystemTimePrecise();
return result;
}
v2 = v1 - 1;
if( !v2 )
return(_LARGE_INTEGER)KeQueryPerformanceCounter(0i64);
v4 = v2 - 1;
if( v4 )
{
if( v4 == 1 )
return(_LARGE_INTEGER)__rdtsc();
LABEL_10:
__fastfail(0x3Du);
}
v5.QuadPart = 0i64;
((void(__fastcall *)(_LARGE_INTEGER *))off_140C009E0[0])(&v5);
return v5;
}Referenced by:
EtwSendTraceBuffer
EtwpInitializeTimeStamp
EtwpLogContextSwapEvent
EtwpPrepareDirtyBuffer
EtwpRelinquishCompressionTarget
EtwpRotateCompressionTarget