undefined4 FUN_00406618(FILE *param_1)
{
bool bVar1;
int *piVar2;
char cVar3;
int iVar4;
size_t sVar5;
uint uVar6;
undefined4 uVar7;
char *pcVar8;
iVar4 = fseek(param_1,DAT_00422a6c,0);
uVar7 = 0xffffffff;
if (-1 < iVar4) {
sVar5 = fread(DAT_00422a60,DAT_00422160,1,param_1) //possible issue identified - semgrep
piVar2 = DAT_00422a60;
uVar7 = 0xfffffffe;
if (sVar5 == 1) {
uVar7 = 0xfffffffd;
if ((*DAT_00422a60 == -0x21300313) &&
(uVar7 = 0xfffffffc, (uint)DAT_00422a60[2] <= DAT_00422160 - 0x10)) {
iVar4 = DAT_00422a60[3];
*(undefined1 *)(DAT_00422a60 + 3) = 0;
uVar6 = 0;
cVar3 = '\0';
while( true ) {
bVar1 = piVar2[2] + 0x10U <= uVar6;
pcVar8 = (char *)((int)piVar2 + uVar6);
uVar6 = uVar6 + 1;
if (bVar1) break;
cVar3 = cVar3 + *pcVar8;
}
*(char *)(piVar2 + 3) = cVar3;
FUN_00406550("read checksum = 0x%02x\n",(char)iVar4);
uVar7 = 0xfffffffb;
if ((char)piVar2[3] == (char)iVar4) {
uVar7 = 0;
}
}
}
}
return uVar7;
}