// File: /workspace/github_cpp_makefile_star2_O2/ctSkennerton[P]fxtract/util/concurs.c
// Function: main
int
main(int argc, char **argv)
{
    int		timeout = argc > 2 ? atoi(argv[2]) : 0;
    char *const	env_port = getenv("CONCUR_PORT");
    int		port     = env_port ? atoi(env_port) : CONCUR_PORT;
    int		skt	 = sock_bind("", port);

    if (skt < 0) {
	perror("concurs");
	exit(1);
    }

    setvbuf(stdout, NULL, _IOLBF, 0);
    if (argc == 1) record(skt); 
    else play(skt, argv[1], timeout);

    return    0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x968, %rsp            # imm = 0x968
movq %rsi, %r14
movl %edi, %r15d
movl $0x0, (%rsp)
cmpl $0x3, %edi
jl 0x35ab
movq 0x10(%r14), %rdi
callq 0x33a0
movl %eax, (%rsp)
leaq 0x3a52(%rip), %rdi      # 0x7004
callq 0x3320
testq %rax, %rax
je 0x35c8
movq %rax, %rdi
callq 0x33a0
movl %eax, %esi
jmp 0x35cd
movl $0x14b9, %esi           # imm = 0x14B9
leaq 0x3b5b(%rip), %rdi      # 0x712f
callq 0x55df
testl %eax, %eax
js 0x39c6
movl %eax, %ebx
movq 0x69d6(%rip), %rax      # 0x9fc0
movq (%rax), %rdi
pushq $0x1
popq %rdx
xorl %esi, %esi
xorl %ecx, %ecx
callq 0x3030
cmpl $0x1, %r15d
je 0x39d4
movq 0x8(%r14), %r15
movb $0x4, 0x7(%rsp)
movq 0x69cd(%rip), %rdi      # 0x9fe0
leaq 0x6ea(%rip), %rsi       # 0x3d04
xorl %edx, %edx
callq 0x3e58
movq %rax, %r14
leaq 0x3a6c(%rip), %rsi      # 0x7097
movq %r15, %rdi
callq 0x32f0
testq %rax, %rax
je 0x3ce0
movq %rax, %r12
xorl %eax, %eax
cmpq $0x10, %rax
je 0x3652
andq $0x0, 0x50(%rsp,%rax,8)
incq %rax
jmp 0x3641
pushq $0x1
popq %rax
movl %ebx, %ecx
shlq %cl, %rax
movq %rax, 0x18(%rsp)
movslq (%rsp), %rax
movq %rax, 0x20(%rsp)
movl %ebx, %ebp
shrl $0x6, %ebp
movl %ebx, %eax
incl %eax
movl %eax, 0x10(%rsp)
pushq $-0x2
popq %rax
rolq %cl, %rax
movq %rax, 0x28(%rsp)
leaq 0xd0(%rsp), %r13
movq %r12, 0x48(%rsp)
movq %r13, %rdi
movl $0x481, %esi            # imm = 0x481
movq %r12, %rdx
callq 0x33b0
testq %rax, %rax
je 0x3947
movq 0x20(%rsp), %rax
movq %rax, 0x38(%rsp)
andq $0x0, 0x40(%rsp)
movq %r13, %rdi
callq 0x3100
leaq (%rsp,%rax), %r15
addq $0xd0, %r15
cmpq %r13, %r15
jbe 0x36eb
callq 0x32a0
movq (%rax), %rax
movsbq -0x1(%r15), %rcx
testb $0x20, 0x1(%rax,%rcx,2)
je 0x36eb
decq %r15
movb $0x0, (%r15)
jmp 0x36c9
movzbl 0xd0(%rsp), %eax
testl %eax, %eax
je 0x368d
cmpl $0x23, %eax
jne 0x371d
cmpb $0x3a, 0xd1(%rsp)
je 0x368d
movq 0x68b3(%rip), %rax      # 0x9fc0
movq (%rax), %rsi
movq %r13, %rdi
callq 0x32d0
jmp 0x368d
movq %r13, %rdi
pushq $0x3a
popq %rsi
callq 0x30f0
testq %rax, %rax
je 0x3927
movq %rax, %r15
incq %r15
movb $0x0, (%rax)
movq %r14, %rdi
movq %r13, %rsi
callq 0x3ff4
movq %rax, %r12
testl %r12d, %r12d
jne 0x37e9
movq 0x50(%rsp,%rbp,8), %rax
orq 0x18(%rsp), %rax
movq %rax, 0x50(%rsp,%rbp,8)
cmpl $0x0, (%rsp)
je 0x378a
movl 0x10(%rsp), %edi
leaq 0x50(%rsp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
leaq 0x38(%rsp), %r8
callq 0x3260
testl %eax, %eax
js 0x395b
movq 0x50(%rsp,%rbp,8), %rax
andq 0x28(%rsp), %rax
movq %rax, 0x50(%rsp,%rbp,8)
movl %ebx, %edi
callq 0x5782
movl %eax, %r12d
cltd
pushq $0x40
popq %rcx
idivl %ecx
movslq %eax, %rdx
shll $0x6, %eax
movl %r12d, %ecx
subl %eax, %ecx
pushq $0x1
popq %rax
shlq %cl, %rax
leaq 0x705c(%rip), %rcx      # 0xa818
orq %rax, (%rcx,%rdx,8)
movq %r13, %rdi
callq 0x3420
movq %rax, %r15
movslq %r12d, %rdx
leaq 0x70cb(%rip), %rax      # 0xa8a0
movq %r15, (%rax,%rdx,8)
movq %r14, %rdi
movq %r15, %rsi
callq 0x418f
jmp 0x373a
movl %r12d, %eax
cltd
pushq $0x40
popq %rcx
idivl %ecx
movslq %eax, %rdx
shll $0x6, %eax
movl %r12d, %ecx
subl %eax, %ecx
pushq $0x1
popq %rsi
shlq %cl, %rsi
movq 0x50(%rsp,%rdx,8), %rax
btsq %rcx, %rax
movq %rax, 0x50(%rsp,%rdx,8)
cmpl $0x0, (%rsp)
leaq 0x560(%rsp), %rcx
movq %rdx, 0x30(%rsp)
je 0x385f
movq %rsi, 0x8(%rsp)
movl 0x10(%rsp), %edi
leaq 0x50(%rsp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
leaq 0x38(%rsp), %r8
callq 0x3260
testl %eax, %eax
js 0x39a1
movq 0x30(%rsp), %rdx
movq 0x50(%rsp,%rdx,8), %rax
leaq 0x560(%rsp), %rcx
movq 0x8(%rsp), %rsi
notq %rsi
movq %rsi, 0x8(%rsp)
andq %rsi, %rax
movq %rax, 0x50(%rsp,%rdx,8)
movl %r12d, %edi
movq %rcx, %rsi
movl $0x400, %edx            # imm = 0x400
callq 0x5e3c
testl %eax, %eax
jg 0x38e1
movl %r12d, %edi
callq 0x3470
leaq 0x6f86(%rip), %rax      # 0xa818
movq 0x8(%rsp), %rcx
movq 0x30(%rsp), %rdx
andq %rcx, (%rax,%rdx,8)
movslq %r12d, %rcx
movq %rcx, 0x8(%rsp)
leaq 0x6ff1(%rip), %rax      # 0xa8a0
movq (%rax,%rcx,8), %rsi
movq %r14, %rdi
callq 0x3eb7
leaq 0x6fde(%rip), %rax      # 0xa8a0
movq 0x8(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x3300
leaq 0x6fc9(%rip), %rax      # 0xa8a0
movq 0x8(%rsp), %rcx
andq $0x0, (%rax,%rcx,8)
movl %r12d, %edi
leaq 0x7(%rsp), %rsi
pushq $0x1
popq %rdx
callq 0x5e83
leaq 0x3820(%rip), %rdi      # 0x7118
movq %r13, %rsi
leaq 0x560(%rsp), %r12
movq %r12, %rdx
xorl %eax, %eax
callq 0x3050
movq %r15, %rdi
movq %r12, %rsi
callq 0x3488
testl %eax, %eax
movq 0x48(%rsp), %r12
je 0x368d
jmp 0x3983
movq 0x66aa(%rip), %rax      # 0x9fd8
movq (%rax), %rdi
leaq 0x3778(%rip), %rsi      # 0x70b0
movq %r13, %rdx
xorl %eax, %eax
callq 0x3370
jmp 0x368d
xorl %eax, %eax
addq $0x968, %rsp            # imm = 0x968
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x6676(%rip), %rax      # 0x9fd8
movq (%rax), %rdi
leaq 0x3766(%rip), %rsi      # 0x70d2
leaq 0xd0(%rsp), %rdx
xorl %eax, %eax
callq 0x3370
pushq $0x1
popq %rdi
callq 0x3310
movq 0x664e(%rip), %rax      # 0x9fd8
movq (%rax), %rcx
leaq 0x378b(%rip), %rdi      # 0x711f
pushq $0x10
popq %rsi
pushq $0x1
popq %rdx
callq 0x3460
jmp 0x397b
movq 0x6630(%rip), %rax      # 0x9fd8
movq (%rax), %rdi
leaq 0x374b(%rip), %rsi      # 0x70fd
leaq 0xd0(%rsp), %rdx
movq %r15, %rcx
xorl %eax, %eax
callq 0x3370
jmp 0x397b
leaq 0x3643(%rip), %rdi      # 0x7010
callq 0x3200
jmp 0x397b
movb $0x3, 0x38(%rsp)
movl %ebx, 0x18(%rsp)
movl %ebx, 0x6e2d(%rip)      # 0xa810
xorl %eax, %eax
leaq 0x6e2c(%rip), %rcx      # 0xa818
cmpq $0x80, %rax
je 0x39ff
andq $0x0, (%rax,%rcx)
addq $0x8, %rax
jmp 0x39ec
pushq $0x1
popq %rdx
movl 0x18(%rsp), %ebx
movl %ebx, %ecx
shlq %cl, %rdx
movl %ebx, %ecx
shrl $0x6, %ecx
leaq 0x6e01(%rip), %rax      # 0xa818
movq %rdx, 0x28(%rsp)
movq %rcx, 0x10(%rsp)
orq %rdx, (%rax,%rcx,8)
movl %ebx, %eax
movq %rax, 0x20(%rsp)
movl %ebx, %eax
pushq $0x10
popq %r8
movq %r8, %rcx
leaq 0x560(%rsp), %r9
movq %r9, %rdi
leaq 0x6dd1(%rip), %rdx      # 0xa818
movq %rdx, %rsi
rep  movsq (%rsi), %es:(%rdi)
movq %r8, %rcx
leaq 0x50(%rsp), %r8
movq %r8, %rdi
movq %rdx, %rsi
rep  movsq (%rsi), %es:(%rdi)
incl %eax
movl %eax, %edi
movq %r9, %rsi
xorl %edx, %edx
movq %r8, %rcx
xorl %r8d, %r8d
callq 0x3260
testl %eax, %eax
leaq 0x6e25(%rip), %r14      # 0xa8a0
leaq 0xd0(%rsp), %r15
js 0x3c79
movl %eax, %edx
movq 0x28(%rsp), %rax
movq 0x10(%rsp), %rcx
testq %rax, 0x560(%rsp,%rcx,8)
je 0x3b32
decl %edx
movl %edx, %ebp
movl %ebx, %edi
callq 0x5782
movl %eax, %r13d
movl %eax, %edi
movq %r15, %rsi
movl $0x400, %edx            # imm = 0x400
callq 0x5e3c
testl %eax, %eax
jle 0x3c90
movl %r13d, %edi
leaq 0x38(%rsp), %rsi
pushq $0x1
popq %rdx
callq 0x5e83
movq %r15, %rdi
callq 0x3420
movslq %r13d, %rcx
movq %rax, (%r14,%rcx,8)
leaq 0x362a(%rip), %rdi      # 0x7118
movq %r15, %rsi
movq %r15, %rdx
xorl %eax, %eax
callq 0x3050
movl %r13d, %eax
cltd
pushq $0x40
popq %rcx
idivl %ecx
movslq %eax, %rdx
shll $0x6, %eax
movl %r13d, %ecx
subl %eax, %ecx
pushq $0x1
popq %rax
shlq %cl, %rax
leaq 0x6cfc(%rip), %rcx      # 0xa818
orq %rax, (%rcx,%rdx,8)
cmpl %r13d, 0x6ce9(%rip)     # 0xa810
jge 0x3b30
movl %r13d, 0x6ce0(%rip)     # 0xa810
movl %ebp, %edx
movq 0x20(%rsp), %rbp
testl %edx, %edx
jle 0x3c85
movq %rbp, %r13
incq %rbp
movl %ebp, %r15d
pushq $0x1
popq %r12
movl %ebp, %ecx
shlq %cl, %r12
shrl $0x6, %r15d
movq 0x560(%rsp,%r15,8), %rax
movb $0x1, %r14b
btq %rbp, %rax
jae 0x3bb5
decl %edx
movl %edx, (%rsp)
movl %ebp, %edi
leaq 0xd0(%rsp), %rsi
movl $0x400, %edx            # imm = 0x400
callq 0x5e3c
testl %eax, %eax
js 0x3c4d
je 0x3baf
leaq 0x6d10(%rip), %rcx      # 0xa8a0
movq 0x8(%rcx,%r13,8), %rsi
leaq 0x34da(%rip), %rdi      # 0x7076
movl %eax, %edx
leaq 0xd0(%rsp), %rcx
xorl %eax, %eax
callq 0x3050
jmp 0x3bb2
xorl %r14d, %r14d
movl (%rsp), %edx
testq %r12, 0x50(%rsp,%r15,8)
jne 0x3c1e
testb %r14b, %r14b
jne 0x3b37
movl %ebp, %edi
movl %edx, %ebx
callq 0x3470
notq %r12
leaq 0x6c40(%rip), %rax      # 0xa818
andq %r12, (%rax,%r15,8)
leaq 0x6cbd(%rip), %r14      # 0xa8a0
movq 0x8(%r14,%r13,8), %rdi
callq 0x3300
movl %ebx, %edx
movl 0x18(%rsp), %ebx
andq $0x0, 0x8(%r14,%r13,8)
movl 0x6c11(%rip), %eax      # 0xa810
cmpl %ebx, %eax
jle 0x3b37
movl %eax, %ecx
cmpq $0x0, (%r14,%rcx,8)
jne 0x3b37
decl %eax
movl %eax, 0x6bf4(%rip)      # 0xa810
jmp 0x3bff
decl %edx
movq 0x63b1(%rip), %rax      # 0x9fd8
movq (%rax), %rdi
leaq 0x6c6f(%rip), %rax      # 0xa8a0
movl %edx, %ebx
movq 0x8(%rax,%r13,8), %rdx
leaq 0x3440(%rip), %rsi      # 0x707f
xorl %eax, %eax
callq 0x3370
movl %ebx, %edx
jmp 0x3bc5
movq 0x6384(%rip), %rax      # 0x9fd8
movq (%rax), %rdi
leaq 0x6c42(%rip), %rax      # 0xa8a0
movq 0x8(%rax,%r13,8), %rdx
xorl %r14d, %r14d
leaq 0x33ee(%rip), %rsi      # 0x705b
xorl %eax, %eax
callq 0x3370
jmp 0x3bb2
callq 0x3040
movl (%rax), %edi
cmpl $0x4, %edi
jne 0x3cbf
movl 0x6b85(%rip), %eax      # 0xa810
jmp 0x3a2e
movq 0x6341(%rip), %rax      # 0x9fd8
movq (%rax), %r13
callq 0x3040
movl (%rax), %edi
callq 0x30e0
movq %r13, %rdi
leaq 0x3386(%rip), %rsi      # 0x7036
movq %rax, %rdx
xorl %eax, %eax
callq 0x3370
jmp 0x3b30
movq 0x6312(%rip), %rax      # 0x9fd8
movq (%rax), %rbx
callq 0x30e0
leaq 0x3343(%rip), %rsi      # 0x7018
movq %rbx, %rdi
movq %rax, %rdx
jmp 0x3974
movq 0x62f1(%rip), %rax      # 0x9fd8
movq (%rax), %rdi
leaq 0x33a8(%rip), %rsi      # 0x7099
movq %r15, %rdx
xorl %eax, %eax
callq 0x3370
pushq $0x2
jmp 0x397d
nop