// File: /workspace/github_c_makefile_star2_O2/schroeder-lvb[P]sissm/src/pistats.c
// Function: pistatsInstallPlugin
int pistatsInstallPlugin( void )
{
    // Read the plugin-specific variables from the .cfg file 
    // 
    pistatsInitConfig();

    // if plugin is disabled in the .cfg file then do not activate
    //
    if ( pistatsConfig.pluginState == 0 ) return 0;

    // Install Event-driven CallBack hooks so the plugin gets
    // notified for various happenings.  A complete list is here,
    // but comment out what is not needed for your plug-in.
    // 
    eventsRegister( SISSM_EV_CLIENT_ADD,           pistatsClientAddCB );
    eventsRegister( SISSM_EV_CLIENT_DEL,           pistatsClientDelCB );
    eventsRegister( SISSM_EV_INIT,                 pistatsInitCB );
    eventsRegister( SISSM_EV_RESTART,              pistatsRestartCB );
    eventsRegister( SISSM_EV_MAPCHANGE,            pistatsMapChangeCB );
    eventsRegister( SISSM_EV_GAME_START,           pistatsGameStartCB );
    eventsRegister( SISSM_EV_GAME_END,             pistatsGameEndCB );
    eventsRegister( SISSM_EV_ROUND_START,          pistatsRoundStartCB );
    eventsRegister( SISSM_EV_ROUND_END,            pistatsRoundEndCB );
    eventsRegister( SISSM_EV_OBJECTIVE_CAPTURED,   pistatsCapturedCB );
    eventsRegister( SISSM_EV_PERIODIC,             pistatsPeriodicCB );
    eventsRegister( SISSM_EV_SHUTDOWN,             pistatsShutdownCB );
    eventsRegister( SISSM_EV_CLIENT_ADD_SYNTH,     pistatsClientSynthAddCB );
    eventsRegister( SISSM_EV_CLIENT_DEL_SYNTH,     pistatsClientSynthDelCB );
    eventsRegister( SISSM_EV_CHAT,                 pistatsChatCB     );
    eventsRegister( SISSM_EV_SIGTERM,              pistatsSigtermCB  );
    eventsRegister( SISSM_EV_WINLOSE,              pistatsWinLose );
    eventsRegister( SISSM_EV_TRAVEL,               pistatsTravel );
    eventsRegister( SISSM_EV_SESSIONLOG,           pistatsSessionLog );
    eventsRegister( SISSM_EV_OBJECT_SYNTH,         pistatsObjectSynth );

    return 0;
}

// Assembly:
pushq %rax
callq 0x193c8
cmpl $0x0, 0x22b207(%rip)    # 0x244ce0
je 0x19c0a
leaq -0x645(%rip), %rsi      # 0x194a1
pushq $0x3
popq %rdi
callq 0xcba7
leaq -0x589(%rip), %rsi      # 0x1956c
pushq $0x4
popq %rdi
callq 0xcba7
leaq -0x525(%rip), %rsi      # 0x195df
pushq $0x1
popq %rdi
callq 0xcba7
leaq -0x514(%rip), %rsi      # 0x195ff
pushq $0x2
popq %rdi
callq 0xcba7
leaq -0x503(%rip), %rsi      # 0x1961f
pushq $0x5
popq %rdi
callq 0xcba7
leaq -0x4a9(%rip), %rsi      # 0x19688
pushq $0x6
popq %rdi
callq 0xcba7
leaq -0x42b(%rip), %rsi      # 0x19715
pushq $0x7
popq %rdi
callq 0xcba7
leaq -0x40c(%rip), %rsi      # 0x19743
pushq $0x8
popq %rdi
callq 0xcba7
leaq -0x3ed(%rip), %rsi      # 0x19771
pushq $0x9
popq %rdi
callq 0xcba7
leaq -0x3ce(%rip), %rsi      # 0x1979f
pushq $0xa
popq %rdi
callq 0xcba7
leaq -0x391(%rip), %rsi      # 0x197eb
pushq $0xb
popq %rdi
callq 0xcba7
leaq -0x380(%rip), %rsi      # 0x1980b
pushq $0xe
popq %rdi
callq 0xcba7
leaq -0x308(%rip), %rsi      # 0x19892
pushq $0xc
popq %rdi
callq 0xcba7
leaq -0x37e(%rip), %rsi      # 0x1982b
pushq $0xd
popq %rdi
callq 0xcba7
leaq -0x2bf(%rip), %rsi      # 0x198f9
xorl %edi, %edi
callq 0xcba7
leaq -0x2ad(%rip), %rsi      # 0x19919
pushq $0xf
popq %rdi
callq 0xcba7
leaq -0x29f(%rip), %rsi      # 0x19936
pushq $0x10
popq %rdi
callq 0xcba7
leaq -0x212(%rip), %rsi      # 0x199d2
pushq $0x11
popq %rdi
callq 0xcba7
leaq -0x1b0(%rip), %rsi      # 0x19a43
pushq $0x12
popq %rdi
callq 0xcba7
leaq -0x186(%rip), %rsi      # 0x19a7c
pushq $0x13
popq %rdi
callq 0xcba7
xorl %eax, %eax
popq %rcx
retq