void FUN_00481458(void)
{
int iVar1;
ushort *puVar2;
undefined2 *puVar3;
ushort *puVar4;
FUN_00483c90(&DAT_004b7670,&DAT_00498870,0x18);
FUN_00483c90(&DAT_004b7688,&DAT_00498870,0x18);
for (puVar3 = (undefined2 *)PTR_DAT_004b76bc; puVar4 = (ushort *)PTR_DAT_004b76bc,
puVar3 != (undefined2 *)0x0; puVar3 = *(undefined2 **)(puVar3 + 0xc)) {
iVar1 = FUN_004874e4(puVar3 + 0x1a);
if (iVar1 != 0) {
*puVar3 = 0x30;
*(undefined4 *)(puVar3 + 10) = *(undefined4 *)(puVar3 + 4);
*(undefined4 *)(puVar3 + 8) = *(undefined4 *)(puVar3 + 4);
}
*(undefined4 *)(puVar3 + 0x18) = 1;
FUN_00483c90(puVar3 + 0x1a,&DAT_00498870,0x18);
}
do {
while( true ) {
if (puVar4 == (ushort *)0x0) {
return;
}
if ((*puVar4 & 0x40) == 0) {
puVar2 = *(ushort **)(puVar4 + 0xe);
}
else {
FUN_00481660(puVar4);
puVar2 = *(ushort **)(puVar4 + 0xe);
}
if (puVar2 != puVar4 + 2) break;
LAB_0048157c:
puVar4 = *(ushort **)(puVar4 + 0xc);
}
if (*(code **)(puVar4 + 0x16) != (code *)0x0) {
(**(code **)(puVar4 + 0x16))(puVar2);
goto LAB_0048157c;
}
puVar4 = *(ushort **)(puVar4 + 0xc);
} while( true );
}