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;
}