MiZeroSectionObjectPointer

__int64 __fastcall MiZeroSectionObjectPointer(__int64 a1, __int64 a2, int a3){
  _QWORD *v3; 
  KIRQL v5; 
  __int64 v6; 
  unsigned __int64 v7; 
  v3 = *(_QWORD **)(a1 + 40);
  if( (a3 & 0x1000000) != 0 )
    v3 += 2;
  KeAbPostRelease(v3);
  v5 = ExAcquireSpinLockExclusive((PEX_SPIN_LOCK)(a2 + 72));
  v6 = *(_QWORD *)(a2 + 80);
  *(_QWORD *)(a2 + 80) = 0i64;
  v7 = v5;
  ExAcquireSpinLockExclusiveAtDpcLevel((INT64 *)&dword_140C4C6C0);
  *v3 = 0i64;
  ExReleaseSpinLockExclusiveFromDpcLevel((INT64 *)&dword_140C4C6C0);
  *(_DWORD *)(a2 + 56) |= 0xC0000u;
  ExReleaseSpinLockExclusiveFromDpcLevel((INT64 *)(a2 + 72));
  __writecr8(v7);
  return v6;
}

Referenced by:

MiCreateImageOrDataSection