AslpFileVerStringBlockGetValue
char __fastcall AslpFileVerStringBlockGetValue(unsigned __int64 *a1, size_t *a2, __int64 a3, unsigned __int64 a4){
size_t v7;
int v9;
UINT64 v10;
unsigned __int64 v11;
UINT64 v13;
INT64 v14;
INT64 v15;
unsigned __int64 v16;
size_t pcbLength;
*a1 = 0i64;
*a2 = 0i64;
v7 = 0i64;
v16 = 0i64;
pcbLength = 0i64;
LOBYTE(v9) = AslpFileVerBlockGetValueOffset((INT16)&v16, a3, a4, a4, v13, v14, v15);
if( v9 >= 0 )
{
if( v16 > a4 )
{
LOBYTE(v9) = 13;
}
else
{
if( v16 == a4 )
{
v11 = a3 + v16 - 2;
}
else
{
v10 = a4 - v16;
if( (int)RtlStringCbLengthW((const WCHAR *)(v16 + a3), v10, &pcbLength) < 0 )
{
v7 = v10 - 2;
*(_WORD *)(v11 + 2 * ((v10 - 2) >> 1)) = 0;
}
else
{
v7 = pcbLength;
}
}
LOBYTE(v9) = 0;
*a2 = v7 >> 1;
*a1 = v11;
}
}
return v9;
}Referenced by:
AslpFileQueryVersionString