/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
int __iptcc_bsearch_chain_index(char *param_1,int param_2,uint *param_3,int param_4,int param_5)
{
uint uVar1;
int iVar2;
int iVar3;
uint uVar4;
uint uVar5;
uVar5 = *(uint *)(param_4 + 0x20);
uVar1 = uVar5 >> 1;
if (uVar5 != 0) {
while (uVar4 = uVar1, iVar3 = *(int *)(*(int *)(param_4 + 0x1c) + uVar4 * 4), iVar3 != 0) {
if (param_5 == 0) {
iVar2 = strcmp(param_1,(char *)(iVar3 + 8));
*param_3 = uVar4;
}
else {
if (param_5 != 1) {
fprintf(_stderr,(char *)0x5160,param_5) //possible issue identified - semgrep
/* WARNING: Subroutine does not return */
abort();
}
iVar2 = param_2 - *(int *)(iVar3 + 0x60);
*param_3 = uVar4;
}
if (iVar2 == 0) {
return iVar3;
}
if (iVar2 < 0) {
if (uVar4 == 0) {
return iVar3;
}
uVar1 = uVar4 >> 1;
uVar5 = uVar4;
}
else {
if (uVar4 == *(int *)(param_4 + 0x20) - 1U) {
return iVar3;
}
if (param_5 == 0) {
iVar2 = strcmp(param_1,(char *)(*(int *)(*(int *)(param_4 + 0x1c) + (uVar4 + 1) * 4) + 8))
;
LAB_00011ed4:
if (iVar2 < 0) {
return iVar3;
}
}
else if (param_5 == 1) {
iVar2 = param_2 - *(int *)(*(int *)(*(int *)(param_4 + 0x1c) + (uVar4 + 1) * 4) + 0x60);
goto LAB_00011ed4;
}
uVar1 = uVar5 + uVar4 >> 1;
}
}
fprintf(_stderr,(char *)0x5138,uVar4) //possible issue identified - semgrep
}
return param_4 + 8;
}