/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
undefined4 FUN_0040eb80(char *param_1,char *param_2)
{
char cVar1;
bool bVar2;
FILE *__stream;
uint uVar3;
char *pcVar4;
char *pcVar5;
int iVar6;
int iVar7;
int iVar8;
char local_128 [256];
if ((param_2 != (char *)0x0) && (__stream = fopen(param_2,"r"), __stream != (FILE *)0x0)) { //possible issue identified - semgrep
iVar8 = 0;
bVar2 = false;
LAB_0040ec08:
while ((uVar3 = fgetc(__stream), uVar3 != 0xffffffff && (uVar3 != 10))) { //possible issue identified - semgrep
if ((!bVar2) && ((iVar8 != 0 || ((uVar3 & 0xffffff80) == 0)))) {
if ((uVar3 == 0x27) || (uVar3 == 0x23)) {
bVar2 = true;
}
else {
local_128[iVar8] = (char)uVar3;
iVar8 = iVar8 + 1;
}
}
}
local_128[iVar8] = '\0';
pcVar5 = local_128;
iVar7 = 0;
do {
pcVar4 = pcVar5;
iVar6 = iVar7 + 1;
if (iVar8 <= iVar7) goto LAB_0040ec84;
pcVar5 = pcVar4 + 1;
iVar7 = iVar6;
} while ((*(ushort *)(___ctype_b + *pcVar4 * 2) & 0x20) == 0);
*pcVar4 = '\0';
LAB_0040ec84:
if (local_128[0] != '\0') {
iVar6 = strcmp(local_128,param_1);
pcVar5 = local_128 + iVar7;
if (iVar6 == 0) {
for (; iVar7 < iVar8; iVar7 = iVar7 + 1) {
cVar1 = *pcVar5;
pcVar5 = pcVar5 + 1;
if ((*(ushort *)(___ctype_b + cVar1 * 2) & 0x20) == 0) {
pcVar5 = local_128 + iVar7;
iVar8 = strcasecmp(pcVar5,PTR_s_FOREGROUND_00430484);
if (iVar8 == 0) {
iVar7 = 0;
}
else {
iVar8 = strcasecmp(pcVar5,PTR_s_BACKGROUND_0043048c);
iVar7 = 1;
if (iVar8 != 0) break;
}
fclose(__stream);
return (&DAT_00430480)[iVar7 * 2];
}
}
}
}
iVar8 = 0;
if (uVar3 != 0xffffffff) {
bVar2 = false;
goto LAB_0040ec08;
}
fclose(__stream);
}
return 1;
}