StringCbLengthW

HRESULT __stdcall StringCbLengthW(STRSAFE_PCNZWCH psz, size_t cbMax, size_t *pcbLength){
  size_t v3; 
  size_t v5; 
  size_t i; 
  HRESULT v7; 
  v3 = cbMax >> 1;
  v5 = 0i64;
  if( psz && v3 <= 0x7FFFFFFF )
  {
    for( i = v3; i; --i )
    {
      if( !*psz )
        break;
      ++psz;
    }
    v7 = i == 0 ? 0x80070057 : 0;
    if( i )
      v5 = v3 - i;
    else
      v5 = 0i64;
  }
  else
  {
    v7 = -2147024809;
  }
  if( pcbLength )
  {
    if( v7 < 0 )
      *pcbLength = 0i64;
    else
      *pcbLength = 2 * v5;
  }
  return v7;
}

Referenced by:

PfVerifyScenarioBuffer
SPCallServerHandleGetAppPolicyValue
SPCallServerHandleIsAppLicensed
SPCallServerHandleQueryPolicy
sub_1405F50F8
sub_140960EA4
sub_1409612A0
sub_14096222C
sub_140962840
sub_1409632A8