/* DxeIplGetPeiProtocol @ 0xffc1701b size=0x74 */
int __thiscall DxeIplGetPeiProtocol(_DWORD *this)
{
int v2; // esi
int v3; // ebx
v2 = 0; /*0xffc17030*/
if ( *this ) /*0xffc17032*/
{
while ( 1 ) /*0xffc1703c*/
{
v3 = *this - v2 - 1; /*0xffc1703c*/
if ( !*((_QWORD *)this + 5 * v3 + 5) && !*((_QWORD *)this + 5 * v3 + 1) && !sub_FFC188F5(7) && !sub_FFC188F5(7) ) /*0xffc17071*/
break; /*0xffc17071*/
if ( (unsigned int)++v2 >= *this ) /*0xffc1707e*/
return v2; /*0xffc1707e*/
}
return v3; /*0xffc17086*/
}
return v2; /*0xffc1708a*/
}