MiFlushStrongCodeDriverLoadFailures

VOID __stdcall MiFlushStrongCodeDriverLoadFailures(){
  _ETHREAD *Lock; 
  const CHAR **v1; 
  __int64 v2; 
  __int64 v3; 
  __int64 v4; 
  int v5; 
  int v6; 
  int v7; 
  int v8; 
  __int64 v9; 
  __int64 v10[4]; 
  char v11[16]; 
  int *v12; 
  int v13; 
  int v14; 
  const CHAR *v15; 
  int v16[2]; 
  int *v17; 
  int v18; 
  int v19; 
  int *v20; 
  int v21; 
  int v22; 
  __int64 *v23; 
  int v24; 
  int v25; 
  Lock = MmAcquireLoadLock();
  while( 1 )
  {
    v1 = (const CHAR **)qword_140C4CA48;
    if( qword_140C4CA48 == &qword_140C4CA48 )
      break;
    if( *((PVOID **)qword_140C4CA48 + 1) != &qword_140C4CA48
      || (v2 = *(_QWORD *)qword_140C4CA48, *(PVOID *)(*(_QWORD *)qword_140C4CA48 + 8i64) != qword_140C4CA48) )
    {
      __fastfail(3u);
    }
    qword_140C4CA48 = *(PVOID *)qword_140C4CA48;
    *(_QWORD *)(v2 + 8) = &qword_140C4CA48;
    if( **(_DWORD **)&qword_140C4EC20 > 5u && tlgKeywordOn(*(__int64 *)&qword_140C4EC20, 0x400000000000i64) )
    {
      tlgCreate1Sz_char((__int64)v11, v1[2]);
      v14 = 0;
      v16[1] = 0;
      v19 = 0;
      v22 = 0;
      v25 = 0;
      v12 = v16;
      v15 = v1[4];
      v16[0] = *((unsigned __int16 *)v1 + 12);
      v7 = *((_DWORD *)v1 + 10);
      v17 = &v7;
      v8 = *((_DWORD *)v1 + 11);
      v20 = &v8;
      v23 = &v9;
      v13 = 2;
      v18 = 4;
      v21 = 4;
      v9 = 0x1000000i64;
      v24 = 8;
      tlgWriteEx_EtwWriteEx(v4, (unsigned __int8 *)&byte_140024D57, v3, 1ui64, v5, v6, 8u, (__int64)v10);
    }
    ExFreePoolWithTag(v1, 0);
  }
  MmReleaseLoadLock(Lock);
}

Referenced by:

MiInitSystem