MiInsertMappingNode

NTSTATUS __stdcall MiInsertMappingNode(_RTL_BALANCED_NODE *Node){
  _RTL_BALANCED_NODE *v1; 
  unsigned __int8 v3; 
  _QWORD *v4; 
  BOOL v5; 
  unsigned __int64 v6; 
  _QWORD *v7; 
  NTSTATUS result; 

  v1 = Node[1].Children[0];
  v3 = ExAcquireSpinLockExclusive((INT64 *)&stru_140C4DB30 + 442);
  v4 = (_QWORD *)*(&stru_140C4DB30 + 443);
  v5 = 0;
  v6 = v3;
  if( *(&stru_140C4DB30 + 443) )
  {
    while( 1 )
    {
      if( (unsigned __int64)v1 < v4[3] )
      {
        v7 = (_QWORD *)*v4;
        if( !*v4 )
          break;
      }
      else
      {
        v7 = (_QWORD *)v4[1];
        if( !v7 )
        {
          v5 = 1;
          break;
        }
      }
      v4 = v7;
    }
  }
  RtlAvlInsertNodeEx((_RTL_BALANCED_NODE **)&stru_140C4DB30 + 443, (UINT64)v4, v5, Node);
  ExReleaseSpinLockExclusiveFromDpcLevel((INT64 *)&stru_140C4DB30 + 442);
  result = KiIrqlFlags;
  __writecr8(v6);
  return result;
}

Referenced by:

MmAllocateMappingAddressEx