PspThreadOpen

INT64 __fastcall PspThreadOpen(INT64 a1, CHAR a2, UINT64 a3, INT64 a4, INT64 *a5){
  bool IsParentProcess; 
  __int64 v9; 
  unsigned int v10; 
  UINT64 v11; 
  int v12; 
  IsParentProcess = PspIsParentProcess(a3, *(_QWORD *)(a4 + 544));
  v11 = v10 & 0xFFFFFFFE;
  if( !IsParentProcess )
    v11 = v10;
  if( ((unsigned int)v11 & *(_DWORD *)a5) != 0 )
  {
    LOBYTE(v11) = a2;
    if( PsTestProtectedProcessIncompatibility(v11, a3, v9) )
      return 3221225506i64;
  }
  if( *(_QWORD *)(a4 + 1504) && !*(_QWORD *)(a3 + 2240) && a2 && (~HIDWORD(xmmword_140C1DE80) & *(_DWORD *)a5) != 0 )
    return 3221225506i64;
  v12 = *(_DWORD *)a5;
  if( (*(_DWORD *)a5 & 0x40) != 0 )
  {
    v12 |= 0x800u;
    *(_DWORD *)a5 = v12;
  }
  if( (v12 & 0x20) != 0 )
  {
    v12 |= 0x400u;
    *(_DWORD *)a5 = v12;
  }
  if( (v12 & 2) != 0 )
    *(_DWORD *)a5 = v12 | 0x1000;
  return 0i64;
}

Referenced by:

No references.