MiAllocateHotPatchRecord
CHAR *__fastcall MiAllocateHotPatchRecord(INT64 a1, INT64 a2, UINT8 **a3){
int v3;
int v5;
__int64 v6;
CHAR *v7;
v3 = a2;
v5 = a1;
LODWORD(v6) = MiAllocatePool((struct _SLIST_ENTRY *)0x100);
v7 = (CHAR *)v6;
if( v6 )
{
*(_DWORD *)(v6 + 24) = v5;
*(_DWORD *)(v6 + 28) = v3;
*(_WORD *)(v6 + 32) = *(_WORD *)a3;
*(_WORD *)(v6 + 34) = *(_WORD *)a3;
*(_QWORD *)(v6 + 40) = v6 + 48;
memmove((UINT8 *)(v6 + 48), a3[1], *(unsigned __int16 *)a3);
}
return v7;
}Referenced by:
MiLoadHotPatch
MiLoadHotPatchForUserSid
MmRegisterHotPatch