VslCapturePgoData
NTSTATUS __stdcall VslCapturePgoData(SIZE_T Size, PVOID a2){
INT64 v4;
NTSTATUS v5;
unsigned int v6;
INT64 v8[10];
INT64 result[14];
memset((INT64)result, 0i64);
memset((INT64)v8, 0i64);
v4 = 0i64;
v5 = 0;
memset((INT64)a2, 0i64);
if( Size )
{
while( 1 )
{
v6 = Size;
if( 2072576 - ((unsigned __int16)a2 & 0xFFFu) < Size )
v6 = 2072576 - ((unsigned __int16)a2 & 0xFFF);
v5 = VslpLockPagesForTransfer((INT64)v8, (INT64)a2, v6, 1i64, 0);
if( v5 < 0 )
break;
result[2] = v8[0];
result[3] = v8[7];
result[1] = v4;
v5 = VslpEnterIumSecureMode(2u, 74, 0i64, (INT64)result);
VslpUnlockPagesForTransfer((INT64 **)v8);
if( v5 == -2147483622 )
return 0;
if( v5 >= 0 )
{
a2 = (char *)a2 + v6;
v4 += v6;
Size -= v6;
if( Size )
continue;
}
return v5;
}
}
return v5;
}Referenced by:
No references.