HvlAddPagesCallbackRoutine
VOID __stdcall HvlAddPagesCallbackRoutine(
_KBUGCHECK_CALLBACK_REASON Reason,
_KBUGCHECK_REASON_CALLBACK_RECORD *Record,
PVOID Data,
UINT64 a4){
int PageList;
__int64 v6[3];
unsigned int v7;
*((_QWORD *)Data + 3) = 0i64;
*((_DWORD *)Data + 2) = 0;
v6[0] = 0i64;
v7 = 0;
if( qword_140C472C8 && (*((_DWORD *)qword_140C472C8 + 1) & 1) != 0 && HvlpFallbackScratchPage )
{
if( !*(_QWORD *)Data )
{
*(_QWORD *)Data = &HvlpCrashdumpIterationState;
LOBYTE(HvlpCrashdumpIterationState) = 1;
HvlpStartPageListIteration(1i64);
}
PageList = HvlpGetPageList(1, v6, &v7);
if( v7 )
{
*((_QWORD *)Data + 3) = v7;
*((_QWORD *)Data + 2) = v6[0];
*((_DWORD *)Data + 2) = 2;
}
if( PageList == 261 )
{
*((_DWORD *)Data + 2) |= 0x80000000;
}
else
{
qword_140C471E8 = 0i64;
HvlpIteratorCrashdump = 0;
LOBYTE(HvlpCrashdumpIterationState) = 0;
*(_QWORD *)Data = 0i64;
}
}
}Referenced by:
No references.