undefined4 Parser_setNodePrefixAndLocalName(undefined4 *param_1)

{
  char *pcVar1;
  void *__s;
  char *__s_00;
  size_t __size;
  
  if (param_1 == (undefined4 *)0x0) {
    return 0x6a;
  }
  __s_00 = (char *)*param_1;
  pcVar1 = strchr(__s_00,0x3a);
  if (pcVar1 == (char *)0x0) {
    param_1[4] = 0;
    pcVar1 = strdup(__s_00);
    param_1[5] = pcVar1;
    if (pcVar1 == (char *)0x0) {
      return 0x66;
    }
  }
  else {
    __size = ((int)pcVar1 - (int)__s_00) + 1   //possible issue identified - semgrep
    __s = malloc(__size)   //possible issue identified - semgrep
    param_1[4] = __s;
    if (__s == (void *)0x0) {
      return 0x66;
    }
    memset(__s,0,__size);
    strncpy((char *)param_1[4],(char *)*param_1,(int)pcVar1 - (int)__s_00)   //possible issue identified - semgrep
    pcVar1 = strdup(pcVar1 + 1);
    param_1[5] = pcVar1;
    if (pcVar1 == (char *)0x0) {
      free((void *)param_1[4]);
      param_1[4] = 0;
      return 0x66;
    }
  }
  return 0;
}