Newer
Older
AMI-Aptio-BIOS-Reversed / Platform / SetupIfrNavigator.c
@Ajax Dong Ajax Dong 2 days ago 1 KB Init
// SetupIfrNavigator - decompiled from Platform.efi
__int64 SetupIfrNavigator()
{
  _WORD *v0; // rax
  _WORD *v1; // rcx
  const char *GuidHob____((void__)_0); // r8
  __int64 n3975; // rdx
  char n10; // al
  char v5; // al
  __int64 result; // rax
  _DWORD v7[4]; // [rsp+20h] [rbp-10h] BYREF
  char v8; // [rsp+40h] [rbp+10h] BYREF

  v7[0] = 2146670241; /*0x32d9*/
  v7[1] = 1126100605; /*0x32e0*/
  v7[2] = -896576582; /*0x32e7*/
  v7[3] = -1069253614; /*0x32ee*/
  v8 = 0; /*0x32f5*/
  v0 = HiiStringToToken2((__int64)v7); /*0x32f9*/
  v1 = v0; /*0x32fe*/
  if ( !v0 ) /*0x3304*/
  {
    GuidHob____((void__)_0) = "GuidHob != ((void *) 0)"; /*0x3306*/
    n3975 = 3975; /*0x330d*/
    return Assert( /*0x338a*/
             (__int64)"e:\\hs\\PurleyRpPkg\\Platform\\Dxe\\Setup\\SetupPlatform.c",
             n3975,
             (__int64)GuidHob____((void__)_0));
  }
  if ( *((_DWORD *)v0 + 548) == 1 ) /*0x331f*/
  {
    n10 = *((_BYTE *)v0 + 1801); /*0x3321*/
    if ( (n10 == 10 || n10 == 13) && *((_BYTE *)v1 + 1807) >= 4u ) /*0x3336*/
    {
      v5 = v8; /*0x333f*/
      if ( *((_BYTE *)v1 + 2191) ) /*0x3338*/
        v5 = 1; /*0x3343*/
      v8 = v5; /*0x3346*/
    }
  }
  result = SetupVariableReadback((__int64)&unk_FB00, 0x83u, (__int64)&v8); /*0x3359*/
  if ( result < 0 ) /*0x3361*/
  {
    DebugPrint(0x80000000, "\nASSERT_EFI_ERROR (Status = %r)\n", result); /*0x3372*/
    GuidHob____((void__)_0) = "!EFI_ERROR (Status)"; /*0x3377*/
    n3975 = 3991; /*0x337e*/
    return Assert( /*0x337e*/
             (__int64)"e:\\hs\\PurleyRpPkg\\Platform\\Dxe\\Setup\\SetupPlatform.c",
             n3975,
             (__int64)GuidHob____((void__)_0));
  }
  return result; /*0x338f*/
}