VslReportBugCheckProgress
VOID __stdcall VslReportBugCheckProgress(){
__int128 *v0;
char *v1;
const VOID *v2;
unsigned int v3;
const VOID *v4;
INT64 v5;
__int128 *v6;
char *v7;
unsigned int v8;
wchar_t **v9;
unsigned __int16 *v10;
int v11;
int v12;
__int128 v13;
__int128 v14;
INT64 v15[14];
int v16;
v4 = v2;
v5 = v3;
v6 = v0;
v7 = v1;
if( (v16 & 1) != 0 && v3 <= 8 )
{
memset(v15, 0i64, 0x68u);
v8 = 0;
v9 = IumBugCheckVariables;
while( 1 )
{
v10 = (unsigned __int16 *)v7;
do
{
v11 = *(unsigned __int16 *)((char *)v10 + (char *)*v9 - v7);
v12 = *v10 - v11;
if( v12 )
break;
++v10;
}
while( v11 );
if( !v12 )
break;
++v8;
++v9;
if( v8 >= 4 )
goto LABEL_11;
}
v15[1] = v8;
LABEL_11:
if( v8 != 4 )
{
v13 = *v6;
memset(&v15[4], 0, 24);
*(_OWORD *)&v15[2] = v13;
if( (v16 & 0x40) == 0 )
VslpEnterIumSecureMode(2u, 261, 0i64, (INT64)v15);
if( (_DWORD)v5 )
{
memmove(&v15[4], v4, v5);
v14 = *v6;
v15[1] = v8;
v15[6] = v16 | 6u;
*(_OWORD *)&v15[2] = v14;
v15[5] = v5;
VslpEnterIumSecureMode(2u, 261, 0i64, (INT64)v15);
}
}
}
}Referenced by:
PopCheckpointSystemSleepUnsafe