void FUN_004041b8(char *param_1,int param_2)

{
  char *pcVar1;
  int iVar2;
  int iVar3;
  int iVar4;
  uint uVar5;
  
  iVar4 = 0;
  pcVar1 = param_1;
  do {
    if (*pcVar1 != '\0') break;
    iVar4 = iVar4 + 1;
    pcVar1 = param_1 + iVar4;
  } while (iVar4 != 0x10);
  uVar5 = 0;
  if (DAT_0041bc64 != 0) {
    iVar3 = 0;
    do {
      while ((uVar5 = uVar5 + 1, iVar4 == 0x10 ||
             (iVar2 = memcmp((void *)(leases + iVar3),param_1,0x10), iVar2 != 0))) {
        if (param_2 == 0) goto LAB_00404280;
        if (*(int *)(leases + iVar3 + 0x10) == param_2) break;
        iVar3 = iVar3 + 0x5c;
        if (DAT_0041bc64 <= uVar5) {
          return;
        }
      }
      memset((void *)(leases + iVar3),0,0x5c)   //possible issue identified - semgrep
LAB_00404280:
      iVar3 = iVar3 + 0x5c;
    } while (uVar5 < DAT_0041bc64);
  }
  return;
}