B_TREE<_SM_PAGE_KEY,ST_STORE::_ST_PAGE_ENTRY,4096,NP_CONTEXT,B_TREE_KEY_COMPARATOR<_SM_PAGE_KEY>>::BTreeFindNextEntry
__int64 __fastcall B_TREE<_SM_PAGE_KEY,ST_STORE::_ST_PAGE_ENTRY,4096,NP_CONTEXT,B_TREE_KEY_COMPARATOR<_SM_PAGE_KEY>>::BTreeFindNextEntry(
__int64 a1,
__int64 a2){
int v2;
__int64 v3;
__int64 v5;
int v6;
unsigned __int64 v7;
__int64 v9;
struct B_TREE_NODE_HDR *LeafSibling;
v2 = *(_DWORD *)(a2 + 24);
v3 = 0i64;
if( v2 )
{
v5 = *(_QWORD *)a2 + 16i64 * (unsigned int)(v2 - 1);
*(_QWORD *)(v5 + 8) += 8i64;
v6 = **(_DWORD **)v5;
v7 = *(_QWORD *)v5 + 8 * ((unsigned __int16)v6 + 2i64);
if( *(_QWORD *)(v5 + 8) >= v7 )
{
v9 = *(_QWORD *)v5 + 16i64;
if( (_WORD)v6 )
v9 = v7 - 8;
*(_QWORD *)(v5 + 8) = v9;
LeafSibling = B_TREE<_SM_PAGE_KEY,ST_STORE::_ST_PAGE_ENTRY,4096,NP_CONTEXT,B_TREE_KEY_COMPARATOR<_SM_PAGE_KEY>>::BTreeFindLeafSiblingEx(
a1,
a2);
if( LeafSibling )
{
v3 = -1i64;
if( LeafSibling != (struct B_TREE_NODE_HDR *)-1i64 )
{
v3 = (__int64)LeafSibling + 16;
*(_QWORD *)(v5 + 8) = (char *)LeafSibling + 16;
}
}
}
else
{
return *(_QWORD *)(v5 + 8);
}
}
return v3;
}
Referenced by:
No references.