B_TREE<_SM_PAGE_KEY,ST_STORE::_ST_PAGE_ENTRY,4096,NP_CONTEXT,B_TREE_KEY_COMPARATOR<_SM_PAGE_KEY>>::BTreeFindLeafSibling
struct B_TREE_NODE_HDR *__fastcall B_TREE<_SM_PAGE_KEY,ST_STORE::_ST_PAGE_ENTRY,4096,NP_CONTEXT,B_TREE_KEY_COMPARATOR<_SM_PAGE_KEY>>::BTreeFindLeafSibling(
__int64 a1,
__int64 a2){
struct B_TREE_NODE_HDR *LeafSibling;
unsigned int v4;
unsigned __int64 v5;
__int64 v6;
signed __int64 v7;
void *v8;
unsigned int v9;
void *v10;
__int64 *v11;
__int64 *v12;
void **v13;
__int64 *v14;
void **v15;
__int64 *v17;
__int128 v18;
int v19;
unsigned int v20;
int v21;
int v22;
LeafSibling = 0i64;
if( *(_QWORD *)a1 )
{
v4 = *(unsigned __int8 *)(*(_QWORD *)a1 + 2i64);
if( v4 == 1 )
return LeafSibling;
}
else
{
v4 = 0;
}
v5 = 16i64 * v4;
v6 = v5 + 15;
if( v5 + 15 <= v5 )
v6 = 0xFFFFFFFFFFFFFF0i64;
v7 = v6 & 0xFFFFFFFFFFFFFFF0ui64;
v8 = alloca(v7);
v9 = *(_DWORD *)(a2 + 16);
v22 = 0;
v10 = alloca(v7);
v19 = 0;
v21 = 1;
v18 = 0i64;
v20 = v4;
v17 = (__int64 *)&v17;
B_TREE<_SM_PAGE_KEY,ST_STORE::_ST_PAGE_ENTRY,4096,NP_CONTEXT,B_TREE_KEY_COMPARATOR<_SM_PAGE_KEY>>::BTreeSearchKey(
a1,
v9,
(__int64)&v17);
v11 = (&v17)[2 * v4 - 3];
v12 = (&v17)[2 * v4 - 4];
v13 = (void **)(v11 - 1);
v14 = v12 + 2;
v15 = (void **)(v12 + 1);
if( v11 <= v14 )
v13 = v15;
LeafSibling = B_TREE<_SM_PAGE_KEY,ST_STORE::_ST_PAGE_ENTRY,4096,NP_CONTEXT,B_TREE_KEY_COMPARATOR<_SM_PAGE_KEY>>::BTreeFindLeafSiblingEx(
a1,
(__int64)&v17);
if( v13 && **(_DWORD **)(a1 + 16) != -1 )
NP_CONTEXT::NpLeafDerefInternal((struct NP_CONTEXT::NP_CTX *)(a1 + 16), v13);
return LeafSibling;
}
Referenced by:
No references.