/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

void FUN_004056e8(int param_1,uint *param_2)

{
  uint uVar1;
  size_t __n;
  char *pcStackX_4;
  undefined4 uStackX_8;
  uint uStackX_c;
  
  uVar1 = (*param_2 & 0xf) * 4;
  if (uVar1 < 0x15) {
    *(undefined2 *)(param_1 + 0x4e) = 0;
  }
  else {
    __n = uVar1 - 0x14   //possible issue identified - semgrep
    memcpy((void *)(param_1 + 0x21),param_2 + 5,__n)   //possible issue identified - semgrep
    *(short *)(param_1 + 0x4e) = (short)__n;
  }
  uStackX_c = (uint)*(ushort *)(param_1 + 0x4e);
  uStackX_8 = *(undefined4 *)(param_1 + 8);
  pcStackX_4 = "update_ip_option";
  if (DAT_0041b814 != 0) {
    vfprintf(_stdout,"%s for %X  len:%d\n",&pcStackX_4);
  }
  return;
}