LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/schroeder-lvb[P]sissm/src/rdrv.c
// Function: rdrvCommand
int rdrvCommand( rdrvObj *rPtr, int msgType, char *rconCmd, char *rconResp, int *bytesRead )
{
    int         bytesRead2, errCode;
    static char rconRespCont[BUFSIZE_R];                // for receiving continuation buffer
    static char *rconCmdBlank = "";                               // for sending null string  

    errCode = _rdrvCommand( rPtr, msgType, rconCmd, rconResp, bytesRead );

    while (0 == errCode ) {

        // The above response code postfixes the data with "0x00 0x00" representing end of message
        // BUT this "0x00 0x00" will be missing if data has additional continuation packet(s)
        //
        errCode = _rdrvCommand( rPtr, 0, rconCmdBlank, rconRespCont, &bytesRead2 );
        if ( bytesRead2 <= 2) break;    // if there is no continuation, break out

        logPrintf(LOG_LEVEL_INFO, "rdrv", "Continuation RCON packet %02x %02x %02x containing ::%s::", 
            rconRespCont[0], rconRespCont[1], rconRespCont[2], &rconRespCont[3] );

        // Concatenate the continuation data to the end of master receive buffer
        // First 3 bytes of cont response should be { 0x00 0x00 0x80 } so we skip that
        //
        if (( *bytesRead + bytesRead2 - 3 ) >=  BUFSIZE_R ) break;   // memory bounds safety check
        memcpy( &rconResp[ *bytesRead ], &rconRespCont[ 3 ], bytesRead2 - 3 );
        *bytesRead += (bytesRead2 - 3);          // update totoal size not including 3 byte header
        
    }

    return( errCode );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
movq -0x28(%rbp), %r8
callq 0xa030
movl %eax, -0x30(%rbp)
xorl %eax, %eax
cmpl -0x30(%rbp), %eax
jne 0xa01b
movq -0x8(%rbp), %rdi
movq 0x26294(%rip), %rdx     # 0x30200
xorl %esi, %esi
leaq 0x2a9cb(%rip), %rcx     # 0x34940
leaq -0x2c(%rbp), %r8
callq 0xa030
movl %eax, -0x30(%rbp)
cmpl $0x2, -0x2c(%rbp)
jg 0x9f8c
jmp 0xa01b
movsbl 0x2a9ad(%rip), %ecx     # 0x34940
movsbl 0x2a9a6(%rip), %r8d     # 0x34941
movsbl 0x2a99f(%rip), %r9d     # 0x34942
movl $0x2, %edi
leaq 0x195fb(%rip), %rsi     # 0x235aa
leaq 0x19671(%rip), %rdx     # 0x23627
leaq 0x2a983(%rip), %rax     # 0x34940
addq $0x3, %rax
movq %rax, (%rsp)
movb $0x0, %al
callq 0x21bf0
movq -0x28(%rbp), %rax
movl (%rax), %eax
addl -0x2c(%rbp), %eax
subl $0x3, %eax
cmpl $0x4000, %eax           # imm = 0x4000
jl 0x9fe1
jmp 0xa01b
movq -0x20(%rbp), %rdi
movq -0x28(%rbp), %rax
movslq (%rax), %rax
addq %rax, %rdi
movl -0x2c(%rbp), %eax
subl $0x3, %eax
movslq %eax, %rdx
leaq 0x2a941(%rip), %rsi     # 0x34940
addq $0x3, %rsi
callq 0x8270
movl -0x2c(%rbp), %ecx
subl $0x3, %ecx
movq -0x28(%rbp), %rax
addl (%rax), %ecx
movl %ecx, (%rax)
jmp 0x9f56
movl -0x30(%rbp), %eax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/schroeder-lvb[P]sissm/src/picladmin.c
// Function: cmdMacros
int _cmdMacros( char *arg, char *arg2, char *passThru ) 
{
    int i, j = 1, errCode = 1;
    char *w;
    char statusIn[ 1024 ];

    for (i = 0; i<NUM_MACROS; i++) {
        w = getWord( picladminConfig.macros[i], 0, "\007");                // get the macro label
        if ( w != NULL ) {                                       // skip blank entries (possible)
            if ( 0 == strcmp( arg, w ) ) {                         // check if operator cmd match
                while ( NULL != ( w = getWord( picladminConfig.macros[i], j++, "\007" )) ) {
                    errCode = (0 == apiRcon( w, statusIn ));
                    if ( errCode ) break;
                } 
                break;
            }
        }
    }
    _stddResp( errCode );   // ok or error message to game

    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x430, %rsp            # imm = 0x430
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x1, -0x20(%rbp)
movl $0x1, -0x24(%rbp)
movl $0x0, -0x1c(%rbp)
cmpl $0x80, -0x1c(%rbp)
jge 0xa4b3
movslq -0x1c(%rbp), %rax
leaq 0x3254c(%rip), %rdi     # 0x3c940
addq $0x4004, %rdi           # imm = 0x4004
shlq $0xa, %rax
addq %rax, %rdi
xorl %esi, %esi
leaq 0x19305(%rip), %rdx     # 0x23710
callq 0x122d0
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
je 0xa4a3
movq -0x8(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0x8200
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0xa4a1
jmp 0xa436
movslq -0x1c(%rbp), %rax
leaq 0x324ff(%rip), %rdi     # 0x3c940
addq $0x4004, %rdi           # imm = 0x4004
shlq $0xa, %rax
addq %rax, %rdi
movl -0x20(%rbp), %esi
movl %esi, %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
leaq 0x192af(%rip), %rdx     # 0x23710
callq 0x122d0
movq %rax, %rcx
movq %rcx, -0x30(%rbp)
xorl %eax, %eax
cmpq %rcx, %rax
je 0xa49f
movq -0x30(%rbp), %rdi
leaq -0x430(%rbp), %rsi
callq 0x17fa0
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
sete %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x24(%rbp)
cmpl $0x0, -0x24(%rbp)
je 0xa49d
jmp 0xa49f
jmp 0xa436
jmp 0xa4b3
jmp 0xa4a3
jmp 0xa4a5
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0xa3dc
movl -0x24(%rbp), %edi
callq 0xa4d0
xorl %eax, %eax
addq $0x430, %rsp            # imm = 0x430
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/schroeder-lvb[P]sissm/src/picladmin.c
// Function: stddResp
static void _stddResp( int errCode )
{
    if ( 0 == errCode ) 
        _respSay( picladminConfig.msgOk );              // ok message
    else                
        _respSay( picladminConfig.msgErr );          // error message
    return;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
xorl %eax, %eax
cmpl -0x4(%rbp), %eax
jne 0xa4f4
leaq 0x32457(%rip), %rdi     # 0x3c940
addq $0x4, %rdi
callq 0xe2e0
jmp 0xa507
leaq 0x32445(%rip), %rdi     # 0x3c940
addq $0x1404, %rdi           # imm = 0x1404
callq 0xe2e0
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/schroeder-lvb[P]sissm/src/picladmin.c
// Function: cmdMacrosList
int _cmdMacrosList( char *arg, char *arg2, char *passThru ) 
{
    int i, errCode = 1;
    char listOut[ 1024 ];

    strlcpy( listOut, "Macros: ", 1024 ); 

    for (i = 0; i<NUM_MACROS; i++) {
        if ( 0 != strlen( picladminConfig.macros[i] )) {    // skip blank entries (possible)
            strlcat( listOut, getWord( picladminConfig.macros[i], 0, "\007" ), 1024 );
            strlcat( listOut, " ", 1024 );
            if ( strlen( listOut ) > 40 ) {
                apiSaySys( listOut );
                strclr( listOut );
            }
            errCode = 0;
        }
    }
    if ( errCode ) {
        apiSaySys( "No Macros defined in config" );
    }
    else {
        if (0 != strlen( listOut )) apiSaySys( listOut );
    }
    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x430, %rsp            # imm = 0x430
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x1, -0x20(%rbp)
leaq -0x420(%rbp), %rdi
leaq 0x191d6(%rip), %rsi     # 0x23712
movl $0x400, %edx            # imm = 0x400
callq 0x11bc0
movl $0x0, -0x1c(%rbp)
cmpl $0x80, -0x1c(%rbp)
jge 0xa62a
movslq -0x1c(%rbp), %rax
leaq 0x323db(%rip), %rdi     # 0x3c940
addq $0x4004, %rdi           # imm = 0x4004
shlq $0xa, %rax
addq %rax, %rdi
callq 0x8110
movq %rax, %rcx
xorl %eax, %eax
cmpq %rcx, %rax
je 0xa61a
leaq -0x420(%rbp), %rax
movq %rax, -0x428(%rbp)
movslq -0x1c(%rbp), %rax
leaq 0x323a1(%rip), %rdi     # 0x3c940
addq $0x4004, %rdi           # imm = 0x4004
shlq $0xa, %rax
addq %rax, %rdi
xorl %esi, %esi
leaq 0x1915a(%rip), %rdx     # 0x23710
callq 0x122d0
movq -0x428(%rbp), %rdi
movq %rax, %rsi
movl $0x400, %edx            # imm = 0x400
callq 0x11aa0
leaq -0x420(%rbp), %rdi
leaq 0x19b7b(%rip), %rsi     # 0x24158
movl $0x400, %edx            # imm = 0x400
callq 0x11aa0
leaq -0x420(%rbp), %rdi
callq 0x8110
cmpq $0x28, %rax
jbe 0xa613
leaq -0x420(%rbp), %rdi
movb $0x0, %al
callq 0x17af0
leaq -0x420(%rbp), %rdi
callq 0x122b0
movl $0x0, -0x20(%rbp)
jmp 0xa61c
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0xa54d
cmpl $0x0, -0x20(%rbp)
je 0xa640
leaq 0x190e4(%rip), %rdi     # 0x2371b
movb $0x0, %al
callq 0x17af0
jmp 0xa666
leaq -0x420(%rbp), %rdi
callq 0x8110
movq %rax, %rcx
xorl %eax, %eax
cmpq %rcx, %rax
je 0xa664
leaq -0x420(%rbp), %rdi
movb $0x0, %al
callq 0x17af0
jmp 0xa666
xorl %eax, %eax
addq $0x430, %rsp            # imm = 0x430
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/schroeder-lvb[P]sissm/src/picladmin.c
// Function: cmdDeveloper
int _cmdDeveloper( char *arg, char *arg2, char *passThru ) 
{ 
    long int argLong;
    char p2pVarName[255];
    int errCode = 1;

    if ( 0 != strlen( arg )) {
        strlcpy( p2pVarName, "dev.p2p.", 80 );
        strlcat( p2pVarName, arg,        80 );
        errCode = 0;
    } 

    if (1 == sscanf( arg2, "%ld", &argLong )) 
        p2pSetL( p2pVarName, argLong );
    else 
        argLong = 0;

    argLong = p2pGetL( p2pVarName, argLong );
    apiSaySys( "Developer var = '%s' value = '%ld'", p2pVarName, argLong );

    return errCode; 
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x130, %rsp            # imm = 0x130
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x1, -0x124(%rbp)
movq -0x8(%rbp), %rdi
callq 0x8110
movq %rax, %rcx
xorl %eax, %eax
cmpq %rcx, %rax
je 0xa97b
leaq -0x120(%rbp), %rdi
leaq 0x18e04(%rip), %rsi     # 0x23756
movl $0x50, %edx
callq 0x11bc0
leaq -0x120(%rbp), %rdi
movq -0x8(%rbp), %rsi
movl $0x50, %edx
callq 0x11aa0
movl $0x0, -0x124(%rbp)
movq -0x10(%rbp), %rdi
leaq 0x1c24c(%rip), %rsi     # 0x26bd2
leaq -0x20(%rbp), %rdx
movb $0x0, %al
callq 0x82c0
movl %eax, %ecx
movl $0x1, %eax
cmpl %ecx, %eax
jne 0xa9ae
leaq -0x120(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x1ebf0
jmp 0xa9b6
movq $0x0, -0x20(%rbp)
leaq -0x120(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x1eda0
movq %rax, -0x20(%rbp)
leaq -0x120(%rbp), %rsi
movq -0x20(%rbp), %rdx
leaq 0x18d83(%rip), %rdi     # 0x2375f
movb $0x0, %al
callq 0x17af0
movl -0x124(%rbp), %eax
addq $0x130, %rsp            # imm = 0x130
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/schroeder-lvb[P]sissm/src/picladmin.c
// Function: cmdLock
int _cmdLock( char *arg, char *arg2, char *passThru ) 
{  
    int errCode = 0;

    if (0 == strcmp( "off", arg )) {
        p2pSetL( "pigateway.p2p.lockOut", 0L );
        apiSaySys( "Server public slots are UNLOCKED." );
    }
    else if (0 == strcmp( "on", arg )) {
        p2pSetL( "pigateway.p2p.lockOut", 1L );
        apiSaySys( "Server LOCKED to public until next map." );
    }
    else if (0 == strcmp( "perm", arg )) {
        p2pSetL( "pigateway.p2p.lockOut", 2L );
        apiSaySys( "Server LOCKED to public until unlocked.");
    }
    else if (0 == strcmp( "clan", arg )) {
        p2pSetL( "pigateway.p2p.lockOut", 3L );
        apiSaySys( "Server LOCKED for clan-only until unlocked.");
    }
    else if (0 == strlen( arg )) {
        _sayLockStatus( 0 );
    }
    else {
        apiSaySys( "Missing or incorrect option: off|on|perm|clan" );
    }

    // _stddResp( errCode );   // ok or error message to game
    
    return errCode; 
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movq -0x8(%rbp), %rsi
leaq 0x18d5c(%rip), %rdi     # 0x23782
callq 0x8200
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0xaa56
leaq 0x18d4c(%rip), %rdi     # 0x23786
xorl %eax, %eax
movl %eax, %esi
callq 0x1ebf0
leaq 0x18d52(%rip), %rdi     # 0x2379c
movb $0x0, %al
callq 0x17af0
jmp 0xab36
movq -0x8(%rbp), %rsi
leaq 0x1c4f7(%rip), %rdi     # 0x26f58
callq 0x8200
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0xaa92
leaq 0x18d11(%rip), %rdi     # 0x23786
movl $0x1, %esi
callq 0x1ebf0
leaq 0x18d38(%rip), %rdi     # 0x237be
movb $0x0, %al
callq 0x17af0
jmp 0xab34
movq -0x8(%rbp), %rsi
leaq 0x18d49(%rip), %rdi     # 0x237e6
callq 0x8200
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0xaacb
leaq 0x18cd5(%rip), %rdi     # 0x23786
movl $0x2, %esi
callq 0x1ebf0
leaq 0x18d29(%rip), %rdi     # 0x237eb
movb $0x0, %al
callq 0x17af0
jmp 0xab32
movq -0x8(%rbp), %rsi
leaq 0x18d92(%rip), %rdi     # 0x23868
callq 0x8200
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0xab04
leaq 0x18c9c(%rip), %rdi     # 0x23786
movl $0x3, %esi
callq 0x1ebf0
leaq 0x18d18(%rip), %rdi     # 0x23813
movb $0x0, %al
callq 0x17af0
jmp 0xab30
movq -0x8(%rbp), %rdi
callq 0x8110
movq %rax, %rcx
xorl %eax, %eax
cmpq %rcx, %rax
jne 0xab20
xorl %edi, %edi
callq 0xab40
jmp 0xab2e
leaq 0x18d18(%rip), %rdi     # 0x2383f
movb $0x0, %al
callq 0x17af0
jmp 0xab30
jmp 0xab32
jmp 0xab34
jmp 0xab36
movl -0x1c(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/schroeder-lvb[P]sissm/src/picladmin.c
// Function: sayLockStatus
static void _sayLockStatus( int showOnlyIfLocked )
{
    int lockStatus;
    char strOut[40];

    lockStatus = (int) ( 0xffL & p2pGetL( "pigateway.p2p.lockOut", 0L ) );
    switch( lockStatus ) {
    case 1:   strlcpy( strOut, "'on'",   40 );  break;
    case 2:   strlcpy( strOut, "'perm'", 40 );  break;
    case 3:   strlcpy( strOut, "'clan'", 40 );  break;
    default:  strlcpy( strOut, "'off'",  40 );  break;
    }

    // check if always display, or only when locked
    //
    if ( !showOnlyIfLocked || !(lockStatus==0) ) 
        apiSaySys( "Server lock status is: %s", strOut );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movl %edi, -0x4(%rbp)
leaq 0x18c34(%rip), %rdi     # 0x23786
xorl %eax, %eax
movl %eax, %esi
callq 0x1eda0
movzbl %al, %eax
movl %eax, -0x8(%rbp)
movl -0x8(%rbp), %eax
movl %eax, -0x34(%rbp)
subl $0x1, %eax
je 0xab82
jmp 0xab6e
movl -0x34(%rbp), %eax
subl $0x2, %eax
je 0xab99
jmp 0xab78
movl -0x34(%rbp), %eax
subl $0x3, %eax
je 0xabb0
jmp 0xabc7
leaq -0x30(%rbp), %rdi
leaq 0x19bee(%rip), %rsi     # 0x2477b
movl $0x28, %edx
callq 0x11bc0
jmp 0xabdc
leaq -0x30(%rbp), %rdi
leaq 0x19bdc(%rip), %rsi     # 0x24780
movl $0x28, %edx
callq 0x11bc0
jmp 0xabdc
leaq -0x30(%rbp), %rdi
leaq 0x19bcc(%rip), %rsi     # 0x24787
movl $0x28, %edx
callq 0x11bc0
jmp 0xabdc
leaq -0x30(%rbp), %rdi
leaq 0x19bbc(%rip), %rsi     # 0x2478e
movl $0x28, %edx
callq 0x11bc0
cmpl $0x0, -0x4(%rbp)
je 0xabe8
cmpl $0x0, -0x8(%rbp)
je 0xabfa
leaq -0x30(%rbp), %rsi
leaq 0x19ba1(%rip), %rdi     # 0x24794
movb $0x0, %al
callq 0x17af0
addq $0x40, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/schroeder-lvb[P]sissm/src/picladmin.c
// Function: cmdGeneva
int _cmdGeneva( char *arg, char *arg2, char *passThru ) 
{  
    int errCode = 0;

    if (0 == strcmp( "off", arg )) {
        p2pSetL( "piantirush.p2p.genevaKick", 0L );
        apiSaySys( "Geneva Rule Off" );
    }
    else if (0 == strcmp( "on", arg )) {
        p2pSetL( "piantirush.p2p.genevaKick", 1L );
        apiSaySys( "*Geneva Rule is ON - weapons restrictions apply!" );
    }
    else {
        switch ( p2pGetL( "piantirush.p2p.genevaKick", 0L ) ) {
            case 1L:  apiSaySys( "Geneva is ON - weapons restrictions apply" );    break;
            default:  apiSaySys( "Geneva is OFF - no restrictions" );  
        }
    }
    
    return errCode; 
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movq -0x8(%rbp), %rsi
leaq 0x18b5c(%rip), %rdi     # 0x23782
callq 0x8200
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0xac53
leaq 0x18c33(%rip), %rdi     # 0x2386d
xorl %eax, %eax
movl %eax, %esi
callq 0x1ebf0
leaq 0x18c3d(%rip), %rdi     # 0x23887
movb $0x0, %al
callq 0x17af0
jmp 0xacc6
movq -0x8(%rbp), %rsi
leaq 0x1c2fa(%rip), %rdi     # 0x26f58
callq 0x8200
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0xac8c
leaq 0x18bfb(%rip), %rdi     # 0x2386d
movl $0x1, %esi
callq 0x1ebf0
leaq 0x18c14(%rip), %rdi     # 0x23897
movb $0x0, %al
callq 0x17af0
jmp 0xacc4
leaq 0x18bda(%rip), %rdi     # 0x2386d
xorl %eax, %eax
movl %eax, %esi
callq 0x1eda0
subq $0x1, %rax
jne 0xacb4
jmp 0xaca4
leaq 0x18c1d(%rip), %rdi     # 0x238c8
movb $0x0, %al
callq 0x17af0
jmp 0xacc2
leaq 0x18c37(%rip), %rdi     # 0x238f2
movb $0x0, %al
callq 0x17af0
jmp 0xacc4
jmp 0xacc6
movl -0x1c(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/schroeder-lvb[P]sissm/src/picladmin.c
// Function: cmdWax
int _cmdWax( char *arg, char *arg2, char *passThru ) 
{  
    int errCode = 0;

    if (0 == strcmp( "off", arg )) {
        p2pSetL( "piantirush.p2p.training", 0L );
        apiSaySys( "Wax Off - starting next objective");
    }
    else if (0 == strcmp( "on", arg )) {
        p2pSetL( "piantirush.p2p.training", 1L );
        apiSaySys( "Wax On - starting next objective");
        p2pSetF("piantirush.p2p.fast", 0.0 );             // turn off FAST mode
    }
    else if (0 == strcmp( "perm", arg )) {
        p2pSetL( "piantirush.p2p.training", 2L );
        apiSaySys( "Wax On/Perm - starting next objective");
        p2pSetF("piantirush.p2p.fast", 0.0 );             // turn off FAST mode
    }
    else {
        switch ( p2pGetL( "piantirush.p2p.training", 0L ) ) {
            case 1L:  apiSaySys( "Wax is ON" );    break;
            case 2L:  apiSaySys( "Wax is PERM" );  break;
            default:  apiSaySys( "Wax is OFF" );  
        }
    }
    
    return errCode; 
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movq -0x8(%rbp), %rsi
leaq 0x18a8c(%rip), %rdi     # 0x23782
callq 0x8200
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0xad26
leaq 0x18c08(%rip), %rdi     # 0x23912
xorl %eax, %eax
movl %eax, %esi
callq 0x1ebf0
leaq 0x18c10(%rip), %rdi     # 0x2392a
movb $0x0, %al
callq 0x17af0
jmp 0xae18
movq -0x8(%rbp), %rsi
leaq 0x1c227(%rip), %rdi     # 0x26f58
callq 0x8200
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0xad71
leaq 0x18bcd(%rip), %rdi     # 0x23912
movl $0x1, %esi
callq 0x1ebf0
leaq 0x18bf6(%rip), %rdi     # 0x2394c
movb $0x0, %al
callq 0x17af0
leaq 0x18c09(%rip), %rdi     # 0x2396d
xorps %xmm0, %xmm0
callq 0x1ea50
jmp 0xae16
movq -0x8(%rbp), %rsi
leaq 0x18a6a(%rip), %rdi     # 0x237e6
callq 0x8200
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0xadb9
leaq 0x18b82(%rip), %rdi     # 0x23912
movl $0x2, %esi
callq 0x1ebf0
leaq 0x18be0(%rip), %rdi     # 0x23981
movb $0x0, %al
callq 0x17af0
leaq 0x18bbe(%rip), %rdi     # 0x2396d
xorps %xmm0, %xmm0
callq 0x1ea50
jmp 0xae14
leaq 0x18b52(%rip), %rdi     # 0x23912
xorl %eax, %eax
movl %eax, %esi
callq 0x1eda0
movq %rax, %rcx
movq %rcx, -0x28(%rbp)
subq $0x1, %rax
je 0xade4
jmp 0xadd8
movq -0x28(%rbp), %rax
subq $0x2, %rax
je 0xadf4
jmp 0xae04
leaq 0x18bbc(%rip), %rdi     # 0x239a7
movb $0x0, %al
callq 0x17af0
jmp 0xae12
leaq 0x18bb6(%rip), %rdi     # 0x239b1
movb $0x0, %al
callq 0x17af0
jmp 0xae12
leaq 0x18bb2(%rip), %rdi     # 0x239bd
movb $0x0, %al
callq 0x17af0
jmp 0xae14
jmp 0xae16
jmp 0xae18
movl -0x1c(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/schroeder-lvb[P]sissm/src/picladmin.c
// Function: cmdStrict
int _cmdStrict( char *arg, char *arg2, char *passThru ) 
{
    switch ( p2pGetL( "piantirush.p2p.training", 0L ) ) {
    case 0L:
        p2pSetL( "piantirush.p2p.training", 1L );
        apiSaySys( picladminConfig.strictTutorial );
        p2pSetF("piantirush.p2p.fast", 0.0 );             // turn off FAST mode
        break;
    default:
        apiSaySys( "Strict/Wax mode already enabled" );
    };
    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
leaq 0x18ac7(%rip), %rdi     # 0x23912
xorl %eax, %eax
movl %eax, %esi
callq 0x1eda0
testq %rax, %rax
jne 0xae92
jmp 0xae5b
leaq 0x18ab0(%rip), %rdi     # 0x23912
movl $0x1, %esi
callq 0x1ebf0
leaq 0x31acd(%rip), %rdi     # 0x3c940
addq $0x2901c, %rdi          # imm = 0x2901C
movb $0x0, %al
callq 0x17af0
leaq 0x18ae5(%rip), %rdi     # 0x2396d
xorps %xmm0, %xmm0
callq 0x1ea50
jmp 0xaea0
leaq 0x18b2f(%rip), %rdi     # 0x239c8
movb $0x0, %al
callq 0x17af0
xorl %eax, %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/schroeder-lvb[P]sissm/src/picladmin.c
// Function: cmdThirdWave
int _cmdThirdWave( char *arg, char *arg2, char *passThru ) 
{  
    int errCode = 0;

    if (0 == strcmp( "off", arg )) {
        p2pSetL( "pithirdwave.p2p.thirdWaveEnable", 0L );
        apiSay( "ThirdWave Algorithm DISABLED." );
    }
    else if (0 == strcmp( "on", arg )) {
        p2pSetL( "pithirdwave.p2p.thirdWaveEnable", 1L );
        apiSay( "ThirdWave Algorithm ENABLED." );
    }
    else
        errCode = 1;

    _stddResp( errCode );   // ok or error message to game
    
    return errCode; 
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movq -0x8(%rbp), %rsi
leaq 0x188ac(%rip), %rdi     # 0x23782
callq 0x8200
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0xaf03
leaq 0x18afe(%rip), %rdi     # 0x239e8
xorl %eax, %eax
movl %eax, %esi
callq 0x1ebf0
leaq 0x18b0e(%rip), %rdi     # 0x23a08
movb $0x0, %al
callq 0x178d0
jmp 0xaf45
movq -0x8(%rbp), %rsi
leaq 0x1c04a(%rip), %rdi     # 0x26f58
callq 0x8200
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0xaf3c
leaq 0x18ac6(%rip), %rdi     # 0x239e8
movl $0x1, %esi
callq 0x1ebf0
leaq 0x18af3(%rip), %rdi     # 0x23a26
movb $0x0, %al
callq 0x178d0
jmp 0xaf43
movl $0x1, -0x1c(%rbp)
jmp 0xaf45
movl -0x1c(%rbp), %edi
callq 0xa4d0
movl -0x1c(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/schroeder-lvb[P]sissm/src/picladmin.c
// Function: cmdBotFixed
int _cmdBotFixed( char *arg, char *arg2, char *passThru ) 
{  
    int errCode = 1, botCount;

    if (1 == sscanf( arg, "%d", &botCount )) {
        if ( ( botCount <=  picladminConfig.botMaxAllowed ) && ( botCount >= 0 ) ) {
           apiGameModePropertySet( "minimumenemies", _int2str( botCount/2 ) ); 
           apiGameModePropertySet( "maximumenemies", _int2str( botCount/2 ) );  
           apiGameModePropertySet( "soloenemies", _int2str( botCount/2 ) );  
           p2pSetL( "picladmin.p2p.botAdminControl", 1L );  // flag as admin control
           errCode = 0;
        }
    }
    _stddResp( errCode );   // ok or error message to game
    
    return errCode; 
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x1, -0x1c(%rbp)
movq -0x8(%rbp), %rdi
leaq 0x19149(%rip), %rsi     # 0x240cf
leaq -0x20(%rbp), %rdx
movb $0x0, %al
callq 0x82c0
movl %eax, %ecx
movl $0x1, %eax
cmpl %ecx, %eax
jne 0xb032
movl -0x20(%rbp), %eax
cmpl 0x5599b(%rip), %eax     # 0x60944
jg 0xb030
cmpl $0x0, -0x20(%rbp)
jl 0xb030
movl -0x20(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %edi
callq 0xb050
movq %rax, %rsi
leaq 0x18a72(%rip), %rdi     # 0x23a43
callq 0x176f0
movl -0x20(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %edi
callq 0xb050
movq %rax, %rsi
leaq 0x18a60(%rip), %rdi     # 0x23a52
callq 0x176f0
movl -0x20(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %edi
callq 0xb050
movq %rax, %rsi
leaq 0x18a4e(%rip), %rdi     # 0x23a61
callq 0x176f0
leaq 0x18a4e(%rip), %rdi     # 0x23a6d
movl $0x1, %esi
callq 0x1ebf0
movl $0x0, -0x1c(%rbp)
jmp 0xb032
movl -0x1c(%rbp), %edi
callq 0xa4d0
movl -0x1c(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/schroeder-lvb[P]sissm/src/picladmin.c
// Function: cmdBotDifficulty
int _cmdBotDifficulty( char *arg, char *arg2, char *passThru ) 
{ 
    int errCode = 1;
    char strOut[256];
    double botDifficultyF;

    if (1 == sscanf( arg, "%lf", &botDifficultyF )) {
         
        if ( botDifficultyF >= 9.9 ) botDifficultyF = 9.9;     // workaround for system bug (?)

        if ((botDifficultyF <= 10.0) && (botDifficultyF >= 0.0)) {
           botDifficultyF /= 10.0;
           snprintf( strOut, 256, "%6.3lf", botDifficultyF);
           apiGameModePropertySet( "aidifficulty", strOut );
           p2pSetL( "picladmin.p2p.botAdminControlDifficulty", 1L );   // flag as admin control
           errCode = 0;
        }
    }

    _stddResp( errCode );   // ok or error message to game

    return errCode;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x130, %rsp            # imm = 0x130
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x1, -0x1c(%rbp)
movq -0x8(%rbp), %rdi
leaq 0x19e97(%rip), %rsi     # 0x250c0
leaq -0x128(%rbp), %rdx
movb $0x0, %al
callq 0x82c0
movl %eax, %ecx
movl $0x1, %eax
cmpl %ecx, %eax
jne 0xb2fa
movsd -0x128(%rbp), %xmm0
movsd 0x1848a(%rip), %xmm1    # 0x236e0
ucomisd %xmm1, %xmm0
jb 0xb26c
movsd 0x1847c(%rip), %xmm0    # 0x236e0
movsd %xmm0, -0x128(%rbp)
movsd 0x18474(%rip), %xmm0    # 0x236e8
ucomisd -0x128(%rbp), %xmm0
jb 0xb2f8
movsd -0x128(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0xb2f8
movsd -0x128(%rbp), %xmm0
movsd 0x18449(%rip), %xmm1    # 0x236e8
divsd %xmm1, %xmm0
movsd %xmm0, -0x128(%rbp)
leaq -0x120(%rbp), %rdi
movsd -0x128(%rbp), %xmm0
movl $0x100, %esi            # imm = 0x100
leaq 0x18b61(%rip), %rdx     # 0x23e27
movb $0x1, %al
callq 0x8180
leaq -0x120(%rbp), %rsi
leaq 0x187cb(%rip), %rdi     # 0x23aa6
callq 0x176f0
leaq 0x187cc(%rip), %rdi     # 0x23ab3
movl $0x1, %esi
callq 0x1ebf0
movl $0x0, -0x1c(%rbp)
jmp 0xb2fa
movl -0x1c(%rbp), %edi
callq 0xa4d0
movl -0x1c(%rbp), %eax
addq $0x130, %rsp            # imm = 0x130
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/schroeder-lvb[P]sissm/src/picladmin.c
// Function: cmdKillFeed
int _cmdKillFeed( char *arg, char *arg2, char *passThru  ) 
{ 
    int errCode = 0;

    if (0 == strcmp( "off", arg )) 
        apiGameModePropertySet( "bKillFeed", "false" );
    else if (0 == strcmp( "on", arg )) 
        apiGameModePropertySet( "bKillFeed", "true" );
    else 
        errCode = 1;

    _stddResp( errCode );   // ok or error message to game

    return errCode;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movq -0x8(%rbp), %rsi
leaq 0x1844c(%rip), %rdi     # 0x23782
callq 0x8200
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0xb358
leaq 0x18791(%rip), %rdi     # 0x23adb
leaq 0x18794(%rip), %rsi     # 0x23ae5
callq 0x176f0
jmp 0xb38e
movq -0x8(%rbp), %rsi
leaq 0x1bbf5(%rip), %rdi     # 0x26f58
callq 0x8200
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0xb385
leaq 0x18764(%rip), %rdi     # 0x23adb
leaq 0x1876d(%rip), %rsi     # 0x23aeb
callq 0x176f0
jmp 0xb38c
movl $0x1, -0x1c(%rbp)
jmp 0xb38e
movl -0x1c(%rbp), %edi
callq 0xa4d0
movl -0x1c(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/schroeder-lvb[P]sissm/src/picladmin.c
// Function: cmdFriendlyFire
int _cmdFriendlyFire( char *arg, char *arg2, char *passThru ) 
{ 
    int errCode = 0;

    if (0 == strcmp( "off", arg )) 
        apiGameModePropertySet( "bAllowFriendlyFire", "false" );
    else if (0 == strcmp( "on", arg )) 
        apiGameModePropertySet( "bAllowFriendlyFire", "true" );
    else 
        errCode = 1;

    _stddResp( errCode );   // ok or error message to game

    return errCode;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movq -0x8(%rbp), %rsi
leaq 0x183bc(%rip), %rdi     # 0x23782
callq 0x8200
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0xb3e8
leaq 0x18716(%rip), %rdi     # 0x23af0
leaq 0x18704(%rip), %rsi     # 0x23ae5
callq 0x176f0
jmp 0xb41e
movq -0x8(%rbp), %rsi
leaq 0x1bb65(%rip), %rdi     # 0x26f58
callq 0x8200
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0xb415
leaq 0x186e9(%rip), %rdi     # 0x23af0
leaq 0x186dd(%rip), %rsi     # 0x23aeb
callq 0x176f0
jmp 0xb41c
movl $0x1, -0x1c(%rbp)
jmp 0xb41e
movl -0x1c(%rbp), %edi
callq 0xa4d0
movl -0x1c(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/schroeder-lvb[P]sissm/src/picladmin.c
// Function: cmdRestart
int _cmdRestart( char *arg, char *arg2, char *passThru  ) 
{
    char cmdOut[256], statusIn[256];
    int errCode = 0;

    strlcpy( cmdOut, "restartround 0", 256 );
    if (0 == strcmp( "now", arg )) 
        apiRcon( cmdOut, statusIn );
    else 
        errCode = 1;

    _stddResp( errCode );   // ok or error message to game

    return errCode;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x230, %rsp            # imm = 0x230
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x0, -0x224(%rbp)
leaq -0x120(%rbp), %rdi
leaq 0x186a4(%rip), %rsi     # 0x23b03
movl $0x100, %edx            # imm = 0x100
callq 0x11bc0
movq -0x8(%rbp), %rsi
leaq 0x1869e(%rip), %rdi     # 0x23b12
callq 0x8200
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0xb496
leaq -0x120(%rbp), %rdi
leaq -0x220(%rbp), %rsi
callq 0x17fa0
jmp 0xb4a0
movl $0x1, -0x224(%rbp)
movl -0x224(%rbp), %edi
callq 0xa4d0
movl -0x224(%rbp), %eax
addq $0x230, %rsp            # imm = 0x230
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/schroeder-lvb[P]sissm/src/picladmin.c
// Function: cmdEnd
int _cmdEnd( char *arg, char *arg2, char *passThru ) 
{ 
    char cmdOut[256], statusIn[256];
    int errCode = 0; 

    strlcpy( cmdOut, "restartround 2", 256 );
    if (0 == strcmp( "now", arg )) 
        apiRcon( cmdOut, statusIn );
    else 
        errCode = 1;

    _stddResp( errCode );   // ok or error message to game

    return errCode;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x230, %rsp            # imm = 0x230
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x0, -0x224(%rbp)
leaq -0x120(%rbp), %rdi
leaq 0x18627(%rip), %rsi     # 0x23b16
movl $0x100, %edx            # imm = 0x100
callq 0x11bc0
movq -0x8(%rbp), %rsi
leaq 0x1860e(%rip), %rdi     # 0x23b12
callq 0x8200
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0xb526
leaq -0x120(%rbp), %rdi
leaq -0x220(%rbp), %rsi
callq 0x17fa0
jmp 0xb530
movl $0x1, -0x224(%rbp)
movl -0x224(%rbp), %edi
callq 0xa4d0
movl -0x224(%rbp), %eax
addq $0x230, %rsp            # imm = 0x230
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/schroeder-lvb[P]sissm/src/picladmin.c
// Function: cmdReboot
int _cmdReboot( char *arg, char *arg2, char *passThru  ) 
{ 
    int errCode = 0;

    // Cancel any pending reboot request
    //
    if (0 == strcmp( "cancel", arg ))   {
        if (_queueReboot != REBOOT_CANCEL) apiSaySys( "Commanded server reboot is cancelled." );
        _queueReboot = REBOOT_CANCEL;
    }

    // special 0-player case - is a reboot now/eog/eor issued from RCON while the
    // server is empty -- do an immediately reboot.
    //
    else if (0 == strcmp( "now", arg ) || (0 == apiPlayersGetCount() ))   {
        apiSaySys( "*Server is REBOOTING - please reconnect" );
        apiServerRestart( "Server Admin Reboot" );
        _queueReboot = REBOOT_CANCEL;
    }

    // End of Game reboot - queue it and wait for EOG event
    //
    else if (0 == strcmp( "eog", arg ))  {
       _queueReboot = REBOOT_EOG;
       apiSaySys( "This server will reboot at end of this game" );
    }

    // End of Round reboot - queue it and wait for EOR event
    //
    else if (0 == strcmp( "eor", arg ))  {
        _queueReboot = REBOOT_EOR;
        apiSaySys( "This server will reboot at end of this round" );
    }
    else 
        errCode = 1;

    _stddResp( errCode );   // ok or error message to game

    return errCode;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movq -0x8(%rbp), %rsi
leaq 0x185af(%rip), %rdi     # 0x23b25
callq 0x8200
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0xb5a9
cmpl $0x0, 0x5a7d2(%rip)     # 0x65d5c
je 0xb59a
leaq 0x18599(%rip), %rdi     # 0x23b2c
movb $0x0, %al
callq 0x17af0
movl $0x0, 0x5a7b8(%rip)     # 0x65d5c
jmp 0xb665
movq -0x8(%rbp), %rsi
leaq 0x1855e(%rip), %rdi     # 0x23b12
callq 0x8200
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
je 0xb5ce
callq 0x17fe0
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0xb5f4
leaq 0x1857d(%rip), %rdi     # 0x23b52
movb $0x0, %al
callq 0x17af0
leaq 0x18597(%rip), %rdi     # 0x23b7a
callq 0x17510
movl $0x0, 0x5a76a(%rip)     # 0x65d5c
jmp 0xb663
movq -0x8(%rbp), %rsi
leaq 0x1858f(%rip), %rdi     # 0x23b8e
callq 0x8200
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0xb626
movl $0x2, 0x5a746(%rip)     # 0x65d5c
leaq 0x18575(%rip), %rdi     # 0x23b92
movb $0x0, %al
callq 0x17af0
jmp 0xb661
movq -0x8(%rbp), %rsi
leaq 0x1959d(%rip), %rdi     # 0x24bce
callq 0x8200
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0xb658
movl $0x1, 0x5a714(%rip)     # 0x65d5c
leaq 0x1856f(%rip), %rdi     # 0x23bbe
movb $0x0, %al
callq 0x17af0
jmp 0xb65f
movl $0x1, -0x1c(%rbp)
jmp 0xb661
jmp 0xb663
jmp 0xb665
movl -0x1c(%rbp), %edi
callq 0xa4d0
movl -0x1c(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/schroeder-lvb[P]sissm/src/picladmin.c
// Function: cmdEndGame
int _cmdEndGame( char *arg, char *arg2, char *passThru  ) 
{ 
    int errCode = 0;
    char cmdOut[256], statusIn[256];

    if (0 == strcmp( "now", arg ))  {
        apiSaySys( "*Forcing Game End*" );
        apiGameModePropertySet( "PreRoundTime", "1" );
        apiGameModePropertySet( "RoundLimit",   "1" );
        apiGameModePropertySet( "RoundTIme",    "1" );
        strlcpy( cmdOut, "restartround 0", 256 );
        apiRcon( cmdOut, statusIn );
    }
    else {
        apiSaySys( "Specify 'now' to end the game" );
        errCode = 1;
    }

    _stddResp( errCode );   // ok or error message to game

    return errCode;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x220, %rsp            # imm = 0x220
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movq -0x8(%rbp), %rsi
leaq 0x18469(%rip), %rdi     # 0x23b12
callq 0x8200
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0xb72a
leaq 0x1852e(%rip), %rdi     # 0x23beb
movb $0x0, %al
callq 0x17af0
leaq 0x18533(%rip), %rdi     # 0x23bfe
leaq 0x17a42(%rip), %rsi     # 0x23114
callq 0x176f0
leaq 0x1852d(%rip), %rdi     # 0x23c0b
leaq 0x17a2f(%rip), %rsi     # 0x23114
callq 0x176f0
leaq 0x18525(%rip), %rdi     # 0x23c16
leaq 0x17a1c(%rip), %rsi     # 0x23114
callq 0x176f0
leaq -0x120(%rbp), %rdi
leaq 0x183f8(%rip), %rsi     # 0x23b03
movl $0x100, %edx            # imm = 0x100
callq 0x11bc0
leaq -0x120(%rbp), %rdi
leaq -0x220(%rbp), %rsi
callq 0x17fa0
jmp 0xb73f
leaq 0x184ef(%rip), %rdi     # 0x23c20
movb $0x0, %al
callq 0x17af0
movl $0x1, -0x1c(%rbp)
movl -0x1c(%rbp), %edi
callq 0xa4d0
movl -0x1c(%rbp), %eax
addq $0x220, %rsp            # imm = 0x220
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/schroeder-lvb[P]sissm/src/picladmin.c
// Function: cmdBanId
int _cmdBanId( char *arg, char *arg2, char *passThru  ) 
{ 
    int errCode = 1;
    char cmdOut[256], statusIn[256];

    if ( rosterIsValidGUID( arg ) ) {
        snprintf( cmdOut, 256, "banid \"%s\" 0 \"%s\"", arg, _reason( passThru ) );
        apiRcon( cmdOut, statusIn );
        apiSay( statusIn );
        errCode = 0;
    }

    if ( errCode != 0 ) _stddResp( errCode );   // ok or error message to game

    return errCode; 
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x230, %rsp            # imm = 0x230
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x1, -0x1c(%rbp)
movq -0x8(%rbp), %rdi
callq 0x190a0
cmpl $0x0, %eax
je 0xb7fa
leaq -0x120(%rbp), %rax
movq %rax, -0x230(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x228(%rbp)
movq -0x18(%rbp), %rdi
callq 0xb820
movq -0x230(%rbp), %rdi
movq -0x228(%rbp), %rcx
movq %rax, %r8
movl $0x100, %esi            # imm = 0x100
leaq 0x18473(%rip), %rdx     # 0x23c3e
movb $0x0, %al
callq 0x8180
leaq -0x120(%rbp), %rdi
leaq -0x220(%rbp), %rsi
callq 0x17fa0
leaq -0x220(%rbp), %rdi
movb $0x0, %al
callq 0x178d0
movl $0x0, -0x1c(%rbp)
cmpl $0x0, -0x1c(%rbp)
je 0xb808
movl -0x1c(%rbp), %edi
callq 0xa4d0
movl -0x1c(%rbp), %eax
addq $0x230, %rsp            # imm = 0x230
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/schroeder-lvb[P]sissm/src/picladmin.c
// Function: cmdBanIdt
int _cmdBanIdt( char *arg, char *arg2, char *passThru  ) 
{ 
    int errCode = 1;
    char cmdOut[256], statusIn[256];

    if ( rosterIsValidGUID( arg ) ) {
        snprintf( cmdOut, 256, "banid \"%s\" %d \"[Tempban] %s\"", arg, picladminConfig.tempBanMinutes, _reason( passThru ) );
        apiRcon( cmdOut, statusIn );
        apiSay( statusIn );
        errCode = 0;
    }

    if ( errCode != 0 ) _stddResp( errCode );   // ok or error message to game

    return errCode; 
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x240, %rsp            # imm = 0x240
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x1, -0x1c(%rbp)
movq -0x8(%rbp), %rdi
callq 0x190a0
cmpl $0x0, %eax
je 0xbaa1
leaq -0x120(%rbp), %rax
movq %rax, -0x238(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x230(%rbp)
movl 0x59f15(%rip), %eax     # 0x65954
movl %eax, -0x224(%rbp)
movq -0x18(%rbp), %rdi
callq 0xb820
movq -0x238(%rbp), %rdi
movq -0x230(%rbp), %rcx
movl -0x224(%rbp), %r8d
movq %rax, %r9
movl $0x100, %esi            # imm = 0x100
leaq 0x181de(%rip), %rdx     # 0x23c50
movb $0x0, %al
callq 0x8180
leaq -0x120(%rbp), %rdi
leaq -0x220(%rbp), %rsi
callq 0x17fa0
leaq -0x220(%rbp), %rdi
movb $0x0, %al
callq 0x178d0
movl $0x0, -0x1c(%rbp)
cmpl $0x0, -0x1c(%rbp)
je 0xbaaf
movl -0x1c(%rbp), %edi
callq 0xa4d0
movl -0x1c(%rbp), %eax
addq $0x240, %rsp            # imm = 0x240
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/schroeder-lvb[P]sissm/src/picladmin.c
// Function: cmdUnBanId
int _cmdUnBanId( char *arg, char *arg2, char *passThru  ) 
{ 
    int errCode = 1;
    char cmdOut[256], statusIn[256];

    if ( rosterIsValidGUID( arg ) ) {
        snprintf( cmdOut, 256, "unban \"%s\"", arg );
        apiRcon( cmdOut, statusIn );
        apiSay( statusIn );
        errCode = 0;
    }

    if ( errCode != 0 ) _stddResp( errCode );   // ok or error message to game

    return errCode; 
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x220, %rsp            # imm = 0x220
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x1, -0x1c(%rbp)
movq -0x8(%rbp), %rdi
callq 0x190a0
cmpl $0x0, %eax
je 0xbb32
leaq -0x120(%rbp), %rdi
movq -0x8(%rbp), %rcx
movl $0x100, %esi            # imm = 0x100
leaq 0x1816a(%rip), %rdx     # 0x23c6d
movb $0x0, %al
callq 0x8180
leaq -0x120(%rbp), %rdi
leaq -0x220(%rbp), %rsi
callq 0x17fa0
leaq -0x220(%rbp), %rdi
movb $0x0, %al
callq 0x178d0
movl $0x0, -0x1c(%rbp)
cmpl $0x0, -0x1c(%rbp)
je 0xbb40
movl -0x1c(%rbp), %edi
callq 0xa4d0
movl -0x1c(%rbp), %eax
addq $0x220, %rsp            # imm = 0x220
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/schroeder-lvb[P]sissm/src/picladmin.c
// Function: cmdKickId
int _cmdKickId( char *arg, char *arg2, char *passThru  ) 
{ 
    int errCode = 1;
    char cmdOut[256], statusIn[256];

    if ( rosterIsValidGUID( arg )) {  // if valid ID
        snprintf( cmdOut, 256, "kick \"%s\" \"%s\"", arg, _reason( passThru) );
        apiRcon( cmdOut, statusIn );
        errCode = 0;
    }

    _stddResp( errCode );   // ok or error message to game

    return errCode;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x230, %rsp            # imm = 0x230
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x1, -0x1c(%rbp)
movq -0x8(%rbp), %rdi
callq 0x190a0
cmpl $0x0, %eax
je 0xbbdc
leaq -0x120(%rbp), %rax
movq %rax, -0x230(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x228(%rbp)
movq -0x18(%rbp), %rdi
callq 0xb820
movq -0x230(%rbp), %rdi
movq -0x228(%rbp), %rcx
movq %rax, %r8
movl $0x100, %esi            # imm = 0x100
leaq 0x180bd(%rip), %rdx     # 0x23c78
movb $0x0, %al
callq 0x8180
leaq -0x120(%rbp), %rdi
leaq -0x220(%rbp), %rsi
callq 0x17fa0
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %edi
callq 0xa4d0
movl -0x1c(%rbp), %eax
addq $0x230, %rsp            # imm = 0x230
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/schroeder-lvb[P]sissm/src/picladmin.c
// Function: cmdBan
int _cmdBan( char *arg, char *arg2, char *passThru  ) 
{ 
    int errCode = 1;
    char cmdOut[256], statusIn[256], steamID[256];
    strlcpy( steamID, rosterLookupSteamIDFromPartialName( arg, 3 ), 256 );
    if ( 0 != strlen( steamID ) ) {
        if ( (snprintf( cmdOut, 255, "banid \"%s\" 0 \"%s\"", steamID, _reason( passThru) )) < 0 )
            logPrintf( LOG_LEVEL_WARN, "picladmin", "Overflow warning at _cmdBan" );
        apiRcon( cmdOut, statusIn );
        apiSay( statusIn );
        errCode = 0;
    }

    if ( errCode != 0 ) _stddResp( errCode );   // ok or error message to game

    return errCode; 
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x340, %rsp            # imm = 0x340
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x1, -0x1c(%rbp)
leaq -0x320(%rbp), %rax
movq %rax, -0x328(%rbp)
movq -0x8(%rbp), %rdi
movl $0x3, %esi
callq 0x1a330
movq -0x328(%rbp), %rdi
movq %rax, %rsi
movl $0x100, %edx            # imm = 0x100
callq 0x11bc0
leaq -0x320(%rbp), %rdi
callq 0x8110
movq %rax, %rcx
xorl %eax, %eax
cmpq %rcx, %rax
je 0xbce8
leaq -0x120(%rbp), %rax
movq %rax, -0x338(%rbp)
leaq -0x320(%rbp), %rax
movq %rax, -0x330(%rbp)
movq -0x18(%rbp), %rdi
callq 0xb820
movq -0x338(%rbp), %rdi
movq -0x330(%rbp), %rcx
movq %rax, %r8
movl $0xff, %esi
leaq 0x17fa4(%rip), %rdx     # 0x23c3e
movb $0x0, %al
callq 0x8180
cmpl $0x0, %eax
jge 0xbcc0
movl $0x1, %edi
leaq 0x17fd5(%rip), %rsi     # 0x23c87
leaq 0x17fd8(%rip), %rdx     # 0x23c91
movb $0x0, %al
callq 0x21bf0
leaq -0x120(%rbp), %rdi
leaq -0x220(%rbp), %rsi
callq 0x17fa0
leaq -0x220(%rbp), %rdi
movb $0x0, %al
callq 0x178d0
movl $0x0, -0x1c(%rbp)
cmpl $0x0, -0x1c(%rbp)
je 0xbcf6
movl -0x1c(%rbp), %edi
callq 0xa4d0
movl -0x1c(%rbp), %eax
addq $0x340, %rsp            # imm = 0x340
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/schroeder-lvb[P]sissm/src/picladmin.c
// Function: cmdBant
int _cmdBant( char *arg, char *arg2, char *passThru  ) 
{ 
    int errCode = 1;
    char cmdOut[256], statusIn[256], steamID[256];
    strlcpy( steamID, rosterLookupSteamIDFromPartialName( arg, 3 ), 256 );
    if ( 0 != strlen( steamID ) ) {
        if ( (snprintf( cmdOut, 255, "ban %s %d \"[Tempban] %s\"", steamID, picladminConfig.tempBanMinutes, _reason( passThru) )) < 0 )
            logPrintf( LOG_LEVEL_WARN, "picladmin", "Overflow warning at _cmdBan" );
        apiRcon( cmdOut, statusIn );
        apiSay( statusIn );
        errCode = 0;
    }

    if ( errCode != 0 ) _stddResp( errCode );   // ok or error message to game

    return errCode; 
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x340, %rsp            # imm = 0x340
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x1, -0x1c(%rbp)
leaq -0x320(%rbp), %rax
movq %rax, -0x328(%rbp)
movq -0x8(%rbp), %rdi
movl $0x3, %esi
callq 0x1a330
movq -0x328(%rbp), %rdi
movq %rax, %rsi
movl $0x100, %edx            # imm = 0x100
callq 0x11bc0
leaq -0x320(%rbp), %rdi
callq 0x8110
movq %rax, %rcx
xorl %eax, %eax
cmpq %rcx, %rax
je 0xbe1b
leaq -0x120(%rbp), %rax
movq %rax, -0x340(%rbp)
leaq -0x320(%rbp), %rax
movq %rax, -0x338(%rbp)
movl 0x59bba(%rip), %eax     # 0x65954
movl %eax, -0x32c(%rbp)
movq -0x18(%rbp), %rdi
callq 0xb820
movq -0x340(%rbp), %rdi
movq -0x338(%rbp), %rcx
movl -0x32c(%rbp), %r8d
movq %rax, %r9
movl $0xff, %esi
leaq 0x17ee0(%rip), %rdx     # 0x23cad
movb $0x0, %al
callq 0x8180
cmpl $0x0, %eax
jge 0xbdf3
movl $0x1, %edi
leaq 0x17ea2(%rip), %rsi     # 0x23c87
leaq 0x17ea5(%rip), %rdx     # 0x23c91
movb $0x0, %al
callq 0x21bf0
leaq -0x120(%rbp), %rdi
leaq -0x220(%rbp), %rsi
callq 0x17fa0
leaq -0x220(%rbp), %rdi
movb $0x0, %al
callq 0x178d0
movl $0x0, -0x1c(%rbp)
cmpl $0x0, -0x1c(%rbp)
je 0xbe29
movl -0x1c(%rbp), %edi
callq 0xa4d0
movl -0x1c(%rbp), %eax
addq $0x340, %rsp            # imm = 0x340
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/schroeder-lvb[P]sissm/src/picladmin.c
// Function: cmdKick
int _cmdKick( char *arg, char *arg2, char *passThru ) 
{ 
    int vendorType;
    int errCode = 0;
    char steamID[256];

    // Lookup Steam, EPIC or WinGDK ID from player name 'arg'
    //
    strlcpy( steamID, rosterLookupSteamIDFromPartialName( arg, 3 ), 256 );

    if ( 0 != strlen( steamID ) ) {

        vendorType = rosterIsValidGUID( steamID );

        switch( vendorType ) {
        case 1:   // Steam:  kick by ID for definitive target
            errCode = apiKick( steamID, _reason( passThru ) );
            logPrintf( LOG_LEVEL_WARN, "picladmin", "Steam Admin kick by ID  ::%s::", steamID );
            break;
        case 2: case 3:  // EPIC/WinGDK:  kick by name due to NWI bug (SS 1.13 and prior)
            errCode |= apiKick( arg, _reason( passThru ) );
            logPrintf( LOG_LEVEL_WARN, "picladmin", "EPIC Admin kick by Name ::%s::", arg );
            break;
        default:  // fault
            logPrintf( LOG_LEVEL_WARN, "picladmin", "Failed to kick ::%s::", passThru );
            errCode = 1;
            break;
        }
    }

    if ( errCode != 0) _stddResp( errCode );   // ok or error message to game

    return errCode; 
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x140, %rsp            # imm = 0x140
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x0, -0x20(%rbp)
leaq -0x120(%rbp), %rax
movq %rax, -0x128(%rbp)
movq -0x8(%rbp), %rdi
movl $0x3, %esi
callq 0x1a330
movq -0x128(%rbp), %rdi
movq %rax, %rsi
movl $0x100, %edx            # imm = 0x100
callq 0x11bc0
leaq -0x120(%rbp), %rdi
callq 0x8110
movq %rax, %rcx
xorl %eax, %eax
cmpq %rcx, %rax
je 0xbf96
leaq -0x120(%rbp), %rdi
callq 0x190a0
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movl %eax, -0x12c(%rbp)
subl $0x1, %eax
je 0xbeda
jmp 0xbec7
movl -0x12c(%rbp), %eax
addl $-0x2, %eax
subl $0x2, %eax
jb 0xbf26
jmp 0xbf6f
leaq -0x120(%rbp), %rax
movq %rax, -0x138(%rbp)
movq -0x18(%rbp), %rdi
callq 0xb820
movq -0x138(%rbp), %rdi
movq %rax, %rsi
callq 0x17ee0
movl %eax, -0x20(%rbp)
leaq -0x120(%rbp), %rcx
movl $0x1, %edi
leaq 0x17d71(%rip), %rsi     # 0x23c87
leaq 0x17da9(%rip), %rdx     # 0x23cc6
movb $0x0, %al
callq 0x21bf0
jmp 0xbf94
movq -0x8(%rbp), %rax
movq %rax, -0x140(%rbp)
movq -0x18(%rbp), %rdi
callq 0xb820
movq -0x140(%rbp), %rdi
movq %rax, %rsi
callq 0x17ee0
orl -0x20(%rbp), %eax
movl %eax, -0x20(%rbp)
movq -0x8(%rbp), %rcx
movl $0x1, %edi
leaq 0x17d28(%rip), %rsi     # 0x23c87
leaq 0x17d7f(%rip), %rdx     # 0x23ce5
movb $0x0, %al
callq 0x21bf0
jmp 0xbf94
movq -0x18(%rbp), %rcx
movl $0x1, %edi
leaq 0x17d08(%rip), %rsi     # 0x23c87
leaq 0x17d7e(%rip), %rdx     # 0x23d04
movb $0x0, %al
callq 0x21bf0
movl $0x1, -0x20(%rbp)
jmp 0xbf96
cmpl $0x0, -0x20(%rbp)
je 0xbfa4
movl -0x20(%rbp), %edi
callq 0xa4d0
movl -0x20(%rbp), %eax
addq $0x140, %rsp            # imm = 0x140
popq %rbp
retq