// SetupActionHandler - decompiled from Platform.efi
unsigned __int64 SetupActionHandler()
{
_WORD *v0; // rax
_WORD *v1; // rbx
__int64 v2; // rcx
__int64 v4; // [rsp+20h] [rbp-E0h]
_BYTE v5[95]; // [rsp+30h] [rbp-D0h] BYREF
char v6; // [rsp+8Fh] [rbp-71h]
char v7; // [rsp+90h] [rbp-70h]
char v8; // [rsp+91h] [rbp-6Fh]
char v9; // [rsp+92h] [rbp-6Eh]
char v10; // [rsp+93h] [rbp-6Dh]
char v11; // [rsp+94h] [rbp-6Ch]
__int16 v12; // [rsp+95h] [rbp-6Bh]
char v13; // [rsp+97h] [rbp-69h]
char v14; // [rsp+99h] [rbp-67h]
char v15; // [rsp+9Ah] [rbp-66h]
char v16; // [rsp+9Bh] [rbp-65h]
char v17; // [rsp+9Ch] [rbp-64h]
char v18; // [rsp+9Dh] [rbp-63h]
char v19; // [rsp+9Eh] [rbp-62h]
__int16 v20; // [rsp+9Fh] [rbp-61h]
char v21; // [rsp+A1h] [rbp-5Fh]
__int16 v22; // [rsp+A2h] [rbp-5Eh]
v0 = HiiStringToToken2((__int64)&unk_F9E0); /*0x28dc*/
if ( v0 )
{
v1 = v0 + 12; /*0x2903*/
SetupInfoRecordsDisplay((__int64)&unk_FAB0, (__int64)L"SocketMemoryConfig", 514, (__int64)v5); /*0x2907*/
if ( (unsigned __int8)(v6 - 2) <= 1u && v1 )
{
v2 = (unsigned __int8)(v6 - 2); /*0x2926*/
v7 = *((_BYTE *)v1 + 27 * v2 + 24304); /*0x2934*/
v8 = *((_BYTE *)v1 + 27 * v2 + 24305); /*0x293e*/
v9 = *((_BYTE *)v1 + 27 * v2 + 24306); /*0x2948*/
v10 = *((_BYTE *)v1 + 27 * v2 + 24310); /*0x2952*/
v11 = *((_BYTE *)v1 + 27 * v2 + 24312); /*0x295c*/
v12 = *(_WORD *)((char *)v1 + 27 * v2 + 24327); /*0x296e*/
v13 = *((_BYTE *)v1 + 27 * v2 + 24307); /*0x2979*/
v14 = *((_BYTE *)v1 + 27 * v2 + 24311); /*0x2983*/
v15 = *((_BYTE *)v1 + 27 * v2 + 24309); /*0x298d*/
v16 = *((_BYTE *)v1 + 27 * v2 + 24313); /*0x2997*/
v17 = *((_BYTE *)v1 + 27 * v2 + 24314); /*0x29a1*/
v18 = *((_BYTE *)v1 + 27 * v2 + 24315); /*0x29ab*/
v19 = *((_BYTE *)v1 + 27 * v2 + 24316); /*0x29b5*/
v21 = *((_BYTE *)v1 + 27 * v2 + 24317); /*0x29bf*/
v20 = *(_WORD *)((char *)v1 + 27 * v2 + 24325); /*0x29ca*/
v22 = *(_WORD *)((char *)v1 + 27 * v2 + 24318); /*0x29d6*/
}
else
{
v21 = v6 != 0 ? v21 : 0;
}
SetupRecordsNavigate((__int64)&unk_FAB0, (__int64)L"SocketMemoryConfig", 514, (__int64)v5, v4); /*0x29fc*/
return 0; /*0x2a01*/
}
else
{
DebugPrint(0x80000000, "\nASSERT_EFI_ERROR (Status = %r)\n", 0x8000000000000007uLL); /*0x2a1e*/
Assert((__int64)"e:\\hs\\PurleyRpPkg\\Platform\\Dxe\\Setup\\SetupPlatform.c", 2586, (__int64)"!EFI_ERROR (Status)"); /*0x2a36*/
return 0x8000000000000007uLL; /*0x2a3b*/
}
}