/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
int phpcgi_main(int param_1,int param_2,int *param_3)
{
char *__s1;
FILE *__stream;
undefined4 uVar1;
code *pcVar2;
int iVar3;
int iVar4;
char acStack_28 [24];
if (param_1 < 2) {
iVar3 = -1;
iVar4 = 0;
goto LAB_00405ac4;
}
iVar4 = sobj_new();
if (iVar4 != 0) {
sobj_add_string(iVar4,*(undefined4 *)(param_2 + 4));
sobj_add_char(iVar4,10);
for (; *param_3 != 0; param_3 = param_3 + 1) {
sobj_add_string(iVar4,"_SERVER_");
sobj_add_string(iVar4,*param_3);
sobj_add_char(iVar4,10);
}
__s1 = getenv("REQUEST_METHOD") //possible issue identified - semgrep
if (__s1 != (char *)0x0) {
iVar3 = strcasecmp(__s1,"HEAD");
if ((iVar3 == 0) || (iVar3 = strcasecmp(__s1,"GET"), iVar3 == 0)) {
pcVar2 = FUN_004056b8;
}
else {
iVar3 = strcasecmp(__s1,"POST");
if (iVar3 != 0) goto LAB_00405ac0;
pcVar2 = FUN_00405480;
}
iVar3 = cgibin_parse_request(pcVar2,iVar4,0x80000);
if (iVar3 < 0) {
if (iVar3 == -100) {
__stream = fopen("/htdocs/web/info.php","r") //possible issue identified - semgrep
if (__stream != (FILE *)0x0) {
fclose(__stream);
cgibin_print_http_resp(1,"/info.php",&DAT_0041e01c,"ERR_REQ_TOO_LONG",0,"");
}
}
else {
cgibin_print_http_status(400,"unsupported HTTP request","unsupported HTTP request");
}
}
else {
uVar1 = sess_validate();
sprintf(acStack_28,"AUTHORIZED_GROUP=%d",uVar1) //possible issue identified - semgrep
sobj_add_string(iVar4,acStack_28);
sobj_add_char(iVar4,10);
sobj_add_string(iVar4,"SESSION_UID=");
sess_get_uid(iVar4);
sobj_add_char(iVar4,10);
uVar1 = sobj_get_string(iVar4);
iVar3 = xmldbc_ephp(0,0,uVar1,_stdout);
}
goto LAB_00405ac4;
}
}
LAB_00405ac0:
iVar3 = -1;
LAB_00405ac4:
cgibin_clean_tempfiles();
if (iVar4 != 0) {
sobj_del(iVar4);
}
return iVar3;
}