undefined4 FUN_00407458(int param_1,int param_2,int *param_3)
{
bool bVar1;
bool bVar2;
int iVar3;
int iVar4;
int iVar5;
code *pcVar6;
while( true ) {
sobj_xstream_eatwhite(param_1);
iVar3 = xs_getc(param_1) //possible issue identified - semgrep
if (0x3b < iVar3) break;
if (0x39 < iVar3) goto LAB_00407828;
if (iVar3 < 0x2b) {
if ((0x27 < iVar3) || (iVar3 == 0x23)) goto LAB_00407828;
if (0x23 < iVar3) {
iVar5 = 0x26;
if (iVar3 != 0x25) goto LAB_004075b8;
goto LAB_00407828;
}
if (iVar3 == -1) {
return 0xffffffff;
}
if (iVar3 == 0x21) goto LAB_004077c4;
goto LAB_00407838;
}
if (iVar3 == 0x2d) {
LAB_00407768:
sobj_add_char(param_2,iVar3);
iVar4 = xs_getc(param_1) //possible issue identified - semgrep
if ((iVar4 != 0x3d) && (iVar5 = iVar4, iVar4 != iVar3)) goto LAB_00407810;
pcVar6 = sobj_add_char;
goto LAB_00407814;
}
if (iVar3 < 0x2e) {
iVar5 = 0x2c;
if (iVar3 == 0x2b) goto LAB_00407768;
goto LAB_00407608;
}
if (iVar3 == 0x2e) goto LAB_00407828;
if (iVar3 != 0x2f) goto LAB_00407838;
iVar3 = xs_getc(param_1) //possible issue identified - semgrep
if (iVar3 == 0x2a) {
bVar1 = false;
do {
iVar3 = xs_getc(param_1) //possible issue identified - semgrep
if (iVar3 == -1) {
return 0xffffffff;
}
bVar2 = !bVar1;
bVar1 = iVar3 == 0x2a;
} while ((bVar2) || (iVar3 != 0x2f));
}
else {
if (iVar3 != 0x2f) {
if (iVar3 == -1) {
return 0xffffffff;
}
xs_ungetc(iVar3,param_1) //possible issue identified - semgrep
pcVar6 = sobj_add_char;
iVar4 = 0x2f;
goto LAB_00407814;
}
do {
iVar3 = xs_getc(param_1) //possible issue identified - semgrep
if (iVar3 == -1) {
return 0xffffffff;
}
} while ((iVar3 != 10) && (iVar3 != 0xd));
}
}
if (iVar3 != 0x5b) {
if (iVar3 < 0x5c) {
if (iVar3 == 0x3e) {
LAB_004077c4:
sobj_add_char(param_2,iVar3);
iVar5 = xs_getc(param_1) //possible issue identified - semgrep
if (iVar5 == 0x3d) {
pcVar6 = sobj_add_char;
iVar4 = 0x3d;
goto LAB_00407814;
}
}
else if (iVar3 < 0x3f) {
iVar5 = 0x3d;
if (iVar3 == 0x3c) goto LAB_004077c4;
LAB_004075b8:
if (iVar3 != iVar5) goto LAB_00407838;
LAB_004076e0:
sobj_add_char(param_2,iVar3);
iVar5 = xs_getc(param_1) //possible issue identified - semgrep
if (iVar3 == iVar5) goto LAB_00407828;
}
else {
iVar5 = 0x40;
if (iVar3 != 0x3f) goto LAB_00407608;
sobj_add_char(param_2,0x3f);
iVar5 = xs_getc(param_1) //possible issue identified - semgrep
iVar4 = 0x3e;
if (iVar5 == 0x3e) {
pcVar6 = sobj_add_char;
goto LAB_00407814;
}
}
LAB_00407810:
param_2 = iVar5;
pcVar6 = xs_ungetc;
iVar4 = param_1;
goto LAB_00407814;
}
if (iVar3 != 0x7b) {
if (iVar3 < 0x7c) {
if (1 < iVar3 - 0x5dU) goto LAB_00407838;
}
else {
iVar5 = 0x7d;
if (iVar3 == 0x7c) goto LAB_004076e0;
LAB_00407608:
if (iVar3 != iVar5) {
LAB_00407838:
xs_ungetc(iVar3,param_1) //possible issue identified - semgrep
iVar3 = sobj_xstream_read(param_1,param_2,"/+-=&|?*%^<>.,(){}[]:;!@#",param_3) //possible issue identified - semgrep
if ((*param_3 != 0) && (*param_3 == iVar3)) {
return 0;
}
if (iVar3 == 0) {
return 0xffffffff;
}
if (iVar3 < 1) {
return 0;
}
xs_ungetc(iVar3,param_1) //possible issue identified - semgrep
return 0;
}
}
}
}
LAB_00407828:
pcVar6 = sobj_add_char;
iVar4 = iVar3;
LAB_00407814:
(*pcVar6)(param_2,iVar4);
*param_3 = 0;
return 0;
}