/* DxeIplTransferToDxeCore @ 0xffc15c56 size=0xaa */
int DxeIplTransferToDxeCore()
{
  int v0; // ecx
  int v1; // ecx
  int v2; // ecx
  __int64 v4; // [esp+Ch] [ebp-10h] BYREF
  unsigned __int32 v5; // [esp+18h] [ebp-4h]

  DxeIplFvGetFileSize(&v4); /*0xffc15c68*/
  v5 = (unsigned __int64)(v4 + 1048544) >> 32; /*0xffc15c83*/
  __lgdt("G"); /*0xffc15c90*/
  v5 = DxeIplCreatePageTables(); /*0xffc15c9f*/
  DxeIplDebugPrintGuid(v0, "PeiEnd"); /*0xffc15ca5*/
  DxeIplReportStatus(&unk_FFC18A70); /*0xffc15cb2*/
  DxeIplGetBootModeFromHob(v1, "PeiEnd"); /*0xffc15cbc*/
  DxeIplGetBootModeFromHob(v2, "DxeIpl"); /*0xffc15cc6*/
  __writecr3(v5); /*0xffc15cd1*/
  DxeIplFvProcessSections(v4, SHIDWORD(v4)); /*0xffc15cdc*/
  return DxeIplZeroMem(); /*0xffc15cf9*/
}
