IopCallBootDriverReinitializationRoutines
UINT8 __stdcall IopCallBootDriverReinitializationRoutines(){
UINT8 v0;
_LIST_ENTRY *v1;
VOID **p_Flink;
v0 = 0;
PnpDiagnosticTrace(&KMPnPEvt_BootDriverReinit_Start, 0, 0i64);
while( 1 )
{
v1 = IopInterlockedRemoveHeadList((_LIST_ENTRY *)&stru_140C452E0 + 101);
p_Flink = (VOID **)&v1->Flink;
if( !v1 )
break;
v0 = 1;
++LODWORD(v1[1].Flink[3].Flink[1].Flink);
LODWORD(v1[1].Flink[1].Flink) &= ~0x20u;
((void(__fastcall *)(_LIST_ENTRY *, _LIST_ENTRY *, _QWORD))v1[1].Blink)(
v1[1].Flink,
v1[2].Flink,
LODWORD(v1[1].Flink[3].Flink[1].Flink));
ObfDereferenceObjectWithTag(p_Flink[2], 0x746C6644ui64);
ExFreePoolWithTag(p_Flink, 0);
}
byte_140C50A1C = 1;
PnpDiagnosticTrace(&KMPnPEvt_BootDriverReinit_Stop, 0, 0i64);
return v0;
}Referenced by:
IopInitializeBootDrivers