AslpFileGetPeExportNameExeWrapper
__int64 __fastcall AslpFileGetPeExportNameExeWrapper(__int64 a1, __int64 a2){
int v4;
unsigned int v5;
const CHAR *v6;
UINT64 v7;
int v9;
__int64 v10;
__int64 v11;
int v12;
unsigned int v13;
WCHAR *UnicodeBuffer;
v13 = 0;
UnicodeBuffer = 0i64;
v4 = AslFileMappingEnsure(a2);
v5 = v4;
if( v4 >= 0 )
{
if( *(_DWORD *)(a2 + 64) == 6 )
{
if( (int)AslpFileGetExeWrapper(&v13, a2) < 0 )
{
v9 = 2;
}
else
{
*(_QWORD *)(a1 + 816) = v13;
v9 = 1;
*(_DWORD *)(a1 + 800) = 2;
*(_QWORD *)(a1 + 808) = 4i64;
}
*(_DWORD *)(a1 + 824) |= v9;
if( (int)AslpFileGetExportName(&UnicodeBuffer, a2) >= 0 )
{
v4 = AslStringXmlSanitize(UnicodeBuffer);
v5 = v4;
if( v4 < 0 )
{
v6 = "AslStringXmlSanitize failed [%x]";
v7 = 2417i64;
goto LABEL_3;
}
*(_DWORD *)(a1 + 736) = 4;
v11 = -1i64;
do
++v11;
while( *(_WORD *)(v10 + 2 * v11) );
*(_DWORD *)(a1 + 760) |= 5u;
*(_QWORD *)(a1 + 744) = v11;
*(_QWORD *)(a1 + 752) = v10;
return 0;
}
}
else
{
*(_DWORD *)(a1 + 824) |= 2u;
}
*(_DWORD *)(a1 + 760) |= 2u;
return 0;
}
v6 = "AslFileMappingEnsure failed [%x]";
v7 = 2382i64;
LABEL_3:
v12 = v4;
AslLogCallPrintf(1ui64, "AslpFileGetPeExportNameExeWrapper", v7, v6, v12);
return v5;
}Referenced by:
AslFileAllocAndGetAttributes