HvFreeDirtyData
VOID __fastcall HvFreeDirtyData(INT64 a1){
void *v2;
__int64 v3;
void *v4;
v2 = *(void **)(a1 + 1688);
if( v2 )
{
ExFreePoolWithTag(v2, 0);
*(_DWORD *)(a1 + 1680) = 0;
v3 = 0i64;
for( *(_QWORD *)(a1 + 1688) = 0i64; (unsigned int)v3 < *(_DWORD *)(a1 + 1712); v3 = (unsigned int)(v3 + 1) )
{
v4 = *(void **)(*(_QWORD *)(a1 + 1704) + 24 * v3 + 8);
if( v4 )
{
ExFreePoolWithTag(v4, 0);
*(_QWORD *)(*(_QWORD *)(a1 + 1704) + 24 * v3 + 8) = 0i64;
}
}
ExFreePoolWithTag(*(PVOID *)(a1 + 1704), 0);
*(_QWORD *)(a1 + 1704) = 0i64;
*(_DWORD *)(a1 + 1712) = 0;
*(_DWORD *)(a1 + 1716) = 0;
}
}Referenced by:
CmpFlushHive
HvFoldBackDirtyData