SepGetStackTraceHash

unsigned int __fastcall SepGetStackTraceHash(_DWORD *a1){
  unsigned int result; 
  unsigned int v3; 
  unsigned __int16 v4; 
  int v5; 
  int v6; 
  UINT64 BackTraceHash; 
  __int128 MemoryInformation; 
  __int64 v9; 
  VOID *BackTrace[16]; 

  LODWORD(BackTraceHash) = 0;
  memset(BackTrace, 0i64, sizeof(BackTrace));
  v9 = 0i64;
  MemoryInformation = 0i64;
  RtlCaptureStackBackTrace(2ui64, 0x10ui64, BackTrace, &BackTraceHash);
  result = RtlWalkFrameChain((INT64)BackTrace, 16i64, 1ui64);
  v3 = result;
  v4 = 0;
  if( result > 0x10 )
    v3 = 16;
  if( v3 )
  {
    do
    {
      if( ZwQueryVirtualMemory(-1, BackTrace[v4], MemoryImageInformation, &MemoryInformation, 24, 0i64) < 0
        || (unsigned __int64)BackTrace[v4] < (unsigned __int64)MemoryInformation )
      {
        v5 = (int)BackTrace[v4];
      }
      else
      {
        v5 = LODWORD(BackTrace[v4]) - MemoryInformation;
      }
      v6 = BackTraceHash + v5;
      result = ++v4;
      LODWORD(BackTraceHash) = v6;
    }
    while( v4 < v3 );
  }
  else
  {
    v6 = BackTraceHash;
  }
  *a1 = v6;
  return result;
}

Referenced by:

NtQueryInformationToken
SepLogLpacAccessFailure