RtlpFcLowerBounds

unsigned __int64 __fastcall RtlpFcLowerBounds(
        __int64 a1,
        unsigned __int64 a2,
        unsigned __int64 a3,
        __int64 a4,
        int (__fastcall *a5)(__int64, unsigned __int64)){
  unsigned __int64 v6; 
  unsigned __int64 v7; 
  unsigned __int64 v8; 
  unsigned __int64 v10; 

  v6 = a3;
  v7 = a2;
  v8 = a2 + a4 * a3;
  if( a2 < v8 )
  {
    do
    {
      v10 = v7 + a4 * (v6 >> 1);
      if( a5(a1, v10) > 0 )
      {
        v7 = v10 + a4;
        v6 += -1i64 - (v6 >> 1);
      }
      else
      {
        v6 >>= 1;
        v8 = v10;
      }
    }
    while( v7 < v8 );
  }
  return v7;
}

Referenced by:

RtlpFcQueryFeatureConfigurationFromBuffers