undefined4 * FUN_00414500(int param_1,undefined4 param_2,int param_3,int param_4,undefined4 param_5)

{
  int iVar1;
  undefined4 *puVar2;
  undefined *puVar3;
  undefined4 uVar4;
  char *pcVar5;
  undefined4 *puVar6;
  undefined4 local_28;
  undefined4 local_24;
  
  iVar1 = duidcpy(&local_28,param_5);
  if (iVar1 == 0) {
    for (puVar6 = *(undefined4 **)(param_3 + 0x10); puVar6 != (undefined4 *)0x0;
        puVar6 = (undefined4 *)*puVar6) {
      if ((param_1 == *(int *)(puVar6[2] + 8)) &&
         (*(int *)(param_4 + 0xc) == *(int *)(puVar6[2] + 0xc))) {
        duidfree(puVar6 + 9);
        puVar6[3] = *(undefined4 *)(param_4 + 0x10);
        uVar4 = *(undefined4 *)(param_4 + 0x14);
        puVar6[8] = param_2;
        puVar6[4] = uVar4;
        puVar6[9] = local_28;
        puVar6[10] = local_24;
        pcVar5 = "update";
        goto joined_r0x004145e8;
      }
    }
    puVar6 = (undefined4 *)malloc(0x34)   //possible issue identified - semgrep
    if (puVar6 == (undefined4 *)0x0) {
      dprintf(5,"get_ia","memory allocation failed");
      duidfree(&local_28);
    }
    else {
      puVar6[1] = 0;
      puVar6[2] = 0;
      puVar6[3] = 0;
      puVar6[4] = 0;
      puVar6[8] = 0;
      puVar6[9] = 0;
      puVar6[10] = 0;
      puVar6[6] = 0;
      puVar6[7] = 0;
      puVar6[0xb] = 0;
      puVar6[0xc] = 0;
      puVar2 = *(undefined4 **)(param_3 + 0x14);
      *puVar6 = 0;
      puVar6[1] = puVar2;
      puVar6[2] = param_3;
      *puVar2 = puVar6;
      puVar6[5] = 0;
      *(undefined4 **)(param_3 + 0x14) = puVar6;
      puVar6[3] = *(undefined4 *)(param_4 + 0x10);
      uVar4 = *(undefined4 *)(param_4 + 0x14);
      puVar6[8] = param_2;
      puVar6[4] = uVar4;
      puVar6[9] = local_28;
      puVar6[10] = local_24;
      pcVar5 = "make";
joined_r0x004145e8:
      if (param_1 == 0) {
        puVar3 = &DAT_00429fec;
      }
      else if (param_1 == 1) {
        puVar3 = &DAT_00429fe8;
      }
      else {
        puVar3 = &DAT_00427600;
      }
      dprintf(7,"get_ia","%s an IA: %s-%lu",pcVar5,puVar3,*(undefined4 *)(puVar6[2] + 0xc));
    }
  }
  else {
    dprintf(5,"get_ia","failed to copy server ID");
    puVar6 = (undefined4 *)0x0;
  }
  return puVar6;
}