undefined4 FUN_004050a4(int param_1)

{
  ushort uVar1;
  undefined1 uVar2;
  char *pcVar3;
  undefined4 uVar4;
  undefined4 *puVar5;
  undefined4 *puVar6;
  undefined1 auStack_90 [32];
  char acStack_70 [32];
  char acStack_50 [32];
  char *local_30;
  
  pcVar3 = inet_ntoa((in_addr)*(in_addr_t *)(param_1 + 8));
  strcpy(acStack_50,pcVar3)   //possible issue identified - semgrep
  puVar6 = (undefined4 *)0x0;
  local_30 = acStack_50;
  while( true ) {
    if (puVar6 == (undefined4 *)0x0) {
      puVar6 = *(undefined4 **)(param_1 + 0xc);
    }
    else {
      puVar6 = (undefined4 *)*puVar6;
    }
    if ((puVar6 == (undefined4 *)(param_1 + 0xc)) || (puVar6 == (undefined4 *)0x0)) break;
    memset(auStack_90,0,0x20)   //possible issue identified - semgrep
    puVar5 = (undefined4 *)0x0;
    while( true ) {
      if (puVar5 == (undefined4 *)0x0) {
        puVar5 = *(undefined4 **)(param_1 + 0x14);
      }
      else {
        puVar5 = (undefined4 *)*puVar5;
      }
      if ((puVar5 == (undefined4 *)(param_1 + 0x14)) || (puVar5 == (undefined4 *)0x0)) break;
      uVar1 = *(ushort *)(puVar5 + 5);
      uVar2 = vifs_get_threshold((uint)uVar1);
      auStack_90[uVar1] = uVar2;
    }
    pcVar3 = inet_ntoa((in_addr)puVar6[2]);
    strcpy(acStack_70,pcVar3)   //possible issue identified - semgrep
    uVar4 = vifs_get_name(*(undefined2 *)(puVar6 + 3));
    verbose("%s: activate route %s -> %s from %s [%d]\n","update_origin",acStack_70,local_30,uVar4,
            *(undefined2 *)(puVar6 + 3));
    mrtapi_add_mfc(puVar6[2],*(undefined4 *)(param_1 + 8),*(undefined2 *)(puVar6 + 3),auStack_90);
  }
  return 0;
}