Newer
Older
AMI-Aptio-BIOS-Reversed / Platform / PlatformSetupPolicy.c
@Ajax Dong Ajax Dong 2 days ago 1 KB Init
// PlatformSetupPolicy - decompiled from Platform.efi
_WORD *__fastcall PlatformSetupPolicy(_WORD *a1, _WORD *a2)
{
  _WORD *v3; // rbx
  _WORD *v5; // rcx
  _WORD *v6; // rdx
  __int16 v7; // ax

  v3 = a1; /*0x5722*/
  if ( 2 * SetupOptionQuery(a1) == -2 ) /*0x5737*/
    Assert((__int64)"e:\\hs\\MdePkg\\Library\\BaseLib\\String.c", 485, (__int64)"StrSize (String) != 0"); /*0x574c*/
  if ( 2 * SetupOptionQuery(a2) == -2 ) /*0x5764*/
    Assert((__int64)"e:\\hs\\MdePkg\\Library\\BaseLib\\String.c", 486, (__int64)"StrSize (SearchString) != 0"); /*0x5779*/
  if ( !*a2 ) /*0x577e*/
    return v3; /*0x5783*/
  while ( 1 ) /*0x57b6*/
  {
    v7 = *v3; /*0x57b6*/
    if ( !*v3 ) /*0x57b6*/
      return 0; /*0x57be*/
    v5 = a2; /*0x5788*/
    v6 = v3; /*0x578b*/
    if ( v7 == *a2 ) /*0x5791*/
    {
      do /*0x57a6*/
      {
        if ( !v7 ) /*0x5796*/
          break; /*0x5796*/
        ++v3; /*0x5798*/
        ++v5; /*0x579c*/
        v7 = *v3; /*0x57a0*/
      }
      while ( *v3 == *v5 ); /*0x57a6*/
    }
    if ( !*v5 ) /*0x57a8*/
      break; /*0x57a8*/
    if ( !*v3 ) /*0x57b0*/
      return 0; /*0x57b0*/
    v3 = v6 + 1; /*0x57b2*/
  }
  return v6; /*0x57ca*/
}