ExpCreateOutputNT
INT64 __fastcall ExpCreateOutputNT(INT64 a1, UINT64 *a2, const WCHAR **a3, const WCHAR *a4){
int v4;
__int64 v8;
unsigned int v9;
unsigned int v10;
unsigned int v11;
INT64 v12;
unsigned int v13;
WCHAR *v14;
v4 = *(unsigned __int16 *)a3 + 2;
if( a4 )
{
v8 = -1i64;
do
++v8;
while( a4[v8] );
v4 += 2 * v8;
}
v9 = v4 + 2;
v10 = v4 + 14;
v11 = v9 >> 1;
if( a1 && *(_DWORD *)a2 >= v10 )
{
*(_DWORD *)a1 = 1;
v12 = a1 + 12;
*(_DWORD *)(a1 + 4) = v10;
*(_DWORD *)(a1 + 8) = 3;
v13 = v11;
wcscpy_s((PWCHAR)(a1 + 12), v11, (PWCHAR)a3[1]);
v14 = (WCHAR *)(v12 + *(unsigned __int16 *)a3 + 2i64);
if( a4 )
wcscpy_s(v14, v13, (PWCHAR)a4);
else
*v14 = 0;
*(_DWORD *)a2 = v10;
return 0i64;
}
else
{
*(_DWORD *)a2 = v10;
return 3221225507i64;
}
}Referenced by:
ExpConvertArcName
ExpConvertSignatureName
ExpTranslateEfiPath