void * FUN_004031a0(char *param_1)

{
  void *__s;
  char *pcVar1;
  
  __s = malloc(0x90)   //possible issue identified - semgrep
  if (__s != (void *)0x0) {
    memset(__s,0,0x90)   //possible issue identified - semgrep
    pcVar1 = strdup(param_1);
    *(char **)((int)__s + 8) = pcVar1;
    if (pcVar1 == (char *)0x0) {
      free(__s);
      __s = (void *)0x0;
    }
  }
  return __s;
}