// SetupValueCheck - decompiled from Platform.efi
__int64 __fastcall SetupValueCheck(_WORD *ZeroPool, _WORD *GUID_, unsigned __int64 n0xF4240)
{
unsigned __int64 n0xF4240_1; // rdi
_WORD *ZeroPool_1; // rbx
n0xF4240_1 = n0xF4240; /*0x563e*/
ZeroPool_1 = ZeroPool; /*0x5644*/
if ( !n0xF4240 ) /*0x564a*/
return 0; /*0x564c*/
if ( 2 * SetupOptionQuery(ZeroPool) == -2 ) /*0x5663*/
Assert((__int64)"e:\\hs\\MdePkg\\Library\\BaseLib\\String.c", 310, (__int64)"StrSize (FirstString) != 0"); /*0x5678*/
if ( 2 * SetupOptionQuery(GUID_) == -2 ) /*0x5690*/
Assert((__int64)"e:\\hs\\MdePkg\\Library\\BaseLib\\String.c", 311, (__int64)"StrSize (SecondString) != 0"); /*0x56a5*/
if ( n0xF4240_1 > 0xF4240 ) /*0x56b1*/
Assert( /*0x56c6*/
(__int64)"e:\\hs\\MdePkg\\Library\\BaseLib\\String.c",
314,
(__int64)"Length <= _gPcd_FixedAtBuild_PcdMaximumUnicodeStringLength");
while ( *ZeroPool_1 && *GUID_ && *ZeroPool_1 == *GUID_ && n0xF4240_1 > 1 ) /*0x56db*/
{
++ZeroPool_1; /*0x56dd*/
++GUID_; /*0x56e1*/
--n0xF4240_1; /*0x56e5*/
}
return (unsigned __int16)*ZeroPool_1 - (unsigned __int16)*GUID_; /*0x570a*/
}