// File: /workspace/github_c_makefile_star2_O3/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 0x8970
movq %rax, %rdi
callq 0x8ffc
movq %rax, %rbx
leaq 0xd8c3(%rip), %rsi      # 0x1d62e
xorpd %xmm0, %xmm0
movq %rax, %rdi
callq 0x926a
cvttsd2si %xmm0, %eax
movl %eax, 0xb911f(%rip)     # 0xc8ea0
leaq 0xd8bd(%rip), %rsi      # 0x1d645
leaq 0xb97a(%rip), %r14      # 0x1b709
movq %rbx, %rdi
movq %r14, %rdx
callq 0x9073
leaq 0xb9103(%rip), %rdi     # 0xc8ea4
movl $0x400, %edx            # imm = 0x400
movq %rax, %rsi
callq 0xf384
leaq 0xd8a3(%rip), %rsi      # 0x1d658
movq %rbx, %rdi
movq %r14, %rdx
callq 0x9073
leaq 0xb94dd(%rip), %rdi     # 0xc92a4
movl $0x400, %edx            # imm = 0x400
movq %rax, %rsi
callq 0xf384
leaq 0xd890(%rip), %rsi      # 0x1d66b
movq %rbx, %rdi
movq %r14, %rdx
callq 0x9073
leaq 0xb98b7(%rip), %rdi     # 0xc96a4
movl $0x400, %edx            # imm = 0x400
movq %rax, %rsi
callq 0xf384
leaq 0xd87d(%rip), %rsi      # 0x1d67e
movq %rbx, %rdi
movq %r14, %rdx
callq 0x9073
leaq 0xb9c91(%rip), %rdi     # 0xc9aa4
movl $0x400, %edx            # imm = 0x400
movq %rax, %rsi
callq 0xf384
leaq 0xd86a(%rip), %rsi      # 0x1d691
movq %rbx, %rdi
movq %r14, %rdx
callq 0x9073
leaq 0xba06b(%rip), %rdi     # 0xc9ea4
movl $0x400, %edx            # imm = 0x400
movq %rax, %rsi
callq 0xf384
leaq 0xd857(%rip), %rsi      # 0x1d6a4
movq %rbx, %rdi
movq %r14, %rdx
callq 0x9073
leaq 0xba445(%rip), %rdi     # 0xca2a4
movl $0x400, %edx            # imm = 0x400
movq %rax, %rsi
callq 0xf384
leaq 0xd844(%rip), %rsi      # 0x1d6b7
movq %rbx, %rdi
movq %r14, %rdx
callq 0x9073
leaq 0xba81f(%rip), %rdi     # 0xca6a4
movl $0x400, %edx            # imm = 0x400
movq %rax, %rsi
callq 0xf384
leaq 0xd831(%rip), %rsi      # 0x1d6ca
movq %rbx, %rdi
movq %r14, %rdx
callq 0x9073
leaq 0xbabf9(%rip), %rdi     # 0xcaaa4
movl $0x400, %edx            # imm = 0x400
movq %rax, %rsi
callq 0xf384
leaq 0xd81e(%rip), %rsi      # 0x1d6dd
movq %rbx, %rdi
movq %r14, %rdx
callq 0x9073
leaq 0xbafd3(%rip), %rdi     # 0xcaea4
movl $0x400, %edx            # imm = 0x400
movq %rax, %rsi
callq 0xf384
leaq 0xd80b(%rip), %rsi      # 0x1d6f0
movq %rbx, %rdi
movq %r14, %rdx
callq 0x9073
leaq 0xbb3ad(%rip), %rdi     # 0xcb2a4
movl $0x400, %edx            # imm = 0x400
movq %rax, %rsi
callq 0xf384
leaq 0xd7f8(%rip), %rsi      # 0x1d703
xorpd %xmm0, %xmm0
movq %rbx, %rdi
callq 0x926a
cvttsd2si %xmm0, %eax
movl %eax, 0xbb783(%rip)     # 0xcb6a4
movq %rbx, %rdi
callq 0x9054
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
retq