/* DxeIplFvProcessSections @ 0xffc157f3 size=0x60 */
int __cdecl DxeIplFvProcessSections(int a1, int a2)
{
int i; // edx
int result; // eax
int v4; // esi
for ( i = sub_FFC16008(); ; i = v4 + *(unsigned __int16 *)(v4 + 2) ) /*0xffc157f9*/
{
result = sub_FFC16033(2, i); /*0xffc15817*/
v4 = result; /*0xffc1581c*/
if ( !result ) /*0xffc15820*/
break; /*0xffc15820*/
if ( (unsigned __int8)sub_FFC16309(&unk_FFC18CD8) ) /*0xffc15805*/
{
sub_FFC161B3(*(_DWORD *)(v4 + 24), *(_DWORD *)(v4 + 28), *(_DWORD *)(v4 + 32), *(_DWORD *)(v4 + 36)); /*0xffc15830*/
*(_DWORD *)(v4 + 36) = 0; /*0xffc1583c*/
*(_DWORD *)(v4 + 24) = a1; /*0xffc15840*/
*(_DWORD *)(v4 + 28) = a2; /*0xffc15847*/
*(_DWORD *)(v4 + 32) = 0x100000; /*0xffc1584a*/
return a2; /*0xffc15843*/
}
}
return result; /*0xffc15822*/
}