ExpInitializeResource
UINT16 *__fastcall ExpInitializeResource(INT64 a1){
UINT16 *result;
__int64 v3;
PKSPIN_LOCK v4;
UINT16 *v5;
__int16 v6;
result = (UINT16 *)memset(a1, 0i64);
*(_QWORD *)(a1 + 8) = a1;
v3 = 0i64;
*(_QWORD *)a1 = a1;
*(_OWORD *)(a1 + 32) = 0i64;
*(_QWORD *)(a1 + 96) = 0i64;
if( (NtGlobalFlag & 0x2000) != 0 )
{
v4 = RtlpStackTraceDatabase;
if( RtlpStackTraceDatabase )
{
result = (UINT16 *)RtlStdLogStackTrace((INT64)RtlpStackTraceDatabase, 1i64);
v5 = result;
if( result )
{
result = (UINT16 *)RtlpStdGetRecordedStackTraceIndex((INT64)v4, result);
v6 = (__int16)result;
if( !(_DWORD)result )
result = (UINT16 *)RtlStdReleaseStackTrace((INT64)v4, (INT64)v5);
}
else
{
v6 = 0;
}
LOWORD(v3) = v6;
}
v3 = (unsigned __int16)v3;
}
*(_QWORD *)(a1 + 88) = v3;
return result;
}Referenced by:
ExInitializeFastResource