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

void FUN_00404a80(int param_1)

{
  char *pcVar1;
  undefined4 *puVar2;
  
  pcVar1 = *(char **)(param_1 + 0x10);
  if (pcVar1 == (char *)0x0) {
    pcVar1 = "";
  }
  fprintf(_stderr,"event : [%s] trigger=%d, arg=[%s]\n",*(undefined4 *)(param_1 + 8),
          *(undefined4 *)(param_1 + 0xc),pcVar1);
  puVar2 = (undefined4 *)0x0;
  while( true ) {
    if (puVar2 == (undefined4 *)0x0) {
      puVar2 = *(undefined4 **)(param_1 + 0x14);
    }
    else {
      puVar2 = (undefined4 *)*puVar2;
    }
    if ((puVar2 == (undefined4 *)(param_1 + 0x14)) || (puVar2 == (undefined4 *)0x0)) break;
    fprintf(_stderr,"        handler (%s):pid=%d,tbr=%d,[%s]\n",puVar2[3],puVar2[2],puVar2[5],
            puVar2[4]);
  }
  return;
}