/** @file
SlotDataUpdateDxeNeonCityEPRP.c -- SlotDataUpdateDxeNeonCityEPRP
Auto-converted from IDA decompiler output.
Functions: 1
Copyright (c) HR650X BIOS Decompilation Project
**/
#include "SlotDataUpdateDxeNeonCityEPRP.h"
// Function: ModuleEntryPoint
EFI_STATUS ModuleEntryPoint(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable) { EFI_STATUS result; // rax __int64 v4; // [rsp+30h] [rbp+8h] BYREF ::ImageHandle = (__int64)ImageHandle; if ( !ImageHandle ) sub_5C0( "e:\\hs\\MdePkg\\Library\\UefiBootServicesTableLib\\UefiBootServicesTableLib.c", 51, "gImageHandle != ((void *) 0)"); ::SystemTable = (__int64)SystemTable; if ( !SystemTable ) sub_5C0("e:\\hs\\MdePkg\\Library\\UefiBootServicesTableLib\\UefiBootServicesTableLib.c", 57, "gST != ((void *) 0)"); BootServices = (__int64)SystemTable->BootServices; if ( !BootServices ) sub_5C0("e:\\hs\\MdePkg\\Library\\UefiBootServicesTableLib\\UefiBootServicesTableLib.c", 63, "gBS != ((void *) 0)"); RuntimeServices = (__int64)SystemTable->RuntimeServices; if ( !RuntimeServices ) sub_5C0( "e:\\hs\\MdePkg\\Library\\UefiRuntimeServicesTableLib\\UefiRuntimeServicesTableLib.c", 47, "gRT != ((void *) 0)"); sub_600(); v4 = 0; sub_538(0x80000000LL, "UBA:SlotDataUpdate-TypeNeonCityEPRP
"); result = (*(__int64 ( **)(void *, _QWORD, __int64 *))(BootServices + 320))(&unk_B50, 0, &v4); if ( (result & 0x8000000000000000uLL) == 0LL ) { result = (*(__int64 ( **)(__int64, void *, void *, __int64))(v4 + 16))(v4, &unk_B60, &unk_B80, 32); if ( (result & 0x8000000000000000uLL) == 0LL ) return (*(EFI_STATUS ( **)(__int64, void *, void *, __int64))(v4 + 16))(v4, &unk_B60, &unk_BA0, 40); } return result; }