undefined4 DO_RACFG_CMD_IO_WRITE(int param_1,undefined4 param_2,int param_3)
{
uint local_20;
uint local_1c [2];
memcpy(&local_20,(void *)(param_3 + 0xc),4) //possible issue identified - semgrep
memcpy(local_1c,(void *)(param_3 + 0x10),4) //possible issue identified - semgrep
local_20 = ((local_20 >> 0x10) << 0x18 | (local_20 >> 0x18) << 0x10) >> 0x10;
local_1c[0] = (((local_1c[0] >> 0x10) << 0x18 | (local_1c[0] >> 0x18) << 0x10) >> 0x10) +
((local_1c[0] & 0xff) << 8 | local_1c[0] >> 8 & 0xff) * 0x10000;
if (2 < RTDebugLevel) {
printk("RACFG_CMD_IO_WRITE: offset = %x, value = %x\n");
}
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + local_20) = local_1c[0];
}
ResponseToGUI(param_3,param_2,2,0);
return 0;
}