void write_leases(void)

{
  FILE *__s;
  int iVar1;
  void *__ptr;
  int iVar2;
  int iVar3;
  uint uVar4;
  uint local_130;
  char acStack_12c [260];
  
  __s = fopen(DAT_0041bc80,"w")   //possible issue identified - semgrep
  if (__s != (FILE *)0x0) {
    if (DAT_0041bc64 != 0) {
      uVar4 = 0;
      iVar3 = 0;
      do {
        while (*(int *)(leases + iVar3 + 0x10) == 0) {
LAB_00402c04:
          uVar4 = uVar4 + 1;
          iVar3 = iVar3 + 0x5c;
          if (DAT_0041bc64 <= uVar4) goto LAB_00402d20;
        }
        if (DAT_0041bc68 == '\0') {
          local_130 = *(uint *)(leases + iVar3 + 0x14);
        }
        else {
          iVar1 = lease_expired();
          if (iVar1 == 0) {
            iVar2 = *(int *)(leases + iVar3 + 0x14);
            iVar1 = get_uptime();
            local_130 = iVar2 - iVar1;
          }
          else {
            local_130 = 0;
          }
        }
        local_130 = local_130 << 0x18 | local_130 >> 0x18 | (local_130 & 0xff0000) >> 8 |
                    (local_130 & 0xff00) << 8;
        if (*(int *)(leases + iVar3 + 0x18) == 0) goto LAB_00402c04;
        fwrite((void *)(leases + iVar3),0x10,1,__s);
        fwrite((void *)(leases + iVar3 + 0x10),4,1,__s);
        fwrite(&local_130,4,1,__s);
        fwrite((void *)(leases + iVar3 + 0x18),4,1,__s);
        fwrite((void *)(leases + iVar3 + 0x1c),0x40,1,__s);
        uVar4 = uVar4 + 1;
        iVar3 = iVar3 + 0x5c;
      } while (uVar4 < DAT_0041bc64);
    }
LAB_00402d20:
    iVar3 = 0;
    do {
      while( true ) {
        __ptr = (void *)(static_leases + iVar3);
        if (*(int *)((int)__ptr + 0x10) == 0) goto LAB_00402e48;
        uVar4 = *(uint *)((int)__ptr + 0x14);
        local_130 = uVar4 << 0x18 | uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8;
        if (*(int *)((int)__ptr + 0x18) == 0) break;
        fwrite(__ptr,0x10,1,__s);
        fwrite((void *)(static_leases + iVar3 + 0x10),4,1,__s);
        fwrite(&local_130,4,1,__s);
        fwrite((void *)(static_leases + iVar3 + 0x18),4,1,__s);
        iVar1 = static_leases + iVar3;
        iVar3 = iVar3 + 0x5c;
        fwrite((void *)(iVar1 + 0x1c),0x40,1,__s);
        if (iVar3 == 0xb80) goto LAB_00402e48;
      }
      iVar3 = iVar3 + 0x5c;
    } while (iVar3 != 0xb80);
LAB_00402e48:
    fclose(__s);
    if (DAT_0041bc98 != 0) {
      system((char *)DAT_0041bc98)   //possible issue identified - semgrep
    }
    if (DAT_0041bc88 != 0) {
      sprintf(acStack_12c,"%s %s",DAT_0041bc88,DAT_0041bc80)   //possible issue identified - semgrep
      system(acStack_12c)   //possible issue identified - semgrep
    }
  }
  return;
}