// File: /workspace/github_c_makefile_star2_O0/schroeder-lvb[P]sissm/src/piwebgen.c
// Function: piwebgenInitConfig
int piwebgenInitConfig( void )
{
    cfsPtr cP;

    cP = cfsCreate( sissmGetConfigPath() );

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

    piwebgenConfig.utf8Encoding = (int) cfsFetchNum( cP, "piwebgen.utf8Encoding", 1.0 );  // enabled by default

    // read "piwebgen.StringParameterExample" variable from the .cfg file
    strlcpy( piwebgenConfig.webFileName,  cfsFetchStr( cP, "piwebgen.webFileName",  "sissm.html" ), CFS_FETCH_MAX );
    piwebgenConfig.updateIntervalSec = (int) cfsFetchNum( cP, "piwebgen.updateIntervalSec", 60 );
    piwebgenConfig.updateOnChange    = (int) cfsFetchNum( cP, "piwebgen.updateOnChange", 1 );
    piwebgenConfig.autoRefreshHeader = (int) cfsFetchNum( cP, "piwebgen.autoRefreshHeader", 0 );
    strlcpy( piwebgenConfig.webminURL, cfsFetchStr( cP, "piwebgen.webminURL", "" ), 128 );
    strlcpy( piwebgenConfig.directConnect, cfsFetchStr( cP, "piwebgen.directConnect", ""), CFS_FETCH_MAX );
    strlcpy( piwebgenConfig.line2, cfsFetchStr( cP, "piwebgen.line2", ""), CFS_FETCH_MAX );
    piwebgenConfig.hyperlinkFormat   = (int) cfsFetchNum( cP, "piwebgen.hyperlinkFormat", 1 );
    piwebgenConfig.commTimeoutSec    = (int) cfsFetchNum( cP, "piwebgen.commTimeoutSec", 120 );
    piwebgenConfig.showSessionID     = (int) cfsFetchNum( cP, "piwebgen.showSessionID", 0 );
    piwebgenConfig.showUpTime        = (int) cfsFetchNum( cP, "piwebgen.showUpTime", 1.0 );
    piwebgenConfig.showLastReboot    = (int) cfsFetchNum( cP, "piwebgen.showLastReboot", 0 );
    piwebgenConfig.showCurrentTime   = (int) cfsFetchNum( cP, "piwebgen.showCurrentTime", 0 );
    piwebgenConfig.showGameMode      = (int) cfsFetchNum( cP, "piwebgen.showGameMode", 0 );
    piwebgenConfig.showMutators      = (int) cfsFetchNum( cP, "piwebgen.showMutators", 0 );
    piwebgenConfig.reReadHostName    = (int) cfsFetchNum( cP, "piwebgen.reReadHostName", 0 );

    cfsDestroy( cP );

    strlcpy( gameMode, "Unknown", API_LINE_STRING_MAX );
    strlcpy( gameMutators, "Unknown", API_LINE_STRING_MAX );

    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
callq 0x8a90
movq %rax, %rdi
callq 0x9370
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rdi
leaq 0x12334(%rip), %rsi     # 0x25868
xorps %xmm0, %xmm0
callq 0x97d0
cvttsd2si %xmm0, %eax
movl %eax, 0xc0d7a(%rip)     # 0xd42c0
movq -0x8(%rbp), %rdi
leaq 0x1232c(%rip), %rsi     # 0x2587d
movsd 0xfaaf(%rip), %xmm0     # 0x23008
callq 0x97d0
cvttsd2si %xmm0, %eax
movl %eax, 0xc0d5c(%rip)     # 0xd42c4
movq -0x8(%rbp), %rdi
leaq 0x12320(%rip), %rsi     # 0x25893
leaq 0x1232e(%rip), %rdx     # 0x258a8
callq 0x9430
movq %rax, %rsi
leaq 0xc0d37(%rip), %rdi     # 0xd42c0
addq $0x8, %rdi
movl $0x400, %edx            # imm = 0x400
callq 0x11bc0
movq -0x8(%rbp), %rdi
leaq 0x12311(%rip), %rsi     # 0x258b3
movsd 0x1158e(%rip), %xmm0    # 0x24b38
callq 0x97d0
cvttsd2si %xmm0, %eax
movl %eax, 0xc110f(%rip)     # 0xd46c8
movq -0x8(%rbp), %rdi
leaq 0x1230a(%rip), %rsi     # 0x258ce
movsd 0xfa3c(%rip), %xmm0     # 0x23008
callq 0x97d0
cvttsd2si %xmm0, %eax
movl %eax, 0xc10f1(%rip)     # 0xd46cc
movq -0x8(%rbp), %rdi
leaq 0x12300(%rip), %rsi     # 0x258e6
xorps %xmm0, %xmm0
callq 0x97d0
cvttsd2si %xmm0, %eax
movl %eax, 0xc195c(%rip)     # 0xd4f54
movq -0x8(%rbp), %rdi
leaq 0x122fe(%rip), %rsi     # 0x25901
leaq 0x10107(%rip), %rdx     # 0x23711
callq 0x9430
movq %rax, %rsi
leaq 0xc0ca7(%rip), %rdi     # 0xd42c0
addq $0x410, %rdi            # imm = 0x410
movl $0x80, %edx
callq 0x11bc0
movq -0x8(%rbp), %rdi
leaq 0x122df(%rip), %rsi     # 0x25914
leaq 0x100d5(%rip), %rdx     # 0x23711
callq 0x9430
movq %rax, %rsi
leaq 0xc0c75(%rip), %rdi     # 0xd42c0
addq $0x490, %rdi            # imm = 0x490
movl $0x400, %edx            # imm = 0x400
callq 0x11bc0
movq -0x8(%rbp), %rdi
leaq 0x122c4(%rip), %rsi     # 0x2592b
leaq 0x100a3(%rip), %rdx     # 0x23711
callq 0x9430
movq %rax, %rsi
leaq 0xc0c43(%rip), %rdi     # 0xd42c0
addq $0x890, %rdi            # imm = 0x890
movl $0x400, %edx            # imm = 0x400
callq 0x11bc0
movq -0x8(%rbp), %rdi
leaq 0x122a1(%rip), %rsi     # 0x2593a
movsd 0xf967(%rip), %xmm0     # 0x23008
callq 0x97d0
cvttsd2si %xmm0, %eax
movl %eax, 0xc18a0(%rip)     # 0xd4f50
movq -0x8(%rbp), %rdi
leaq 0x12298(%rip), %rsi     # 0x25953
movsd 0x1219d(%rip), %xmm0    # 0x25860
callq 0x97d0
cvttsd2si %xmm0, %eax
movl %eax, 0xc1886(%rip)     # 0xd4f58
movq -0x8(%rbp), %rdi
leaq 0x1228e(%rip), %rsi     # 0x2596b
xorps %xmm0, %xmm0
callq 0x97d0
cvttsd2si %xmm0, %eax
movl %eax, 0xc186d(%rip)     # 0xd4f5c
movq -0x8(%rbp), %rdi
leaq 0x12288(%rip), %rsi     # 0x25982
movsd 0xf906(%rip), %xmm0     # 0x23008
callq 0x97d0
cvttsd2si %xmm0, %eax
movl %eax, 0xc1853(%rip)     # 0xd4f64
movq -0x8(%rbp), %rdi
leaq 0x1227a(%rip), %rsi     # 0x25996
xorps %xmm0, %xmm0
callq 0x97d0
cvttsd2si %xmm0, %eax
movl %eax, 0xc183a(%rip)     # 0xd4f68
movq -0x8(%rbp), %rdi
leaq 0x12275(%rip), %rsi     # 0x259ae
xorps %xmm0, %xmm0
callq 0x97d0
cvttsd2si %xmm0, %eax
movl %eax, 0xc1821(%rip)     # 0xd4f6c
movq -0x8(%rbp), %rdi
leaq 0x12271(%rip), %rsi     # 0x259c7
xorps %xmm0, %xmm0
callq 0x97d0
cvttsd2si %xmm0, %eax
movl %eax, 0xc1808(%rip)     # 0xd4f70
movq -0x8(%rbp), %rdi
leaq 0x1226a(%rip), %rsi     # 0x259dd
xorps %xmm0, %xmm0
callq 0x97d0
cvttsd2si %xmm0, %eax
movl %eax, 0xc17ef(%rip)     # 0xd4f74
movq -0x8(%rbp), %rdi
leaq 0x12263(%rip), %rsi     # 0x259f3
xorps %xmm0, %xmm0
callq 0x97d0
cvttsd2si %xmm0, %eax
movl %eax, 0xc17be(%rip)     # 0xd4f60
movq -0x8(%rbp), %rdi
callq 0x93f0
leaq 0xc17ce(%rip), %rdi     # 0xd4f80
leaq 0x12252(%rip), %rsi     # 0x25a0b
movl $0x100, %edx            # imm = 0x100
callq 0x11bc0
leaq 0xc18b6(%rip), %rdi     # 0xd5080
leaq 0x1223a(%rip), %rsi     # 0x25a0b
movl $0x100, %edx            # imm = 0x100
callq 0x11bc0
xorl %eax, %eax
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)