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;
}