/* DxeIplGetBootModeGuid @ 0xffc16056 size=0x2f */
_WORD *__fastcall DxeIplGetBootModeGuid(int a1, _WORD *i)
{
_WORD *v3; // esi
while ( 1 ) /*0xffc16079*/
{
v3 = DxeIplLocatePpi(4, i); /*0xffc16079*/
if ( !v3 || (unsigned __int8)sub_FFC16309(a1) ) /*0xffc16062*/
break; /*0xffc16062*/
i = (_WORD *)((char *)v3 + (unsigned __int16)v3[1]); /*0xffc1606f*/
}
return v3; /*0xffc1607f*/
}