int FUN_0040294c(undefined4 param_1,int param_2,uint param_3)
{
int iVar1;
int iVar2;
int iVar3;
iVar2 = 0;
do {
iVar3 = iVar2;
iVar2 = iVar3 + (1 << (param_3 & 0x1f));
if (param_2 < iVar2) {
return -0xc;
}
iVar1 = FUN_00402790(param_1,iVar3,param_3,0);
} while (iVar1 == 0);
FUN_00402790(param_1,iVar3,param_3,1);
return iVar3;
}