/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
undefined4 read_config(char *param_1)
{
undefined **ppuVar1;
char *pcVar2;
ushort uVar3;
int iVar4;
FILE *__stream;
char *pcVar5;
size_t sVar6;
int iVar7;
undefined4 uVar8;
char *pcVar9;
char *pcVar10;
undefined **ppuVar11;
int iVar12;
char acStack_f8 [104];
char acStack_90 [104];
if (s_start_0041b030[0] != '\0') {
ppuVar11 = &PTR_FUN_0041b040;
iVar12 = 0;
do {
while (*(char *)(ppuVar11 + 2) != '\0') {
(*(code *)*ppuVar11)(s_192_168_0_20_0041b048 + iVar12 * 0x38,ppuVar11[1]);
ppuVar1 = ppuVar11 + 10;
iVar12 = iVar12 + 1;
ppuVar11 = ppuVar11 + 0xe;
if (*(char *)ppuVar1 == '\0') goto LAB_0040307c;
}
ppuVar1 = ppuVar11 + 10;
iVar12 = iVar12 + 1;
ppuVar11 = ppuVar11 + 0xe;
} while (*(char *)ppuVar1 != '\0');
}
LAB_0040307c:
__stream = fopen(param_1,"r") //possible issue identified - semgrep
if (__stream == (FILE *)0x0) {
uVar8 = 0;
}
else {
while (pcVar5 = fgets(acStack_f8,0x67,__stream), pcVar5 != (char *)0x0) { //possible issue identified - semgrep
pcVar5 = strchr(acStack_f8,10);
if (pcVar5 != (char *)0x0) {
*pcVar5 = '\0';
}
strncpy(acStack_90,acStack_f8,0x67) //possible issue identified - semgrep
sVar6 = strspn(acStack_f8," \t");
pcVar5 = acStack_f8 + sVar6;
if (*pcVar5 != '\0') {
sVar6 = strcspn(pcVar5," \t=");
pcVar9 = pcVar5 + sVar6;
if (*pcVar9 != '\0') {
*pcVar9 = '\0';
sVar6 = strspn(pcVar9 + 1," \t=") //possible issue identified - semgrep
pcVar9 = pcVar9 + 1 + sVar6;
sVar6 = strlen(pcVar9);
if (0 < (int)sVar6) {
pcVar10 = pcVar9 + sVar6;
uVar3 = *(ushort *)(___ctype_b + pcVar10[-1] * 2);
while ((uVar3 & 0x20) != 0) {
sVar6 = sVar6 - 1 //possible issue identified - semgrep
if (sVar6 == 0) {
sVar6 = 0;
break;
}
pcVar2 = pcVar10 + -2;
pcVar10 = pcVar10 + -1;
uVar3 = *(ushort *)(___ctype_b + *pcVar2 * 2);
}
}
pcVar9[sVar6] = '\0';
if (s_start_0041b030[0] != '\0') {
ppuVar11 = &PTR_FUN_0041b040;
iVar12 = 0;
do {
iVar4 = iVar12 * 0x38;
iVar7 = strcasecmp(pcVar5,s_start_0041b030 + iVar4);
iVar12 = iVar12 + 1;
if ((iVar7 == 0) && (iVar7 = (*(code *)*ppuVar11)(pcVar9,ppuVar11[1]), iVar7 == 0)) {
(*(code *)*ppuVar11)(s_192_168_0_20_0041b048 + iVar4,ppuVar11[1]);
}
ppuVar1 = ppuVar11 + 10;
ppuVar11 = ppuVar11 + 0xe;
} while (*(char *)ppuVar1 != '\0');
}
}
}
}
fclose(__stream);
uVar8 = 1;
}
return uVar8;
}