int xmldb_ephp_load(int param_1,undefined4 param_2)

{
  int iVar1;
  int iVar2;
  undefined4 uVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  undefined4 **local_28;
  undefined4 **local_24;
  
  uVar5 = *(undefined4 *)(param_1 + 8);
  uVar4 = *(undefined4 *)(param_1 + 0xc);
  *(undefined4 *)(param_1 + 8) = param_2;
  *(undefined4 *)(param_1 + 0xc) = 0;
  uVar3 = *(undefined4 *)(param_1 + 4);
  local_28 = &local_28;
  local_24 = &local_28;
  iVar1 = xs_fopen(param_2,&DAT_00422c14)   //possible issue identified - semgrep
  *(int *)(param_1 + 4) = iVar1;
  iVar2 = -1;
  if (iVar1 != 0) {
    iVar2 = FUN_0040ad5c(param_1,&local_28);
    if (iVar2 == 0) {
      iVar2 = -1;
      iVar1 = sobj_new();
      if (iVar1 != 0) {
        iVar2 = FUN_0040c9e4(param_1,0,param_1 + 0x18,iVar1,&local_28);
        sobj_del(iVar1);
      }
    }
    FUN_00409728(&local_28);
    xmldb_del_anchor(*(undefined4 *)(param_1 + 0xc));
    xs_close(*(undefined4 *)(param_1 + 4));
  }
  *(undefined4 *)(param_1 + 4) = uVar3;
  *(undefined4 *)(param_1 + 8) = uVar5;
  *(undefined4 *)(param_1 + 0xc) = uVar4;
  return iVar2;
}