void packetio_tx_hello(void)

{
  undefined2 uVar1;
  int *piVar2;
  undefined1 *puVar3;
  int iVar4;
  
  puVar3 = (undefined1 *)fmt_base(g_txbuf,&g_hwaddr,&DAT_0040e0d4,0,1,0,1);
  uVar1 = g_generation;
  puVar3[1] = (char)g_generation;
  *puVar3 = (char)((ushort)uVar1 >> 8);
  piVar2 = g_topo_session;
  if ((g_topo_session == (int *)0x0) || (*g_topo_session == 0)) {
    puVar3[2] = 0;
    puVar3[7] = 0;
    puVar3[3] = 0;
    puVar3[4] = 0;
    puVar3[5] = 0;
    puVar3[6] = 0;
    puVar3[8] = 0;
    puVar3[0xd] = 0;
    puVar3[9] = 0;
    puVar3[10] = 0;
    puVar3[0xb] = 0;
    puVar3[0xc] = 0;
  }
  else {
    memcpy(puVar3 + 2,(void *)((int)g_topo_session + 0xe),6)   //possible issue identified - semgrep
    memcpy(puVar3 + 8,piVar2 + 5,6)   //possible issue identified - semgrep
  }
  iVar4 = tlv_write_info(0x41f19a,0x5bb);
  g_txbuf[iVar4 + 0x2e] = 0;
  FUN_00406238(iVar4 + 0x2f,0);
  return;
}