void * FUN_00404d94(char *param_1,char *param_2)

{
  char *pcVar1;
  void *pvVar2;
  
  pvVar2 = (void *)0x0;
  if (param_1 != (char *)0x0) {
    pvVar2 = malloc(0x10)   //possible issue identified - semgrep
    if (pvVar2 != (void *)0x0) {
      *(void **)((int)pvVar2 + 4) = pvVar2;
      *(void **)pvVar2 = pvVar2;
      pcVar1 = strdup(param_1)   //possible issue identified - semgrep
      *(char **)((int)pvVar2 + 8) = pcVar1;
      if (param_2 == (char *)0x0) {
        *(undefined4 *)((int)pvVar2 + 0xc) = 0;
      }
      else {
        pcVar1 = strdup(param_2)   //possible issue identified - semgrep
        *(char **)((int)pvVar2 + 0xc) = pcVar1;
      }
    }
  }
  return pvVar2;
}