AslpFileGetHeaderAttributesNE
__int64 __fastcall AslpFileGetHeaderAttributesNE(__int64 a1, __int64 a2){
int v4;
unsigned int v5;
const CHAR *v6;
UINT64 v7;
__int64 v9;
__int64 v10;
__int64 v11;
__int64 v12;
int v13;
WCHAR *UnicodeBuffer;
WCHAR *String;
UnicodeBuffer = 0i64;
String = 0i64;
v4 = AslFileMappingEnsure(a2);
v5 = v4;
if( v4 >= 0 )
{
if( *(_DWORD *)(a2 + 64) == 5 )
{
*(_DWORD *)(a1 + 600) |= 2u;
*(_DWORD *)(a1 + 632) |= 2u;
*(_DWORD *)(a1 + 728) |= 2u;
*(_DWORD *)(a1 + 56) |= 2u;
*(_DWORD *)(a1 + 824) |= 2u;
*(_DWORD *)(a1 + 760) |= 2u;
*(_DWORD *)(a1 + 952) |= 2u;
*(_DWORD *)(a1 + 984) |= 2u;
*(_DWORD *)(a1 + 1016) |= 2u;
v9 = -1i64;
if( (int)AslpFileGet16BitDescription(&UnicodeBuffer, a2) < 0 )
{
*(_DWORD *)(a1 + 664) |= 2u;
}
else
{
v4 = AslStringXmlSanitize(UnicodeBuffer);
v5 = v4;
if( v4 < 0 )
{
v6 = "AslStringXmlSanitize failed [%x]";
v7 = 2629i64;
goto LABEL_3;
}
*(_DWORD *)(a1 + 640) = 4;
v11 = -1i64;
do
++v11;
while( *(_WORD *)(v10 + 2 * v11) );
*(_DWORD *)(a1 + 664) |= 5u;
*(_QWORD *)(a1 + 648) = v11;
*(_QWORD *)(a1 + 656) = v10;
}
if( (int)AslpFileGet16BitModuleName(&String, a2) >= 0 )
{
v4 = AslStringXmlSanitize(String);
v5 = v4;
if( v4 < 0 )
{
v6 = "AslStringXmlSanitize failed [%x]";
v7 = 2650i64;
goto LABEL_3;
}
*(_DWORD *)(a1 + 672) = 4;
do
++v9;
while( *(_WORD *)(v12 + 2 * v9) );
*(_DWORD *)(a1 + 696) |= 5u;
*(_QWORD *)(a1 + 680) = v9;
*(_QWORD *)(a1 + 688) = v12;
return 0;
}
}
else
{
*(_DWORD *)(a1 + 664) |= 2u;
}
*(_DWORD *)(a1 + 696) |= 2u;
return 0;
}
v6 = "AslFileMappingEnsure failed [%x]";
v7 = 2594i64;
LABEL_3:
v13 = v4;
AslLogCallPrintf(1ui64, "AslpFileGetHeaderAttributesNE", v7, v6, v13);
return v5;
}Referenced by:
AslFileAllocAndGetAttributes