// File: /workspace/github_c_makefile_star2_O3/schroeder-lvb[P]sissm/src/pidynbots.c
// Function: pidynbotsInstallPlugin
int pidynbotsInstallPlugin( void )
{
    // Read the plugin-specific variables from the .cfg file 
    // 
    pidynbotsInitConfig();

    // if plugin is disabled in the .cfg file then do not activate
    //
    if ( pidynbotsConfig.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,           pidynbotsClientAddCB );
    eventsRegister( SISSM_EV_CLIENT_DEL,           pidynbotsClientDelCB );
    eventsRegister( SISSM_EV_INIT,                 pidynbotsInitCB );
    eventsRegister( SISSM_EV_RESTART,              pidynbotsRestartCB );
    eventsRegister( SISSM_EV_MAPCHANGE,            pidynbotsMapChangeCB );
    eventsRegister( SISSM_EV_GAME_START,           pidynbotsGameStartCB );
    eventsRegister( SISSM_EV_GAME_END,             pidynbotsGameEndCB );
    eventsRegister( SISSM_EV_ROUND_START,          pidynbotsRoundStartCB );
    eventsRegister( SISSM_EV_ROUND_END,            pidynbotsRoundEndCB );
    eventsRegister( SISSM_EV_OBJECTIVE_CAPTURED,   pidynbotsCapturedCB );
    eventsRegister( SISSM_EV_PERIODIC,             pidynbotsPeriodicCB );
    eventsRegister( SISSM_EV_SHUTDOWN,             pidynbotsShutdownCB );
    eventsRegister( SISSM_EV_CLIENT_ADD_SYNTH,     pidynbotsClientSynthAddCB );
    eventsRegister( SISSM_EV_CLIENT_DEL_SYNTH,     pidynbotsClientSynthDelCB );
    eventsRegister( SISSM_EV_CHAT,                 pidynbotsChatCB     );
    eventsRegister( SISSM_EV_SIGTERM,              pidynbotsSigtermCB  );
    eventsRegister( SISSM_EV_TRAVEL,               pidynbotsTravel );
    eventsRegister( SISSM_EV_SESSIONLOG,           pidynbotsSessionLog );
    eventsRegister( SISSM_EV_OBJECT_SYNTH,         pidynbotsObjectSynth );

    return 0;
}

// Assembly:
pushq %rax
callq 0xdec4
cmpl $0x0, 0x6d670(%rip)     # 0x7c0e8
je 0xebbe
leaq -0x940(%rip), %rsi      # 0xe145
movl $0x3, %edi
callq 0xd40c
leaq -0x94e(%rip), %rsi      # 0xe148
movl $0x4, %edi
callq 0xd40c
leaq -0x2d2(%rip), %rsi      # 0xe7d5
movl $0x1, %edi
callq 0xd40c
leaq -0x2e0(%rip), %rsi      # 0xe7d8
movl $0x2, %edi
callq 0xd40c
leaq -0x2ee(%rip), %rsi      # 0xe7db
movl $0x5, %edi
callq 0xd40c
leaq -0x2fc(%rip), %rsi      # 0xe7de
movl $0x6, %edi
callq 0xd40c
leaq -0x30a(%rip), %rsi      # 0xe7e1
movl $0x7, %edi
callq 0xd40c
leaq -0x318(%rip), %rsi      # 0xe7e4
movl $0x8, %edi
callq 0xd40c
leaq -0xfc(%rip), %rsi       # 0xea11
movl $0x9, %edi
callq 0xd40c
leaq -0x9d0(%rip), %rsi      # 0xe14e
movl $0xa, %edi
callq 0xd40c
leaq -0x9de(%rip), %rsi      # 0xe151
movl $0xb, %edi
callq 0xd40c
leaq -0x12c(%rip), %rsi      # 0xea14
movl $0xe, %edi
callq 0xd40c
leaq -0x122(%rip), %rsi      # 0xea2f
movl $0xc, %edi
callq 0xd40c
leaq -0x14b(%rip), %rsi      # 0xea17
movl $0xd, %edi
callq 0xd40c
leaq -0xa28(%rip), %rsi      # 0xe14b
xorl %edi, %edi
callq 0xd40c
leaq -0x13a(%rip), %rsi      # 0xea47
movl $0xf, %edi
callq 0xd40c
leaq -0x148(%rip), %rsi      # 0xea4a
movl $0x11, %edi
callq 0xd40c
leaq -0x156(%rip), %rsi      # 0xea4d
movl $0x12, %edi
callq 0xd40c
leaq -0x164(%rip), %rsi      # 0xea50
movl $0x13, %edi
callq 0xd40c
xorl %eax, %eax
popq %rcx
retq
nop