RtlpStdExtendUpperWatermark

KSPIN_LOCK __fastcall RtlpStdExtendUpperWatermark(UINT64 *SpinLock, VOID *a2){
  KSPIN_LOCK v3; 
  char v4; 
  UINT64 v5; 
  char v6; 
  char *v7; 
  UINT64 v8; 
  unsigned __int64 v9; 
  UINT64 AllocationType; 
  UINT64 Protect; 
  ULONG_PTR RegionSize; 
  PVOID BaseAddress; 
  BaseAddress = a2;
  RegionSize = 0i64;
  v3 = 0i64;
  KeAcquireSpinLockRaiseToDpc(SpinLock, (UINT64)a2);
  *((_BYTE *)SpinLock + 8) = v4;
  v5 = SpinLock[21];
  v6 = *((_BYTE *)SpinLock + 128);
  v7 = (char *)SpinLock[19];
  BaseAddress = v7;
  v8 = v5 - 8;
  if( !v6 )
  {
    if( v8 < (unsigned __int64)v7 )
    {
      RegionSize = 4096i64;
      if( (unsigned __int64)(v7 - 4096) <= SpinLock[18] )
        goto LABEL_9;
      LODWORD(Protect) = 4;
      LODWORD(AllocationType) = 4096;
      BaseAddress = v7 - 4096;
      if( ZwAllocateVirtualMemory(
             (PVOID)0xFFFFFFFFFFFFFFFFi64,
             &BaseAddress,
             0i64,
             &RegionSize,
             AllocationType,
             Protect) < 0 )
        goto LABEL_9;
      SpinLock[19] = (UINT64)BaseAddress;
    }
LABEL_8:
    ++*((_DWORD *)SpinLock + 45);
    v3 = v5 - 8;
    SpinLock[21] = v5 - 8;
    goto LABEL_9;
  }
  if( v8 >= SpinLock[20] )
    goto LABEL_8;
LABEL_9:
  v9 = *((unsigned __int8 *)SpinLock + 8);
  KxReleaseSpinLock(SpinLock);
  __writecr8(v9);
  return v3;
}

Referenced by:

RtlpStdGetRecordedStackTraceIndex