CmpStartKeyNodeStack
INT64 __fastcall CmpStartKeyNodeStack(INT64 a1, INT16 a2){
unsigned int v2;
__int64 v6;
VOID *TransientPoolWithTag;
__int64 v8;
__int64 v9;
__int64 v10;
v2 = 0;
if( a2 >= 2 )
{
v6 = (unsigned __int16)(a2 - 1);
TransientPoolWithTag = CmpAllocateTransientPoolWithTag(1ui64, 32i64 * (__int16)v6);
*(_QWORD *)(a1 + 72) = TransientPoolWithTag;
if( !TransientPoolWithTag )
return(unsigned int)-1073741670;
if( (__int16)v6 > 0 )
{
v8 = 0i64;
v9 = (unsigned __int16)v6;
do
{
v10 = *(_QWORD *)(a1 + 72);
*(_QWORD *)(v8 + v10) = 0i64;
*(_QWORD *)(v8 + v10 + 12) = 0i64;
*(_DWORD *)(v8 + v10 + 20) = 0;
*(_DWORD *)(v8 + v10 + 8) = -1;
*(_QWORD *)(v8 + v10 + 24) = 0i64;
*(_DWORD *)(v8 + v10 + 24) = -1;
*(_WORD *)(v8 + v10 + 28) = 0;
v8 += 32i64;
--v9;
}
while( v9 );
}
}
*(_WORD *)a1 = a2;
return v2;
}Referenced by:
CmSaveKey
CmpKeyEnumStackStart
CmpStartKeyNodeStackFromKcbStack
CmpSubtreeEnumeratorStart