/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

int xmldb_ephp(undefined4 param_1,char *param_2)

{
  int ***pppiVar1;
  undefined4 ***pppuVar2;
  undefined4 ***pppuVar3;
  char *__s;
  char *pcVar4;
  char *pcVar5;
  int iVar6;
  int ***pppiVar7;
  int ***pppiVar8;
  undefined4 ****ppppuVar9;
  char *pcVar10;
  int iVar11;
  undefined4 ***local_90;
  undefined4 ***local_8c;
  undefined4 local_88;
  int local_84;
  char *local_80;
  undefined4 local_7c;
  int ***local_78;
  int ***local_74;
  undefined4 ***local_70;
  undefined4 ***local_6c;
  undefined4 ***local_68;
  undefined4 ***local_64;
  undefined4 ***local_60;
  undefined4 ***local_5c;
  undefined4 ***local_58;
  undefined4 ***local_54;
  undefined4 ***local_50;
  undefined4 ***local_4c;
  undefined4 ***local_48;
  undefined4 ***local_44;
  undefined4 ***local_40;
  undefined4 ***local_3c;
  undefined4 ***local_38;
  undefined4 ***local_34;
  undefined4 ***local_30;
  undefined4 ***local_2c;
  
  DAT_004349c0 = _stdout;
  local_90 = &local_90;
  local_8c = local_90;
  __s = strchr(param_2,10);
  if (__s != (char *)0x0) {
    *__s = '\0';
    __s = __s + 1;
  }
  memset(&local_88,0,0x50)   //possible issue identified - semgrep
  local_68 = &local_68;
  local_78 = (int ***)&local_78;
  local_60 = &local_60;
  local_88 = param_1;
  local_80 = param_2;
  local_74 = local_78;
  local_70 = &local_70;
  local_6c = &local_70;
  local_64 = local_68;
  local_5c = local_60;
  local_58 = &local_58;
  local_54 = &local_58;
  local_50 = &local_50;
  local_4c = &local_50;
  local_48 = &local_48;
  local_44 = &local_48;
  local_40 = &local_40;
  local_3c = &local_40;
  local_38 = local_68;
  local_34 = local_60;
  local_84 = xs_fopen(param_2,&DAT_00422c14)   //possible issue identified - semgrep
  iVar11 = -1;
  if (local_84 != 0) {
    FUN_0040c744(&local_88,0,"VeRsIoN",&DAT_00421b54);
    FUN_0040c984(&local_88,&local_70,"VeRsIoN",&DAT_00421b54);
    pppuVar3 = local_34;
    pppuVar2 = local_38;
    local_30 = &local_40;
    local_2c = &local_48;
    while (__s != (char *)0x0) {
      pcVar4 = strchr(__s,0x3d);
      if (pcVar4 == (char *)0x0) break;
      *pcVar4 = '\0';
      pcVar5 = strchr(pcVar4 + 1,10);
      if (pcVar5 != (char *)0x0) {
        *pcVar5 = '\0';
        pcVar5 = pcVar5 + 1;
      }
      iVar11 = strncmp(__s,"_GLOBALS_",9);
      if (iVar11 == 0) {
        ppppuVar9 = &local_70;
        pcVar10 = __s + 9;
      }
      else {
        iVar11 = strncmp(__s,"_SERVER_",8);
        pcVar10 = __s + 8;
        ppppuVar9 = (undefined4 ****)pppuVar2;
        if (iVar11 != 0) {
          iVar11 = strncmp(__s,"_GET_",5);
          pcVar10 = __s + 5;
          ppppuVar9 = (undefined4 ****)pppuVar3;
          if (iVar11 != 0) {
            iVar11 = strncmp(__s,"_POST_",6);
            pcVar10 = __s + 6;
            ppppuVar9 = &local_58;
            if (iVar11 != 0) {
              iVar11 = strncmp(__s,"_ENV_",5);
              pcVar10 = __s + 5;
              ppppuVar9 = &local_50;
              if (iVar11 != 0) {
                iVar11 = strncmp(__s,"_FILES_",7);
                pcVar10 = __s + 7;
                ppppuVar9 = (undefined4 ****)local_2c;
                if (iVar11 != 0) {
                  iVar11 = strncmp(__s,"_FILETYPES_",0xb);
                  pcVar10 = __s + 0xb;
                  ppppuVar9 = (undefined4 ****)local_30;
                  if (iVar11 != 0) {
                    ppppuVar9 = (undefined4 ****)0x0;
                    pcVar10 = __s;
                  }
                }
              }
            }
          }
        }
      }
      FUN_0040c744(&local_88,ppppuVar9,pcVar10,pcVar4 + 1);
      __s = pcVar5;
    }
    iVar11 = FUN_0040ad5c(&local_88,&local_90);
    if (iVar11 == 0) {
      iVar11 = -1;
      iVar6 = sobj_new();
      if (iVar6 != 0) {
        iVar11 = FUN_0040c9e4(&local_88,0,&local_70,iVar6,&local_90);
        sobj_del(iVar6);
      }
    }
    FUN_00409728(&local_90);
    while (pppiVar1 = local_78, (int ****)local_78 != &local_78) {
      pppiVar8 = (int ***)local_78[1];
      pppiVar7 = (int ***)*local_78;
      *pppiVar8 = (int **)pppiVar7;
      pppiVar7[1] = (int **)pppiVar8;
      *local_78 = (int **)0x0;
      pppiVar1[1] = (int **)0x0;
      FUN_00409784(pppiVar1);
    }
    while ((undefined4 ****)local_70 != &local_70) {
      FUN_0040995c(local_70);
    }
    while ((undefined4 ****)local_68 != &local_68) {
      FUN_0040995c(local_68);
    }
    while ((undefined4 ****)local_60 != &local_60) {
      FUN_0040995c(local_60);
    }
    while ((undefined4 ****)local_58 != &local_58) {
      FUN_0040995c(local_58);
    }
    while ((undefined4 ****)local_50 != &local_50) {
      FUN_0040995c(local_50);
    }
    xmldb_del_anchor(local_7c);
    xs_close(local_84);
  }
  return iVar11;
}