void FUN_0047501c(undefined4 param_1,int param_2,int *param_3)
{
bool bVar1;
bool bVar2;
int *piVar3;
piVar3 = param_3;
if (param_3 != (int *)0x0) {
do {
if (piVar3[2] == 0) {
bVar2 = false;
if (*(int *)piVar3[1] == 0x25) {
bVar1 = false;
}
else {
FUN_004737d0(param_1,&DAT_00497d7c);
bVar2 = true;
bVar1 = true;
}
goto LAB_004750a0;
}
piVar3 = (int *)*piVar3;
bVar2 = true;
} while (piVar3 != (int *)0x0);
bVar1 = false;
LAB_004750a0:
FUN_00474e04(param_1,param_3,0);
if (bVar1) {
FUN_004736cc(param_1,0x29);
}
if (!bVar2) goto LAB_00475100;
}
FUN_004736cc(param_1,0x20);
LAB_00475100:
FUN_004736cc(param_1,0x5b);
if (*(int *)(param_2 + 4) != 0) {
FUN_004739e0(param_1);
}
FUN_004736cc(param_1,0x5d);
return;
}