undefined4 FUN_00403150(int param_1,int param_2)
{
undefined1 uVar1;
undefined4 *puVar2;
undefined4 *puVar3;
undefined4 local_30;
undefined4 local_2c;
undefined4 local_28;
undefined1 local_24 [4];
undefined1 auStack_20 [20];
local_30 = *(undefined4 *)(param_2 + 8);
local_2c = *(undefined4 *)(param_2 + 0xc);
local_28 = *(undefined4 *)(param_2 + 0x10);
local_24 = (undefined1 [4])*(undefined4 *)(param_2 + 0x14);
puVar2 = (undefined4 *)(local_24 + 3);
puVar3 = &local_30;
do {
uVar1 = *(undefined1 *)puVar3;
*(undefined1 *)puVar3 = *(undefined1 *)puVar2;
*(undefined1 *)puVar2 = uVar1;
puVar3 = (undefined4 *)((int)puVar3 + 1);
puVar2 = (undefined4 *)((int)puVar2 + -1);
} while (puVar3 < puVar2);
FUN_00402fec(auStack_20,&local_30,*(int *)(param_2 + 0x18) - *(int *)(param_1 + 0x10),0x80);
FUN_00402e30(&local_30,auStack_20,0x20 - *(int *)(param_1 + 0x10),0x80);
return local_24;
}