// 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);
}
