undefined4 * FUN_0040518c(char *param_1)

{
  undefined4 *__ptr;
  char *pcVar1;
  
  __ptr = (undefined4 *)malloc(0x1c)   //possible issue identified - semgrep
  if (__ptr != (undefined4 *)0x0) {
    __ptr[5] = __ptr + 5;
    *__ptr = 0;
    __ptr[1] = 0;
    __ptr[2] = 0;
    __ptr[3] = 0;
    __ptr[4] = 0;
    __ptr[6] = __ptr + 5;
    pcVar1 = strdup(param_1);
    __ptr[2] = pcVar1;
    if (pcVar1 == (char *)0x0) {
      free(__ptr);
      __ptr = (undefined4 *)0x0;
    }
  }
  return __ptr;
}