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