/* WARNING: Removing unreachable block (ram,0x00414768) */

undefined4 FUN_00414518(int *param_1,undefined4 *param_2,undefined4 param_3)

{
  size_t sVar1;
  int iVar2;
  char *__s;
  int local_20;
  char *local_1c;
  
  if (param_1 == (int *)0x0) {
    param_2[1] = param_2;
    *param_2 = 0;
    return 0;
  }
  *param_2 = 0;
  param_2[1] = param_2;
  while( true ) {
    __s = strdup((char *)(param_1[7] + 1));
    if (__s == (char *)0x0) {
      dprintf(3,"configure_domain","failed to copy a %s domain name",param_3);
      return 0xffffffff;
    }
    sVar1 = strlen(__s);
    __s[sVar1 - 1] = '\0'   //possible issue identified - semgrep
    local_1c = __s;
    sVar1 = strlen(__s);
    local_20 = sVar1 + 1   //possible issue identified - semgrep
    iVar2 = dhcp6_find_listval(param_2,8,&local_20,0);
    if (iVar2 != 0) break;
    iVar2 = dhcp6_add_listval(param_2,8,&local_20,0);
    if (iVar2 == 0) {
      dprintf(3,"configure_domain","failed to add a %s name",param_3);
      goto LAB_004146b4;
    }
    dhcp6_vbuf_free(&local_20);
    param_1 = (int *)*param_1;
    if (param_1 == (int *)0x0) {
      return 0;
    }
  }
  dprintf(6,"configure_domain","%s:%d duplicated %s name: %s",configfilename,param_1[3],param_3,
          local_1c);
LAB_004146b4:
  dhcp6_vbuf_free(&local_20);
  return 0xffffffff;
}