CmpKeyEnumStackNotifyPromotion
_QWORD *__fastcall CmpKeyEnumStackNotifyPromotion(INT16 *a1){
INT64 EntryAtLayerHeight;
_QWORD *result;
_QWORD *v4;
__int64 v5;
int v6;
EntryAtLayerHeight = CmpKeyEnumStackGetEntryAtLayerHeight((INT64)a1, *a1);
CmpKeyEnumStackEntryNotifyPromotion((_QWORD *)EntryAtLayerHeight);
result = (_QWORD *)CmpKeyNodeStackGetEntryAtLayerHeight((INT64)(a1 + 4), *a1);
v4 = result;
if( *((_DWORD *)result + 2) == -1 )
{
if( result[2] )
(*(void(__fastcall **)(_QWORD, _QWORD *))(*result + 16i64))(*result, result + 3);
*v4 = 0i64;
*(_QWORD *)((char *)v4 + 12) = 0i64;
*((_DWORD *)v4 + 5) = 0;
*((_DWORD *)v4 + 2) = -1;
v4[3] = 0i64;
*((_DWORD *)v4 + 6) = -1;
*((_WORD *)v4 + 14) = 0;
v5 = *(_QWORD *)EntryAtLayerHeight;
v6 = *(_DWORD *)(EntryAtLayerHeight + 112);
*v4 = *(_QWORD *)EntryAtLayerHeight;
*((_DWORD *)v4 + 2) = v6;
result = (_QWORD *)(*(__int64(**)(void))(v5 + 8))();
v4[2] = result;
}
return result;
}Referenced by:
CmpPartialPromoteSubkeys
CmpPromoteSubtree