// File: /workspace/github_c_makefile_star2_O1/schroeder-lvb[P]sissm/src/pioverride.c
// Function: pioverrideInitConfig
int pioverrideInitConfig( void )
{
    cfsPtr cP;

    cP = cfsCreate( sissmGetConfigPath() );

    // read "pioverride.pluginstate" variable from the .cfg file
    pioverrideConfig.pluginState = (int) cfsFetchNum( cP, "pioverride.pluginState", 0.0 );  // disabled by default

    // array of 10 [<gamemodeproperty> <value>] pairs
    //
    strlcpy( pioverrideConfig.cvar[0],  cfsFetchStr( cP, "pioverride.cvar[0]",  "" ), CFS_FETCH_MAX );
    strlcpy( pioverrideConfig.cvar[1],  cfsFetchStr( cP, "pioverride.cvar[1]",  "" ), CFS_FETCH_MAX );
    strlcpy( pioverrideConfig.cvar[2],  cfsFetchStr( cP, "pioverride.cvar[2]",  "" ), CFS_FETCH_MAX );
    strlcpy( pioverrideConfig.cvar[3],  cfsFetchStr( cP, "pioverride.cvar[3]",  "" ), CFS_FETCH_MAX );
    strlcpy( pioverrideConfig.cvar[4],  cfsFetchStr( cP, "pioverride.cvar[4]",  "" ), CFS_FETCH_MAX );
    strlcpy( pioverrideConfig.cvar[5],  cfsFetchStr( cP, "pioverride.cvar[5]",  "" ), CFS_FETCH_MAX );
    strlcpy( pioverrideConfig.cvar[6],  cfsFetchStr( cP, "pioverride.cvar[6]",  "" ), CFS_FETCH_MAX );
    strlcpy( pioverrideConfig.cvar[7],  cfsFetchStr( cP, "pioverride.cvar[7]",  "" ), CFS_FETCH_MAX );
    strlcpy( pioverrideConfig.cvar[8],  cfsFetchStr( cP, "pioverride.cvar[8]",  "" ), CFS_FETCH_MAX );
    strlcpy( pioverrideConfig.cvar[9],  cfsFetchStr( cP, "pioverride.cvar[9]",  "" ), CFS_FETCH_MAX );

    // if pokeEveryRound = 1, then this plugin will program the gamemodeproperty to 
    // the server at start of every round.  Otherwise, it is only programmed at start of 
    // every game.
    //
    pioverrideConfig.pokeEveryRound = (int) cfsFetchNum( cP, "pioverride.pokeEveryRound", 0 );

    cfsDestroy( cP );
    return 0;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
callq 0x8969
movq %rax, %rdi
callq 0x9004
movq %rax, %rbx
leaq 0xdc2f(%rip), %rsi      # 0x1d656
xorpd %xmm0, %xmm0
movq %rax, %rdi
callq 0x9276
cvttsd2si %xmm0, %eax
movl %eax, 0xb9463(%rip)     # 0xc8ea0
leaq 0xdc29(%rip), %rsi      # 0x1d66d
leaq 0xbcc6(%rip), %r14      # 0x1b711
movq %rbx, %rdi
movq %r14, %rdx
callq 0x907b
leaq 0xb9447(%rip), %rdi     # 0xc8ea4
movl $0x400, %edx            # imm = 0x400
movq %rax, %rsi
callq 0xf038
leaq 0xdc0f(%rip), %rsi      # 0x1d680
movq %rbx, %rdi
movq %r14, %rdx
callq 0x907b
leaq 0xb9821(%rip), %rdi     # 0xc92a4
movl $0x400, %edx            # imm = 0x400
movq %rax, %rsi
callq 0xf038
leaq 0xdbfc(%rip), %rsi      # 0x1d693
movq %rbx, %rdi
movq %r14, %rdx
callq 0x907b
leaq 0xb9bfb(%rip), %rdi     # 0xc96a4
movl $0x400, %edx            # imm = 0x400
movq %rax, %rsi
callq 0xf038
leaq 0xdbe9(%rip), %rsi      # 0x1d6a6
movq %rbx, %rdi
movq %r14, %rdx
callq 0x907b
leaq 0xb9fd5(%rip), %rdi     # 0xc9aa4
movl $0x400, %edx            # imm = 0x400
movq %rax, %rsi
callq 0xf038
leaq 0xdbd6(%rip), %rsi      # 0x1d6b9
movq %rbx, %rdi
movq %r14, %rdx
callq 0x907b
leaq 0xba3af(%rip), %rdi     # 0xc9ea4
movl $0x400, %edx            # imm = 0x400
movq %rax, %rsi
callq 0xf038
leaq 0xdbc3(%rip), %rsi      # 0x1d6cc
movq %rbx, %rdi
movq %r14, %rdx
callq 0x907b
leaq 0xba789(%rip), %rdi     # 0xca2a4
movl $0x400, %edx            # imm = 0x400
movq %rax, %rsi
callq 0xf038
leaq 0xdbb0(%rip), %rsi      # 0x1d6df
movq %rbx, %rdi
movq %r14, %rdx
callq 0x907b
leaq 0xbab63(%rip), %rdi     # 0xca6a4
movl $0x400, %edx            # imm = 0x400
movq %rax, %rsi
callq 0xf038
leaq 0xdb9d(%rip), %rsi      # 0x1d6f2
movq %rbx, %rdi
movq %r14, %rdx
callq 0x907b
leaq 0xbaf3d(%rip), %rdi     # 0xcaaa4
movl $0x400, %edx            # imm = 0x400
movq %rax, %rsi
callq 0xf038
leaq 0xdb8a(%rip), %rsi      # 0x1d705
movq %rbx, %rdi
movq %r14, %rdx
callq 0x907b
leaq 0xbb317(%rip), %rdi     # 0xcaea4
movl $0x400, %edx            # imm = 0x400
movq %rax, %rsi
callq 0xf038
leaq 0xdb77(%rip), %rsi      # 0x1d718
movq %rbx, %rdi
movq %r14, %rdx
callq 0x907b
leaq 0xbb6f1(%rip), %rdi     # 0xcb2a4
movl $0x400, %edx            # imm = 0x400
movq %rax, %rsi
callq 0xf038
leaq 0xdb64(%rip), %rsi      # 0x1d72b
xorpd %xmm0, %xmm0
movq %rbx, %rdi
callq 0x9276
cvttsd2si %xmm0, %eax
movl %eax, 0xbbac7(%rip)     # 0xcb6a4
movq %rbx, %rdi
callq 0x905c
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
retq