void FUN_00423684(undefined4 param_1)
{
bool bVar1;
undefined4 uVar2;
undefined4 *puVar3;
int iVar4;
if ((DAT_004411b4 == 0) || (iVar4 = DAT_004411b4, *(int *)(DAT_004411b4 + DAT_004411b8 * 4) == 0))
{
FUN_00422d84();
puVar3 = (undefined4 *)(DAT_004411b4 + DAT_004411b8 * 4);
uVar2 = FUN_00423404(DAT_004411a0,0x4000);
iVar4 = DAT_004411b4;
bVar1 = DAT_004411b4 == 0;
*puVar3 = uVar2;
if (bVar1) {
uVar2 = 0;
goto LAB_004236f8;
}
}
uVar2 = *(undefined4 *)(iVar4 + DAT_004411b8 * 4);
LAB_004236f8:
FUN_004232e8(uVar2,param_1);
puVar3 = *(undefined4 **)(DAT_004411b4 + DAT_004411b8 * 4);
yytext = (undefined1 *)puVar3[2];
DAT_004411cc = *yytext;
DAT_004411a0 = *puVar3;
DAT_004411c4 = yytext;
DAT_004411d0 = puVar3[4];
return;
}