AslpFileMappingGetFileKind
__int64 __fastcall AslpFileMappingGetFileKind(_QWORD *a1, int *a2){
unsigned __int64 v3;
unsigned int v4;
int v5;
__int64 v6;
__int64 v7;
v3 = a1[2];
v4 = 0;
if( !v3 || !a1[4] )
{
*a2 = 1;
return 0i64;
}
v5 = 3;
if( v3 < 0x40 )
{
*a2 = 3;
return 0i64;
}
v6 = a1[3];
if( (unsigned __int64)(v6 - 1) > 0xFFFFFFFFFFFFFFFDui64 )
{
v4 = -1073741811;
AslLogCallPrintf(1ui64, "AslpFileMappingGetFileKind", 0x4E8ui64, "File mapping invalid [%x]", -1073741811);
}
else if( *(_WORD *)v6 == 23117 )
{
v5 = 4;
v7 = *(unsigned int *)(v6 + 60);
if( v3 >= v7 + 4 )
{
if( *(_DWORD *)(v7 + v6) == 17744 )
{
v5 = 6;
}
else if( *(_WORD *)(v7 + v6) == 17742 )
{
v5 = 5;
}
}
}
*a2 = v5;
return v4;
}Referenced by:
AslFileMappingCreate
AslFileMappingCreateFromImageView
AslFileMappingEnsure
AslFileMappingEnsureMappedAs
AslpFileLargeEnsureLargeFileMapping