EtwpCoverageEnsureStringBuffer
NTSTATUS __stdcall EtwpCoverageEnsureStringBuffer(INT64 a1){
INT64 v1;
_QWORD *i;
VOID **PoolWithTag;
NTSTATUS v5;
_QWORD *v6;
_QWORD *v7;
v1 = a1 + 48;
for( i = *(_QWORD **)(a1 + 48); i != (_QWORD *)v1; i = (_QWORD *)*i )
{
if( i[2] - i[3] >= 0x200ui64 )
{
*(_QWORD *)(a1 + 40) = i;
return 0;
}
}
PoolWithTag = ExAllocatePoolWithTag(1ui64, 0x2000ui64, 1450669125i64);
v5 = 0;
v6 = PoolWithTag;
if( !PoolWithTag )
return -1073741670;
EtwpCoverageInitializeStringBuffer(PoolWithTag, 0x2000u);
*(_QWORD *)(a1 + 40) = v6;
v7 = *(_QWORD **)(v1 + 8);
if( *v7 != v1 )
__fastfail(3u);
*v6 = v1;
v6[1] = v7;
*v7 = v6;
*(_QWORD *)(v1 + 8) = v6;
return v5;
}Referenced by:
EtwpCoverageEnsureContext
EtwpCoverageRecord