int fmt_base(void *param_1,void *param_2,undefined *param_3,undefined1 param_4,undefined1 param_5,
            undefined2 param_6,int param_7)

{
  undefined *__src;
  
  memcpy((void *)((int)param_1 + 6),param_2,6)   //possible issue identified - semgrep
  __src = param_3;
  if (param_7 != 0) {
    __src = &DAT_0040e0d4;
  }
  memcpy(param_1,__src,6)   //possible issue identified - semgrep
  *(undefined1 *)((int)param_1 + 0xe) = 1;
  *(undefined1 *)((int)param_1 + 0xc) = 0x88;
  *(undefined1 *)((int)param_1 + 0xd) = 0xd9;
  *(undefined1 *)((int)param_1 + 0xf) = param_4;
  *(undefined1 *)((int)param_1 + 0x11) = param_5;
  memcpy((void *)((int)param_1 + 0x18),param_2,6)   //possible issue identified - semgrep
  memcpy((void *)((int)param_1 + 0x12),param_3,6)   //possible issue identified - semgrep
  *(char *)((int)param_1 + 0x1e) = (char)((ushort)param_6 >> 8);
  *(char *)((int)param_1 + 0x1f) = (char)param_6;
  return (int)param_1 + 0x20;
}