HalFixInterruptLine
NTSTATUS __stdcall HalFixInterruptLine(_INTERRUPT_LINE *a1, INT128 *a2){
NTSTATUS v3;
_LIST_ENTRY *Lines;
_LIST_ENTRY *v5;
_LIST_ENTRY *Flink;
_LIST_ENTRY v7;
_LIST_ENTRY v8;
_LIST_ENTRY *Blink;
_LIST_ENTRY v10;
v3 = 0;
Lines = HalpInterruptFindLines((unsigned int *)a1);
v5 = Lines;
if( !Lines )
return -1073741275;
Flink = Lines[3].Flink;
v7 = *(_LIST_ENTRY *)a2;
v8 = (_LIST_ENTRY)*((_OWORD *)a2 + 1);
++*(&stru_140CF2E80 + 1860);
LOBYTE(Flink->Flink) = 1;
Blink = v5[2].Blink;
*Blink = v7;
v10 = (_LIST_ENTRY)*((_OWORD *)a2 + 2);
Blink[1] = v8;
v8.Flink = (_LIST_ENTRY *)*((_QWORD *)a2 + 6);
Blink[2] = v10;
Blink[3].Flink = v8.Flink;
return v3;
}Referenced by:
HalpApicInitializeIoUnit