/* 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]
sub_FFC162A8(&v4); /*0xffc15c68*/
v5 = (unsigned __int64)(v4 + 1048544) >> 32; /*0xffc15c83*/
__lgdt("G"); /*0xffc15c90*/
v5 = sub_FFC15D00(); /*0xffc15c9f*/
sub_FFC1708F(v0, "PeiEnd"); /*0xffc15ca5*/
sub_FFC16201(&unk_FFC18A70); /*0xffc15cb2*/
sub_FFC17107(v1, "PeiEnd"); /*0xffc15cbc*/
sub_FFC17107(v2, "DxeIpl"); /*0xffc15cc6*/
__writecr3(v5); /*0xffc15cd1*/
DxeIplFvProcessSections(v4, SHIDWORD(v4)); /*0xffc15cdc*/
return DxeIplZeroMem(); /*0xffc15cf9*/
}