uint FUN_0040e73c(undefined4 param_1,int param_2,char *param_3,uint *param_4,char param_5)
{
char cVar1;
bool bVar2;
bool bVar3;
uint uVar4;
char *pcVar5;
int iVar6;
uint uVar7;
char cVar8;
uint uVar9;
bVar2 = false;
uVar9 = 0xffffffff;
LAB_0040e940:
do {
while( true ) {
uVar7 = xs_getc(param_1) //possible issue identified - semgrep
if (uVar7 == 0xffffffff) {
bVar3 = false;
goto LAB_0040e96c;
}
bVar3 = true;
if (uVar7 == 0) goto LAB_0040e96c;
if ((int)uVar9 < 0) break;
if (uVar9 == 0) {
if ((uVar7 != 0x22) && (uVar7 != 0x27)) goto LAB_0040e8b0;
xs_ungetc(uVar7,param_1) //possible issue identified - semgrep
uVar4 = *(uint *)(param_2 + 8) & 0xfffffffe;
LAB_0040e8a0:
*(uint *)(param_2 + 8) = uVar4;
bVar3 = false;
goto LAB_0040e96c;
}
if (bVar2) {
if (uVar7 == 0x72) {
uVar7 = 0xd;
}
else if (uVar7 == 0x74) {
uVar7 = 9;
}
else if (uVar7 == 0x6e) {
uVar7 = 10;
}
iVar6 = sobj_add_char(param_2,uVar7);
bVar2 = false;
if (iVar6 < 0) {
bVar3 = true;
goto LAB_0040e96c;
}
}
else if (((int)param_5 == 0) || (uVar7 != (int)param_5)) {
if (uVar7 == uVar9) {
uVar4 = *(uint *)(param_2 + 8) | 1;
uVar9 = uVar7;
goto LAB_0040e8a0;
}
iVar6 = sobj_add_char(param_2,uVar7);
bVar3 = true;
if (iVar6 < 0) {
LAB_0040e96c:
if (param_4 != (uint *)0x0) {
*param_4 = uVar9;
}
return uVar7 & -(uint)!bVar3;
}
}
else {
bVar2 = true;
}
}
uVar9 = 0x22;
} while ((uVar7 == 0x22) || (uVar9 = 0x27, uVar7 == 0x27));
LAB_0040e8b0:
cVar8 = (char)uVar7;
if ((cVar8 == ' ') || (((cVar8 == '\t' || (cVar8 == '\n')) || (cVar8 == '\r')))) {
LAB_0040e904:
*(uint *)(param_2 + 8) = *(uint *)(param_2 + 8) & 0xfffffffe;
bVar3 = false;
}
else {
pcVar5 = param_3;
if (param_3 != (char *)0x0) {
while( true ) {
cVar1 = *pcVar5;
pcVar5 = pcVar5 + 1;
if (cVar1 == '\0') break;
if (cVar1 == cVar8) goto LAB_0040e904;
}
}
iVar6 = sobj_add_char(param_2,uVar7);
bVar3 = true;
if (-1 < iVar6) {
uVar9 = 0;
goto LAB_0040e940;
}
}
uVar9 = 0;
goto LAB_0040e96c;
}