// File: /workspace/github_c_makefile_star2_O0/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 %rbp
movq %rsp, %rbp
subq $0x10, %rsp
callq 0xfd40
cmpl $0x0, 0x73434(%rip)     # 0x840e8
jne 0x10cc2
movl $0x0, -0x4(%rbp)
jmp 0x10e09
movl $0x3, %edi
leaq -0xc9e(%rip), %rsi      # 0x10030
callq 0xee50
movl $0x4, %edi
leaq -0xc9f(%rip), %rsi      # 0x10040
callq 0xee50
movl $0x1, %edi
leaq -0x490(%rip), %rsi      # 0x10860
callq 0xee50
movl $0x2, %edi
leaq -0x491(%rip), %rsi      # 0x10870
callq 0xee50
movl $0x5, %edi
leaq -0x492(%rip), %rsi      # 0x10880
callq 0xee50
movl $0x6, %edi
leaq -0x493(%rip), %rsi      # 0x10890
callq 0xee50
movl $0x7, %edi
leaq -0x494(%rip), %rsi      # 0x108a0
callq 0xee50
movl $0x8, %edi
leaq -0x495(%rip), %rsi      # 0x108b0
callq 0xee50
movl $0x9, %edi
leaq -0x196(%rip), %rsi      # 0x10bc0
callq 0xee50
movl $0xa, %edi
leaq -0xd07(%rip), %rsi      # 0x10060
callq 0xee50
movl $0xb, %edi
leaq -0xd08(%rip), %rsi      # 0x10070
callq 0xee50
movl $0xe, %edi
leaq -0x1b9(%rip), %rsi      # 0x10bd0
callq 0xee50
movl $0xc, %edi
leaq -0x18a(%rip), %rsi      # 0x10c10
callq 0xee50
movl $0xd, %edi
leaq -0x1cb(%rip), %rsi      # 0x10be0
callq 0xee50
xorl %edi, %edi
leaq -0xd69(%rip), %rsi      # 0x10050
callq 0xee50
movl $0xf, %edi
leaq -0x18a(%rip), %rsi      # 0x10c40
callq 0xee50
movl $0x11, %edi
leaq -0x18b(%rip), %rsi      # 0x10c50
callq 0xee50
movl $0x12, %edi
leaq -0x18c(%rip), %rsi      # 0x10c60
callq 0xee50
movl $0x13, %edi
leaq -0x18d(%rip), %rsi      # 0x10c70
callq 0xee50
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)