// File: /workspace/github_c_makefile_star2_O0/schroeder-lvb[P]sissm/src/roster.c
// Function: rosterPlayerList
char *rosterPlayerList( int infoDepth, char *delimiter )
{
    static char playerList[8192], single[256];    // EPIC - doubled to 8K
    int i;
    strclr( playerList );
    for (i=0; i<ROSTER_MAX; i++) {
        if ( strlen( masterRoster[i].netID ) ) {
            if ( ( rosterIsValidGUID( masterRoster[i].steamID )) && ( 0 != strlen( masterRoster[i].IPaddress )) )  {   
		switch ( infoDepth ) {
		case 1:   //  includes name + steamID for identifying names with alt-charsets, less privacy
                    snprintf( single, 256, "%s[%s]%s", masterRoster[i].playerName, masterRoster[i].steamID, delimiter );
		    break;
		case 2:   // security web display that includes name:SteamID::IP
                    snprintf( single, 256, "%s[%s:%s]%s", 
                        masterRoster[i].playerName, masterRoster[i].steamID, masterRoster[i].IPaddress, delimiter );
		    break;
		case 3:   // alternative web display that includes name:score
                    snprintf( single, 256, "%s[%s]%s", masterRoster[i].playerName, masterRoster[i].score, delimiter );
		    break;
		case 4:   // used for synthetic event handler, for reliable but less responsive player conect/disconnect
                    snprintf( single, 256, "%s %s %s%s", 
                        masterRoster[i].steamID, reformatIP( masterRoster[i].IPaddress ), masterRoster[i].playerName, delimiter );
		    break;
		case 5:   // SteamID list only
                    snprintf( single, 256, "%s%s", masterRoster[i].steamID, delimiter );
		    break;
	        default:  // (case 0) default miniamlist public dispaly, player name only
                    snprintf( single, 256, "%s%s", masterRoster[i].playerName, delimiter );
		}
                strlcat( playerList, single, 8191 );   // EPIC
            }
        }
    }
    return( playerList );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl %edi, -0x4(%rbp)
movq %rsi, -0x10(%rbp)
leaq 0x202fda(%rip), %rdi    # 0x21d4a0
callq 0x122b0
movl $0x0, -0x14(%rbp)
cmpl $0x80, -0x14(%rbp)
jge 0x1a7cd
movslq -0x14(%rbp), %rax
leaq 0x1f61b6(%rip), %rdi    # 0x2106a0
imulq $0x190, %rax, %rax      # imm = 0x190
addq %rax, %rdi
callq 0x8110
cmpq $0x0, %rax
je 0x1a7bd
movslq -0x14(%rbp), %rax
leaq 0x1f6192(%rip), %rdi    # 0x2106a0
imulq $0x190, %rax, %rax      # imm = 0x190
addq %rax, %rdi
addq $0xa0, %rdi
callq 0x190a0
cmpl $0x0, %eax
je 0x1a7bb
movslq -0x14(%rbp), %rax
leaq 0x1f6168(%rip), %rdi    # 0x2106a0
imulq $0x190, %rax, %rax      # imm = 0x190
addq %rax, %rdi
addq $0xf0, %rdi
callq 0x8110
movq %rax, %rcx
xorl %eax, %eax
cmpq %rcx, %rax
je 0x1a7bb
movl -0x4(%rbp), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0x20(%rbp)
subl $0x4, %eax
ja 0x1a76c
movq -0x20(%rbp), %rax
leaq 0xc18d(%rip), %rcx      # 0x26708
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movslq -0x14(%rbp), %rax
leaq 0x1f6111(%rip), %rcx    # 0x2106a0
imulq $0x190, %rax, %rax      # imm = 0x190
addq %rax, %rcx
addq $0x50, %rcx
movslq -0x14(%rbp), %rax
leaq 0x1f60f8(%rip), %r8     # 0x2106a0
imulq $0x190, %rax, %rax      # imm = 0x190
addq %rax, %r8
addq $0xa0, %r8
movq -0x10(%rbp), %r9
leaq 0x204edc(%rip), %rdi    # 0x21f4a0
movl $0x100, %esi            # imm = 0x100
leaq 0xc312(%rip), %rdx      # 0x268e2
movb $0x0, %al
callq 0x8180
jmp 0x1a7a3
movslq -0x14(%rbp), %rax
leaq 0x1f60b9(%rip), %rcx    # 0x2106a0
imulq $0x190, %rax, %rax      # imm = 0x190
addq %rax, %rcx
addq $0x50, %rcx
movslq -0x14(%rbp), %rax
leaq 0x1f60a0(%rip), %r8     # 0x2106a0
imulq $0x190, %rax, %rax      # imm = 0x190
addq %rax, %r8
addq $0xa0, %r8
movslq -0x14(%rbp), %rax
leaq 0x1f6084(%rip), %r9     # 0x2106a0
imulq $0x190, %rax, %rax      # imm = 0x190
addq %rax, %r9
addq $0xf0, %r9
movq -0x10(%rbp), %rax
leaq 0x204e68(%rip), %rdi    # 0x21f4a0
movl $0x100, %esi            # imm = 0x100
leaq 0xc2a7(%rip), %rdx      # 0x268eb
movq %rax, (%rsp)
movb $0x0, %al
callq 0x8180
jmp 0x1a7a3
movslq -0x14(%rbp), %rax
leaq 0x1f6041(%rip), %rcx    # 0x2106a0
imulq $0x190, %rax, %rax      # imm = 0x190
addq %rax, %rcx
addq $0x50, %rcx
movslq -0x14(%rbp), %rax
leaq 0x1f6028(%rip), %r8     # 0x2106a0
imulq $0x190, %rax, %rax      # imm = 0x190
addq %rax, %r8
addq $0x140, %r8             # imm = 0x140
movq -0x10(%rbp), %r9
leaq 0x204e0c(%rip), %rdi    # 0x21f4a0
movl $0x100, %esi            # imm = 0x100
leaq 0xc242(%rip), %rdx      # 0x268e2
movb $0x0, %al
callq 0x8180
jmp 0x1a7a3
movslq -0x14(%rbp), %rcx
leaq 0x1f5fe9(%rip), %rax    # 0x2106a0
imulq $0x190, %rcx, %rcx      # imm = 0x190
addq %rcx, %rax
addq $0xa0, %rax
movq %rax, -0x28(%rbp)
movslq -0x14(%rbp), %rax
leaq 0x1f5fca(%rip), %rdi    # 0x2106a0
imulq $0x190, %rax, %rax      # imm = 0x190
addq %rax, %rdi
addq $0xf0, %rdi
callq 0x126a0
movq -0x28(%rbp), %rcx
movq %rax, %r8
movslq -0x14(%rbp), %rax
leaq 0x1f5fa2(%rip), %r9     # 0x2106a0
imulq $0x190, %rax, %rax      # imm = 0x190
addq %rax, %r9
addq $0x50, %r9
movq -0x10(%rbp), %rax
leaq 0x204d89(%rip), %rdi    # 0x21f4a0
movl $0x100, %esi            # imm = 0x100
leaq 0xc1d4(%rip), %rdx      # 0x268f7
movq %rax, (%rsp)
movb $0x0, %al
callq 0x8180
jmp 0x1a7a3
movslq -0x14(%rbp), %rax
leaq 0x1f5f65(%rip), %rcx    # 0x2106a0
imulq $0x190, %rax, %rax      # imm = 0x190
addq %rax, %rcx
addq $0xa0, %rcx
movq -0x10(%rbp), %r8
leaq 0x204d49(%rip), %rdi    # 0x21f4a0
movl $0x100, %esi            # imm = 0x100
leaq 0xc19a(%rip), %rdx      # 0x268fd
movb $0x0, %al
callq 0x8180
jmp 0x1a7a3
movslq -0x14(%rbp), %rax
leaq 0x1f5f29(%rip), %rcx    # 0x2106a0
imulq $0x190, %rax, %rax      # imm = 0x190
addq %rax, %rcx
addq $0x50, %rcx
movq -0x10(%rbp), %r8
leaq 0x204d10(%rip), %rdi    # 0x21f4a0
movl $0x100, %esi            # imm = 0x100
leaq 0xc161(%rip), %rdx      # 0x268fd
movb $0x0, %al
callq 0x8180
leaq 0x202cf6(%rip), %rdi    # 0x21d4a0
leaq 0x204cef(%rip), %rsi    # 0x21f4a0
movl $0x1fff, %edx           # imm = 0x1FFF
callq 0x11aa0
jmp 0x1a7bd
jmp 0x1a7bf
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x1a4d2
leaq 0x202ccc(%rip), %rax    # 0x21d4a0
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)