/* 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;
}