RtlpRemoveUCRBlock
VOID __stdcall RtlpRemoveUCRBlock(_HEAP_UCR_DESCRIPTOR *UCRBlock){
__int64 v1;
VOID *v2;
_QWORD *v3;
_QWORD *v4;
VOID **v5;
VOID *v6;
VOID *Param2;
_QWORD *v8;
VOID **v9;
VOID *v10;
_QWORD *v11;
v2 = (VOID *)(v1 + 16);
v3 = (_QWORD *)v1;
v4 = *(_QWORD **)(v1 + 16);
v5 = *(VOID ***)(v1 + 24);
v6 = (VOID *)v4[1];
Param2 = *v5;
if( *v5 == v6 && Param2 == v2 )
{
*v5 = v4;
v4[1] = v5;
}
else
{
RtlpLogHeapFailure(heap_failure_freelists_corruption, 0i64, v2, v6, Param2);
}
if( v3[5] )
{
v8 = (_QWORD *)*v3;
v9 = (VOID **)v3[1];
v10 = *(VOID **)(*v3 + 8i64);
v11 = *v9;
if( *v9 == v10 && v11 == v3 )
{
*v9 = v8;
v8[1] = v9;
}
else
{
RtlpLogHeapFailure(heap_failure_freelists_corruption, 0i64, v3, v10, v11);
}
}
}Referenced by:
RtlpDeCommitFreeBlock
RtlpFindAndCommitPages