MiLogStrongCodeDriverLoadFailure
VOID __stdcall MiLogStrongCodeDriverLoadFailure(INT8 *FailureReason, _KLDR_DATA_TABLE_ENTRY *DataTableEntry){
__int64 v4;
__int64 v5;
__int64 v6;
_QWORD *Pool;
__int64 v8;
VOID *v9;
__int64 *v10;
int v11;
int v12;
unsigned int CheckSum;
unsigned int TimeDateStamp;
__int64 v15;
__int64 v16[4];
INT64 v17[3];
int v18;
int v19;
wchar_t *Buffer;
int v21[2];
unsigned int *p_CheckSum;
int v23;
int v24;
unsigned int *p_TimeDateStamp;
int v26;
int v27;
__int64 *v28;
int v29;
int v30;
if( *(&stru_140C4DB30 + 542) )
{
if( **(&stru_140C4DB30 + 542) > 5u )
{
if( tlgKeywordOn(*(&stru_140C4DB30 + 542), 0x400000000000i64) )
{
tlgCreate1Sz_char((INT64)v17, FailureReason);
v19 = 0;
v21[1] = 0;
v24 = 0;
v27 = 0;
v30 = 0;
v17[2] = (INT64)v21;
Buffer = DataTableEntry->BaseDllName.Buffer;
v21[0] = DataTableEntry->BaseDllName.Length;
CheckSum = DataTableEntry->CheckSum;
p_CheckSum = &CheckSum;
TimeDateStamp = DataTableEntry->TimeDateStamp;
p_TimeDateStamp = &TimeDateStamp;
v15 = 2164260864i64;
v23 = 4;
v26 = 4;
v28 = &v15;
v29 = 8;
v18 = 2;
tlgWriteEx_EtwWriteEx(v5, (unsigned __int8 *)&word_140024CF6, v4, 1u, v11, v12, 8u, (__int64)v16);
}
}
}
else
{
v6 = -1i64;
do
++v6;
while( FailureReason[v6] );
Pool = MiAllocatePool(256i64, v6 + DataTableEntry->BaseDllName.Length + 49i64, 0x46446D4Dui64);
v8 = (__int64)Pool;
if( Pool )
{
Pool[2] = Pool + 6;
memmove(Pool + 6, FailureReason, v6 + 1);
v9 = (VOID *)(v8 + v6 + 49);
*(_QWORD *)(v8 + 32) = v9;
memmove(v9, DataTableEntry->BaseDllName.Buffer, DataTableEntry->BaseDllName.Length);
*(_WORD *)(v8 + 24) = DataTableEntry->BaseDllName.Length;
*(_WORD *)(v8 + 26) = DataTableEntry->BaseDllName.Length;
*(_DWORD *)(v8 + 40) = DataTableEntry->CheckSum;
*(_DWORD *)(v8 + 44) = DataTableEntry->TimeDateStamp;
v10 = (__int64 *)qword_140C4CA50;
if( *(PVOID **)qword_140C4CA50 != &qword_140C4CA48 )
__fastfail(3u);
*(_QWORD *)v8 = &qword_140C4CA48;
*(_QWORD *)(v8 + 8) = v10;
*v10 = v8;
qword_140C4CA50 = v8;
}
}
}Referenced by:
MiProcessKernelCfgImageLoadConfig
MiResolveImageImports
MmLoadSystemImageEx