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

    // if plugin is disabled in the .cfg file then do not activate
    //
    if ( pitacnomicConfig.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,           pitacnomicClientAddCB );
    eventsRegister( SISSM_EV_CLIENT_DEL,           pitacnomicClientDelCB );
    eventsRegister( SISSM_EV_INIT,                 pitacnomicInitCB );
    eventsRegister( SISSM_EV_RESTART,              pitacnomicRestartCB );
    eventsRegister( SISSM_EV_MAPCHANGE,            pitacnomicMapChangeCB );
    eventsRegister( SISSM_EV_GAME_START,           pitacnomicGameStartCB );
    eventsRegister( SISSM_EV_GAME_END,             pitacnomicGameEndCB );
    eventsRegister( SISSM_EV_ROUND_START,          pitacnomicRoundStartCB );
    eventsRegister( SISSM_EV_ROUND_END,            pitacnomicRoundEndCB );
    eventsRegister( SISSM_EV_OBJECTIVE_CAPTURED,   pitacnomicCapturedCB );
    eventsRegister( SISSM_EV_PERIODIC,             pitacnomicPeriodicCB );
    eventsRegister( SISSM_EV_SHUTDOWN,             pitacnomicShutdownCB );
    eventsRegister( SISSM_EV_CLIENT_ADD_SYNTH,     pitacnomicClientSynthAddCB );
    eventsRegister( SISSM_EV_CLIENT_DEL_SYNTH,     pitacnomicClientSynthDelCB );
    eventsRegister( SISSM_EV_CHAT,                 pitacnomicChatCB     );
    eventsRegister( SISSM_EV_SIGTERM,              pitacnomicSigtermCB  );
    eventsRegister( SISSM_EV_WINLOSE,              pitacnomicWinLose );
    eventsRegister( SISSM_EV_TRAVEL,               pitacnomicTravel );
    eventsRegister( SISSM_EV_SESSIONLOG,           pitacnomicSessionLog );
    eventsRegister( SISSM_EV_OBJECT_SYNTH,         pitacnomicObjectSynth );

    return 0;
}

// Assembly:
pushq %rax
callq 0xc7a8
cmpl $0x0, 0x5162d(%rip)     # 0x5e070
je 0xcb74
leaq -0x1be(%rip), %rsi      # 0xc892
pushq $0x3
popq %rdi
callq 0xcba7
leaq -0x1ca(%rip), %rsi      # 0xc895
pushq $0x4
popq %rdi
callq 0xcba7
leaq -0x1d6(%rip), %rsi      # 0xc898
pushq $0x1
popq %rdi
callq 0xcba7
leaq -0x1e2(%rip), %rsi      # 0xc89b
pushq $0x2
popq %rdi
callq 0xcba7
leaq -0x1ee(%rip), %rsi      # 0xc89e
pushq $0x5
popq %rdi
callq 0xcba7
leaq -0x1fa(%rip), %rsi      # 0xc8a1
pushq $0x6
popq %rdi
callq 0xcba7
leaq -0x206(%rip), %rsi      # 0xc8a4
pushq $0x7
popq %rdi
callq 0xcba7
leaq -0x212(%rip), %rsi      # 0xc8a7
pushq $0x8
popq %rdi
callq 0xcba7
leaq -0x21e(%rip), %rsi      # 0xc8aa
pushq $0x9
popq %rdi
callq 0xcba7
leaq -0x22a(%rip), %rsi      # 0xc8ad
pushq $0xa
popq %rdi
callq 0xcba7
leaq -0x236(%rip), %rsi      # 0xc8b0
pushq $0xb
popq %rdi
callq 0xcba7
leaq -0x242(%rip), %rsi      # 0xc8b3
pushq $0xe
popq %rdi
callq 0xcba7
leaq -0x24b(%rip), %rsi      # 0xc8b9
pushq $0xc
popq %rdi
callq 0xcba7
leaq -0x25d(%rip), %rsi      # 0xc8b6
pushq $0xd
popq %rdi
callq 0xcba7
leaq -0x266(%rip), %rsi      # 0xc8bc
xorl %edi, %edi
callq 0xcba7
leaq -0x109(%rip), %rsi      # 0xca27
pushq $0xf
popq %rdi
callq 0xcba7
leaq -0x115(%rip), %rsi      # 0xca2a
pushq $0x10
popq %rdi
callq 0xcba7
leaq -0x121(%rip), %rsi      # 0xca2d
pushq $0x11
popq %rdi
callq 0xcba7
leaq -0x12d(%rip), %rsi      # 0xca30
pushq $0x12
popq %rdi
callq 0xcba7
leaq -0x139(%rip), %rsi      # 0xca33
pushq $0x13
popq %rdi
callq 0xcba7
xorl %eax, %eax
popq %rcx
retq