// HiiSubCallback - decompiled from Platform.efi
__int64 __fastcall HiiSubCallback(CHAR16 *ZeroPool, _QWORD *a2, __int64 a3)
{
_BYTE DestinationBuffer[1504]; // [rsp+30h] [rbp-5E8h] BYREF
if ( !ZeroPool ) /*0x18c6*/
Assert( /*0x18db*/
(__int64)"e:\\hs\\PurleyRpPkg\\Platform\\Dxe\\Setup\\SetupPlatform.c",
1332,
(__int64)"Request != ((void *) 0)");
if ( !a2 ) /*0x18e3*/
Assert( /*0x18f8*/
(__int64)"e:\\hs\\PurleyRpPkg\\Platform\\Dxe\\Setup\\SetupPlatform.c",
1333,
(__int64)"Progress != ((void *) 0)");
if ( !a3 ) /*0x1900*/
Assert( /*0x1915*/
(__int64)"e:\\hs\\PurleyRpPkg\\Platform\\Dxe\\Setup\\SetupPlatform.c",
1334,
(__int64)"Results != ((void *) 0)");
if ( !ZeroPool || !a2 || !a3 ) /*0x1927*/
return 0x8000000000000002uLL; /*0x196a*/
*a2 = ZeroPool; /*0x192f*/
CopyMem(DestinationBuffer, &SourceBuffer_, 0x5D7u); /*0x193e*/
return (*(__int64 (__fastcall **)(__int64, CHAR16 *, _BYTE *, __int64, __int64, _QWORD *))(qword_FE68 + 24))( /*0x1984*/
qword_FE68,
ZeroPool,
DestinationBuffer,
1495,
a3,
a2);
}