// SetupConfigAccessExtract - decompiled from Platform.efi
void *SetupConfigAccessExtract()
{
  void *ZeroPool; // rax
  void *ZeroPool_1; // rbx
  __int64 v3; // [rsp+40h] [rbp+8h] BYREF
  __int64 v4; // [rsp+48h] [rbp+10h] BYREF

  v3 = 0; /*0x968c*/
  if ( (*(__int64 (__fastcall **)(__int64, _QWORD, _QWORD, __int64 *, __int64 *))(qword_FF88 + 24))( /*0x96bc*/
         qword_FF88,
         0,
         0,
         &v3,
         &v4) != 0x8000000000000005uLL )
    return 0; /*0x96bc*/
  ZeroPool = AllocateZeroPool(v3 + 8); /*0x96cb*/
  ZeroPool_1 = ZeroPool; /*0x96d0*/
  if ( !ZeroPool ) /*0x96d6*/
    return 0; /*0x96d6*/
  if ( (*(__int64 (__fastcall **)(__int64, _QWORD, _QWORD, __int64 *, void *))(qword_FF88 + 24))( /*0x96f7*/
         qword_FF88,
         0,
         0,
         &v3,
         ZeroPool) < 0 )
  {
    ExtractConfig(); /*0x96fc*/
    return 0; /*0x96c0*/
  }
  return ZeroPool_1; /*0x9706*/
}
