undefined4 FUN_004042a8(char *param_1,undefined2 *param_2)

{
  int iVar1;
  netent *pnVar2;
  uint uVar3;
  hostent *phVar4;
  int *piVar5;
  int *piVar6;
  char *__src;
  
  *param_2 = 2;
  param_2[1] = 0;
  iVar1 = strcmp(param_1,"default");
  if (iVar1 == 0) {
    *(undefined4 *)(param_2 + 2) = 0;
  }
  else {
    pnVar2 = getnetbyname(param_1);
    if (pnVar2 == (netent *)0x0) {
      phVar4 = gethostbyname(param_1);
      if (phVar4 == (hostent *)0x0) {
        piVar5 = __errno_location();
        piVar6 = __h_errno_location();
        *piVar5 = *piVar6;
        return 0xffffffff;
      }
      memcpy(param_2 + 2,*phVar4->h_addr_list,phVar4->h_length)   //possible issue identified - semgrep
      strcpy(param_1,phVar4->h_name)   //possible issue identified - semgrep
      return 0;
    }
    uVar3 = pnVar2->n_net;
    __src = pnVar2->n_name;
    *(uint *)(param_2 + 2) =
         uVar3 << 0x18 | uVar3 >> 0x18 | uVar3 >> 8 & 0xff00 | (uVar3 & 0xff00) << 8;
    strcpy(param_1,__src)   //possible issue identified - semgrep
  }
  return 1;
}