HalpTimerInitializeClockPn
NTSTATUS __stdcall HalpTimerInitializeClockPn(){
INT64 v0;
void *v1;
_KDPC *v2;
NTSTATUS result;
void *v4;
void *v5;
__int64 v6;
_KDPC *v7;
void *v8;
void *v9;
void *v10;
__int64 v11;
HalpInterruptSetIdtEntry(0xD2ui64, HalpTimerClockIpiRoutine, 13, v0, (UINT64 *)0xFFFFFFFFFFFFFFFDi64);
v2 = (_KDPC *)HalpClockTimer;
result = *((_DWORD *)HalpClockTimer + 56);
if( (result & 1) != 0 )
{
result = (unsigned int)HalpInterruptSetIdtEntry(
0xD1ui64,
HalpTimerClockInterrupt,
13,
(INT64)v1,
(UINT64 *)0xFFFFFFFFFFFFFFFDi64);
if( ((__int64)v2[3].DeferredContext & 0x800) != 0 )
{
HalpTimerGetInternalData(v2, v4, v5, v1);
result = ((__int64(__fastcall *)(__int64, __int64))v2[2].SystemArgument1)(v6, 209i64);
}
}
v7 = (_KDPC *)HalpAlwaysOnTimer;
if( HalpAlwaysOnTimer )
{
result = *((_DWORD *)HalpAlwaysOnTimer + 56);
if( (result & 1) != 0 )
{
result = (unsigned int)HalpInterruptSetIdtEntry(
0xD3ui64,
HalpTimerAlwaysOnClockInterrupt,
13,
(INT64)v1,
(UINT64 *)0xFFFFFFFFFFFFFFFDi64);
if( ((__int64)v7[3].DeferredContext & 0x800) != 0 )
{
HalpTimerGetInternalData(v7, v8, v9, v10);
return((__int64(__fastcall *)(__int64, __int64))v7[2].SystemArgument1)(v11, 211i64);
}
}
}
return result;
}Referenced by:
No references.