int FUN_0041c9e8(int param_1,char *param_2,int param_3,int *param_4)

{
  int iVar1;
  int iVar2;
  char *pcVar3;
  int local_18 [2];
  
  local_18[0] = 0;
  if (((param_1 != 0) && (param_2 != (char *)0x0)) && (param_3 != 0)) {
    iVar2 = ixmlDocument_createElementEx(param_1,param_3,local_18);
    iVar1 = local_18[0];
    if (iVar2 == 0) {
      pcVar3 = strdup(param_2)   //possible issue identified - semgrep
      *(char **)(iVar1 + 0xc) = pcVar3;
      if ((*(int *)(local_18[0] + 0xc) == 0) ||
         (iVar2 = ixmlNode_setNodeName(local_18[0],param_3), iVar2 != 0)) {
        ixmlElement_free(local_18[0]);
        *param_4 = 0;
        return 0x66;
      }
      *(undefined4 *)(local_18[0] + 4) = 0;
      iVar2 = 0;
    }
    *param_4 = local_18[0];
    return iVar2;
  }
  *param_4 = 0;
  return 0x69;
}