VOID *__fastcall KeRegisterBoundCallback(VOID *a1){
VOID *v2;
struct EX_RUNDOWN_REF *v3;
struct EX_RUNDOWN_REF *v4;
v2 = 0i64;
if( (unsigned int)MmVerifyCallbackFunction(a1) )
{
v3 = ExAllocateCallBack((KSPIN_LOCK)a1, 0i64);
v4 = v3;
if( v3 )
{
if( ExCompareExchangeCallBack(&KiBoundsCallback, v3, 0i64) )
return a1;
else
SC_ENV::Free(v4);
}
}
return v2;
}