undefined4 ssdpcgi_main(int param_1)

{
  undefined4 uVar1;
  char *pcVar2;
  char *pcVar3;
  char *pcVar4;
  char *pcVar5;
  int iVar6;
  char *pcVar7;
  
  uVar1 = 0xffffffff;
  if (param_1 == 2) {
    pcVar2 = getenv("HTTP_ST")   //possible issue identified - semgrep
    pcVar3 = getenv("REMOTE_ADDR")   //possible issue identified - semgrep
    pcVar4 = getenv("REMOTE_PORT")   //possible issue identified - semgrep
    pcVar5 = getenv("SERVER_ID")   //possible issue identified - semgrep
    if ((((pcVar2 == (char *)0x0) || (pcVar3 == (char *)0x0)) || (pcVar4 == (char *)0x0)) ||
       (pcVar5 == (char *)0x0)) {
      uVar1 = 0xffffffff;
    }
    else {
      iVar6 = strncmp(pcVar2,"ssdp:all",8);
      if (iVar6 == 0) {
        pcVar2 = "%s ssdpall %s:%s %s &";
      }
      else {
        iVar6 = strncmp(pcVar2,"upnp:rootdevice",0xf);
        if (iVar6 == 0) {
          pcVar2 = "%s rootdevice %s:%s %s &";
        }
        else {
          iVar6 = strncmp(pcVar2,"uuid:",5);
          if (iVar6 == 0) {
            pcVar2 = "%s uuid %s:%s %s %s &";
          }
          else {
            iVar6 = strncmp(pcVar2,"urn:",4);
            if (iVar6 != 0) {
              return 0;
            }
            pcVar7 = strstr(pcVar2,":device:");
            if (pcVar7 == (char *)0x0) {
              pcVar2 = strstr(pcVar2,":service:");
              if (pcVar2 == (char *)0x0) {
                return 0;
              }
              pcVar2 = "%s services %s:%s %s %s &";
            }
            else {
              pcVar2 = "%s devices %s:%s %s %s &";
            }
          }
        }
      }
      lxmldbc_system(pcVar2,"/etc/scripts/upnp/M-SEARCH.sh",pcVar3,pcVar4,pcVar5)   //possible issue identified - semgrep
      uVar1 = 0;
    }
  }
  return uVar1;
}