void FUN_0041420c(void *param_1)
{
int iVar1;
int *piVar2;
piVar2 = *(int **)((int)param_1 + 0x28);
while (piVar2 != (int *)0x0) {
while (iVar1 = *piVar2, iVar1 != 0) {
*(int *)(iVar1 + 4) = piVar2[1];
*(int *)piVar2[1] = iVar1;
FUN_004137e0();
piVar2 = *(int **)((int)param_1 + 0x28);
if (piVar2 == (int *)0x0) goto LAB_004142a0;
}
*(int *)((int)param_1 + 0x2c) = piVar2[1];
*(undefined4 *)piVar2[1] = 0;
FUN_004137e0();
piVar2 = *(int **)((int)param_1 + 0x28);
}
LAB_004142a0:
free(param_1);
return;
}