undefined4 * FUN_00473000(int param_1,undefined4 param_2,int param_3,int param_4)
{
undefined4 *puVar1;
int iVar2;
switch(param_2) {
case 1:
case 2:
case 3:
case 4:
case 10:
case 0x1c:
case 0x26:
case 0x2c:
case 0x2d:
case 0x2e:
case 0x2f:
case 0x30:
case 0x31:
case 0x32:
case 0x33:
case 0x35:
if (param_3 == 0) {
return (undefined4 *)0x0;
}
case 0x25:
if (param_4 == 0) {
return (undefined4 *)0x0;
}
break;
default:
return (undefined4 *)0x0;
case 8:
case 9:
case 0xb:
case 0xc:
case 0xd:
case 0xe:
case 0xf:
case 0x10:
case 0x11:
case 0x12:
case 0x13:
case 0x14:
case 0x1d:
case 0x1e:
case 0x1f:
case 0x20:
case 0x21:
case 0x23:
case 0x27:
case 0x28:
case 0x2b:
case 0x34:
if (param_3 == 0) {
return (undefined4 *)0x0;
}
break;
case 0x16:
case 0x17:
case 0x18:
case 0x19:
case 0x1a:
case 0x1b:
case 0x24:
break;
}
iVar2 = *(int *)(param_1 + 0x14);
puVar1 = (undefined4 *)0x0;
if (iVar2 < *(int *)(param_1 + 0x18)) {
puVar1 = (undefined4 *)(*(int *)(param_1 + 0x10) + iVar2 * 0xc);
*(int *)(param_1 + 0x14) = iVar2 + 1;
if (puVar1 != (undefined4 *)0x0) {
*puVar1 = param_2;
puVar1[1] = param_3;
puVar1[2] = param_4;
return puVar1;
}
}
return puVar1;
}