TtmpActivateSessionWorker
INT64 __fastcall TtmpActivateSessionWorker(UINT64 *a1){
int v1;
unsigned int v3;
UINT64 v4;
int v5;
v1 = *((_DWORD *)a1 + 1);
if( (v1 & 8) == 0 )
{
if( (v1 & 0x40) != 0 )
return 259;
if( (v1 & 0x200) != 0 )
{
if( (v1 & 0x100) != 0 )
return 259;
v4 = *((unsigned int *)a1 + 3);
*((_DWORD *)a1 + 1) = v1 | 0x100;
v3 = TtmpInitiateModernStandbyTransition((INT64)a1, 0, v4);
if( v3 )
return v3;
*((_DWORD *)a1 + 1) &= 0xFFFFFCFF;
v1 = *((_DWORD *)a1 + 1);
if( (v1 & 0x10) == 0 )
return 0;
}
if( (v1 & 0x400) == 0 )
{
v3 = 0;
*((_DWORD *)a1 + 1) = v1 & 0xFFFFFFE7 | 8;
TtmiLogSessionActivate();
return v3;
}
if( (v1 & 0x80u) == 0 )
{
v5 = *((_DWORD *)a1 + 3);
*((_DWORD *)a1 + 1) = v1 | 0x80;
TtmpSessionPowerControl((__int64)a1, 1, v5);
}
return 259;
}
*((_DWORD *)a1 + 1) = v1 & 0xFFFFFFEF;
return 0;
}Referenced by:
TtmpSessionWorker