MiInitializeHugePfnDatabase

INT64 __stdcall MiInitializeHugePfnDatabase(){
  unsigned __int64 OldIrql; 
  void *v1; 
  void *v2; 
  INT64 result; 
  __int64 v4; 
  struct _KLOCK_QUEUE_HANDLE LockHandle; 
  memset(&LockHandle, 0, sizeof(LockHandle));
  KeAcquireInStackQueuedSpinLock(&qword_140C4E3C0, &LockHandle);
  if( qword_140C4E3B0 )
  {
    KeReleaseInStackQueuedSpinLockFromDpcLevel(&LockHandle);
    OldIrql = LockHandle.OldIrql;
LABEL_8:
    result = 1i64;
    goto LABEL_9;
  }
  LODWORD(v1) = MiAllocatePool((struct _SLIST_ENTRY *)0x40);
  v2 = v1;
  if( v1 )
  {
    LODWORD(v4) = MiAllocatePool((struct _SLIST_ENTRY *)0x40);
    if( !v4 )
    {
      KeReleaseInStackQueuedSpinLockFromDpcLevel(&LockHandle);
      __writecr8(LockHandle.OldIrql);
      ExFreePoolWithTag(v2, 0);
      return 0i64;
    }
    qword_140C4E3A0 = 0x40000i64;
    qword_140C4E3A8 = (__int64)v2;
    qword_140C4E3B0 = v4;
    KeReleaseInStackQueuedSpinLockFromDpcLevel(&LockHandle);
    OldIrql = LockHandle.OldIrql;
    goto LABEL_8;
  }
  KeReleaseInStackQueuedSpinLockFromDpcLevel(&LockHandle);
  OldIrql = LockHandle.OldIrql;
  result = 0i64;
LABEL_9:
  __writecr8(OldIrql);
  return result;
}

Referenced by:

MiHotAddHugeRange