undefined4 DO_RACFG_CMD_RF_WRITE_ALL(int param_1,undefined4 param_2,int param_3)
{
char cVar1;
uint uVar2;
undefined1 local_30;
undefined1 uStack_2f;
uint local_2c;
uint local_28;
uint local_24;
uint local_20 [3];
memcpy(&local_2c,(void *)(param_3 + 0xc),4) //possible issue identified - semgrep
memcpy(&local_28,(void *)(param_3 + 0x10),4) //possible issue identified - semgrep
memcpy(&local_24,(void *)(param_3 + 0x14),4) //possible issue identified - semgrep
memcpy(local_20,(void *)(param_3 + 0x18),4) //possible issue identified - semgrep
memcpy(&local_30,(void *)(param_3 + 0x1c),2) //possible issue identified - semgrep
*(uint *)(param_1 + 0x4be4) =
(((local_2c >> 0x10) << 0x18 | (local_2c >> 0x18) << 0x10) >> 0x10) +
((local_2c & 0xff) << 8 | local_2c >> 8 & 0xff) * 0x10000;
*(uint *)(param_1 + 0x4be8) =
(((local_28 >> 0x10) << 0x18 | (local_28 >> 0x18) << 0x10) >> 0x10) +
((local_28 & 0xff) << 8 | local_28 >> 8 & 0xff) * 0x10000;
*(uint *)(param_1 + 0x4bec) =
(((local_24 >> 0x10) << 0x18 | (local_24 >> 0x18) << 0x10) >> 0x10) +
((local_24 & 0xff) << 8 | local_24 >> 8 & 0xff) * 0x10000;
*(uint *)(param_1 + 0x4bf0) =
(((local_20[0] >> 0x10) << 0x18 | (local_20[0] >> 0x18) << 0x10) >> 0x10) +
((local_20[0] & 0xff) << 8 | local_20[0] >> 8 & 0xff) * 0x10000;
*(undefined1 *)(param_1 + 0x4be0) = uStack_2f;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar2 = 0;
do {
if (-1 < *(int *)(*(int *)(param_1 + 0xdc) + 0x1020)) {
if (99 < uVar2) {
cVar1 = *(char *)(param_1 + 0x4bdd) //possible issue identified - semgrep
goto LAB_00098bb0;
}
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x1020) = *(undefined4 *)(param_1 + 0x4be4);
goto LAB_00098bac;
}
uVar2 = uVar2 + 1;
} while (uVar2 != 100);
cVar1 = *(char *)(param_1 + 0x4bdd) //possible issue identified - semgrep
}
else {
LAB_00098bac:
cVar1 = *(char *)(param_1 + 0x4bdd) //possible issue identified - semgrep
}
LAB_00098bb0:
if (cVar1 == '\0') {
cVar1 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
printk("RF:%x\n",*(undefined4 *)(param_1 + 0x4be4));
cVar1 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar1 == '\0') {
uVar2 = 0;
do {
if (-1 < *(int *)(*(int *)(param_1 + 0xdc) + 0x1020)) {
if (uVar2 < 100) {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x1020) = *(undefined4 *)(param_1 + 0x4be8);
cVar1 = *(char *)(param_1 + 0x4bdd) //possible issue identified - semgrep
}
else {
cVar1 = *(char *)(param_1 + 0x4bdd) //possible issue identified - semgrep
}
goto LAB_00098c2c;
}
uVar2 = uVar2 + 1;
} while (uVar2 != 100);
cVar1 = *(char *)(param_1 + 0x4bdd) //possible issue identified - semgrep
}
else {
cVar1 = *(char *)(param_1 + 0x4bdd) //possible issue identified - semgrep
}
LAB_00098c2c:
if (cVar1 == '\0') {
cVar1 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
printk("RF:%x\n",*(undefined4 *)(param_1 + 0x4be8));
cVar1 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar1 == '\0') {
uVar2 = 0;
do {
if (-1 < *(int *)(*(int *)(param_1 + 0xdc) + 0x1020)) {
if (uVar2 < 100) {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x1020) = *(undefined4 *)(param_1 + 0x4bec);
cVar1 = *(char *)(param_1 + 0x4bdd) //possible issue identified - semgrep
}
else {
cVar1 = *(char *)(param_1 + 0x4bdd) //possible issue identified - semgrep
}
goto LAB_00098ca8;
}
uVar2 = uVar2 + 1;
} while (uVar2 != 100);
cVar1 = *(char *)(param_1 + 0x4bdd) //possible issue identified - semgrep
}
else {
cVar1 = *(char *)(param_1 + 0x4bdd) //possible issue identified - semgrep
}
LAB_00098ca8:
if (cVar1 == '\0') {
cVar1 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
printk("RF:%x\n",*(undefined4 *)(param_1 + 0x4bec));
cVar1 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar1 == '\0') {
uVar2 = 0;
do {
if (-1 < *(int *)(*(int *)(param_1 + 0xdc) + 0x1020)) {
if (uVar2 < 100) {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x1020) = *(undefined4 *)(param_1 + 0x4bf0);
cVar1 = *(char *)(param_1 + 0x4bdd) //possible issue identified - semgrep
}
else {
cVar1 = *(char *)(param_1 + 0x4bdd) //possible issue identified - semgrep
}
goto LAB_00098d24;
}
uVar2 = uVar2 + 1;
} while (uVar2 != 100);
cVar1 = *(char *)(param_1 + 0x4bdd) //possible issue identified - semgrep
}
else {
cVar1 = *(char *)(param_1 + 0x4bdd) //possible issue identified - semgrep
}
LAB_00098d24:
if (cVar1 != '\0') {
printk("RF:%x\n",*(undefined4 *)(param_1 + 0x4bf0));
}
ResponseToGUI(param_3,param_2,2,0);
return 0;
}