// SetupIfrExtractor - decompiled from Platform.efi
__int64 __fastcall SetupIfrExtractor(__int64 a1, __int64 a2, double a3, double a4)
{
  __int64 v4; // rax
  __int64 v5; // rax
  __int64 v6; // rax
  __int64 v7; // rax
  __int64 v8; // rax
  __int64 v9; // rax
  __int64 Uint32; // rax
  __int64 v11; // rax
  __int64 v12; // rax

  DebugPrint(0x40u, "%a() in %a module\n", a3, a4); /*0x919f*/
  if ( qword_FF40 ) /*0x91c8*/
  {
    v4 = (*(__int64 (**)(void))(BootServices + 112))(); /*0x91d1*/
    if ( v4 < 0 ) /*0x91d7*/
    {
      DebugPrint(0x80000000, "\nASSERT_EFI_ERROR (Status = %r)\n", v4); /*0x91e1*/
      Assert( /*0x91f1*/
        (__int64)"e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c",
        707,
        (__int64)"!EFI_ERROR (Status)");
    }
  }
  v5 = qword_FF48; /*0x91f6*/
  if ( qword_FF48 ) /*0x9200*/
  {
    if ( qword_FF50 ) /*0x920e*/
    {
      v6 = (*(__int64 (__fastcall **)(void *, _QWORD, __int64 *))(qword_FF48 + 192))(&unk_FA70, 0, &qword_FF50); /*0x9220*/
      if ( v6 < 0 ) /*0x9229*/
      {
        DebugPrint(0x80000000, "\nASSERT_EFI_ERROR (Status = %r)\n", v6); /*0x9234*/
        Assert( /*0x9244*/
          (__int64)"e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c",
          720,
          (__int64)"!EFI_ERROR (Status)");
      }
      v5 = qword_FF48; /*0x9249*/
    }
    if ( qword_FF30 ) /*0x9258*/
    {
      v7 = (*(__int64 (__fastcall **)(void *, _QWORD, __int64 *))(v5 + 192))(&unk_FA40, 0, &qword_FF30); /*0x926a*/
      if ( v7 < 0 ) /*0x9273*/
      {
        DebugPrint(0x80000000, "\nASSERT_EFI_ERROR (Status = %r)\n", v7); /*0x927e*/
        Assert( /*0x928e*/
          (__int64)"e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c",
          731,
          (__int64)"!EFI_ERROR (Status)");
      }
      v5 = qword_FF48; /*0x9293*/
    }
    if ( qword_FF58 ) /*0x92a2*/
    {
      v8 = (*(__int64 (__fastcall **)(void *, _QWORD, __int64 *))(v5 + 192))(&unk_FB70, 0, &qword_FF58); /*0x92b4*/
      if ( v8 < 0 ) /*0x92bd*/
      {
        DebugPrint(0x80000000, "\nASSERT_EFI_ERROR (Status = %r)\n", v8); /*0x92c8*/
        Assert( /*0x92d8*/
          (__int64)"e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c",
          742,
          (__int64)"!EFI_ERROR (Status)");
      }
      v5 = qword_FF48; /*0x92dd*/
    }
  }
  if ( byte_FF38 ) /*0x92eb*/
  {
    v9 = (*(__int64 (__fastcall **)(__int64, __int64))(BootServices + 48))(Buffer, 1); /*0x9300*/
    if ( v9 < 0 ) /*0x9306*/
    {
      DebugPrint(0x80000000, "\nASSERT_EFI_ERROR (Status = %r)\n", v9); /*0x9311*/
      Assert( /*0x9321*/
        (__int64)"e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c",
        751,
        (__int64)"!EFI_ERROR (Status)");
    }
    Uint32 = GetUint32(137, 0); /*0x932d*/
    if ( Uint32 < 0 ) /*0x9335*/
    {
      DebugPrint(0x80000000, "\nASSERT_EFI_ERROR (Status = %r)\n", Uint32); /*0x9340*/
      Assert( /*0x9350*/
        (__int64)"e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c",
        753,
        (__int64)"!EFI_ERROR (Status)");
    }
    v5 = qword_FF48; /*0x9355*/
  }
  if ( v5 && byte_FF60 ) /*0x9368*/
  {
    v11 = (*(__int64 (__fastcall **)(__int64))(v5 + 88))(Buffer_0); /*0x9371*/
    if ( v11 < 0 ) /*0x9377*/
    {
      DebugPrint(0x80000000, "\nASSERT_EFI_ERROR (Status = %r)\n", v11); /*0x9382*/
      Assert( /*0x9392*/
        (__int64)"e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c",
        757,
        (__int64)"!EFI_ERROR (Status)");
    }
    v12 = GetUint32(138, 0); /*0x939e*/
    if ( v12 < 0 ) /*0x93a6*/
    {
      DebugPrint(0x80000000, "\nASSERT_EFI_ERROR (Status = %r)\n", v12); /*0x93b1*/
      Assert( /*0x93c1*/
        (__int64)"e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c",
        759,
        (__int64)"!EFI_ERROR (Status)");
    }
  }
  return 0; /*0x93d7*/
}
