void FUN_004064b8(int param_1,undefined **param_2)
{
ushort uVar1;
undefined4 *puVar2;
undefined4 uVar3;
uint uVar4;
undefined **ppuVar5;
int iVar6;
short sVar7;
sVar7 = (*(short *)(param_1 + 0x57) != 0) + 7 + (ushort)(*(short *)(param_1 + 100) != 0) //possible issue identified - semgrep
if (*(short *)(param_1 + 0x71) != 0) {
sVar7 = sVar7 + 1 //possible issue identified - semgrep
}
if (*(short *)(param_1 + 0x95) != 0) {
sVar7 = sVar7 + 1 //possible issue identified - semgrep
}
if (*(short *)(param_1 + 0xa2) != 0) {
sVar7 = sVar7 + 1 //possible issue identified - semgrep
}
FUN_00405ba8(param_1,0x100e,
*(short *)(param_1 + 0xa2) +
*(short *)(param_1 + 0x95) +
*(short *)(param_1 + 0x71) +
*(short *)(param_1 + 100) +
*(short *)(param_1 + 0x57) +
*(short *)(param_1 + 0x4a) +
*(short *)(param_1 + 0x3d) +
*(short *)(param_1 + 0x34) +
*(short *)(param_1 + 0x2a) +
*(short *)(param_1 + 0x20) + *(short *)(param_1 + 0x13) + *(short *)(param_1 + 10) +
sVar7 * 4,param_2);
FUN_0040726c(param_1 + 8,param_2);
FUN_00405c58(param_1 + 0x11,param_2,*(undefined4 *)(param_1 + 0x19));
FUN_004071a0(param_1 + 0x1e,param_2);
FUN_004071a0(param_1 + 0x28,param_2);
FUN_0040726c(param_1 + 0x32,param_2);
FUN_00405c58(param_1 + 0x3b,param_2,*(undefined4 *)(param_1 + 0x43));
FUN_00405c58(param_1 + 0x48,param_2,*(undefined4 *)(param_1 + 0x50));
if (*(short *)(param_1 + 0x57) != 0) {
FUN_00405c58(param_1 + 0x55,param_2,*(undefined4 *)(param_1 + 0x5d));
}
if (*(short *)(param_1 + 100) != 0) {
FUN_00405c58(param_1 + 0x62,param_2,*(undefined4 *)(param_1 + 0x6a));
}
if (*(short *)(param_1 + 0x71) != 0) {
FUN_00405c58(param_1 + 0x6f,param_2,param_1 + 0x77);
if (*(short *)(param_1 + 0x71) == 4) {
uVar4 = **(uint **)(param_1 + 0x73);
**(uint **)(param_1 + 0x73) =
uVar4 << 0x18 | uVar4 >> 0x18 | uVar4 >> 8 & 0xff00 | (uVar4 & 0xff00) << 8;
}
else if (*(short *)(param_1 + 0x71) == 2) {
uVar1 = **(ushort **)(param_1 + 0x73);
**(ushort **)(param_1 + 0x73) = uVar1 << 8 | uVar1 >> 8;
}
}
if (*(short *)(param_1 + 0x95) != 0) {
FUN_00405c58(param_1 + 0x93,param_2,*(undefined4 *)(param_1 + 0x9b));
}
if (*(short *)(param_1 + 0xa2) == 0) {
return;
}
iVar6 = *(int *)(param_1 + 0xa8);
ppuVar5 = param_2;
if (iVar6 == 0) {
puVar2 = (undefined4 *)FUN_0047082c(4);
ppuVar5 = &PTR_PTR_FUN_004af1e0;
*puVar2 = 0x1005;
FUN_00472734(puVar2,&PTR_PTR_FUN_004af1e0,0);
}
FUN_00405914(ppuVar5,2,&stack0xffffffe0);
FUN_00405914(param_2,2,&stack0xffffffe0);
uVar3 = FUN_00405914(param_2,*(undefined2 *)(param_1 + 0xa2),iVar6);
*(undefined4 *)(param_1 + 0xa4) = uVar3;
return;
}