void FUN_00405b10(int param_1)
{
undefined4 *puVar1;
undefined4 *__ptr;
undefined4 *puVar2;
if (DAT_00422a40 != (void *)0x0) {
free(DAT_00422a40);
}
while (__ptr = DAT_00422a50, DAT_00422a50 != (undefined4 *)0x0) {
puVar2 = (undefined4 *)*DAT_00422a50;
puVar1 = DAT_00422a50 + 1;
DAT_00422a50 = puVar2;
if ((void *)*puVar1 != (void *)0x0) {
free((void *)*puVar1);
}
free(__ptr);
}
FUN_004051dc();
FUN_00405180("%s exit with code %d.\n","devdata",param_1);
/* WARNING: Subroutine does not return */
exit(param_1);
}