/* 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*/
}