// File: sergiosvieira[P]ptd2ns2/rng.cc
// Function: (anonymous namespace)::CheckSeed(unsigned long const*)
int CheckSeed(const unsigned long seed[6]) {
	int i;
	for (i = 0; i < 3; ++i) {
		if (seed[i] >= m1) {
			fprintf(stderr, "****************************************\n\n");
			fprintf(stderr, "ERROR: Seed[%d] >= 4294967087, Seed is not set.",
					i);
			fprintf(stderr, "\n\n****************************************\n\n");
			return (-1);
		}
	}
	for (i = 3; i < 6; ++i) {
		if (seed[i] >= m2) {
			fprintf(stderr, "****************************************\n\n");
			fprintf(stderr, "ERROR: Seed[%d] >= 429444443, Seed is not set.", i);
			fprintf(stderr, "\n\n****************************************\n\n");
			return (-1);
		}
	}
	if (seed[0] == 0 && seed[1] == 0 && seed[2] == 0) {
		fprintf(stderr, "****************************************\n\n");
		fprintf(stderr, "ERROR: First 3 seeds = 0.\n\n");
		fprintf(stderr, "****************************************\n\n");
		return (-1);
	}
	if (seed[3] == 0 && seed[4] == 0 && seed[5] == 0) {
		fprintf(stderr, "****************************************\n\n");
		fprintf(stderr, "ERROR: Last 3 seeds = 0.\n\n");
		fprintf(stderr, "****************************************\n\n");
		return (-1);
	}
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
cmpl $0x3, -0x14(%rbp)
jge 0x8321
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %xmm0
movaps 0x217f(%rip), %xmm1     # 0xa410
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x2183(%rip), %xmm1     # 0xa420
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movsd 0x20f4(%rip), %xmm1     # 0xa3a8
ucomisd %xmm1, %xmm0
jb 0x8311
movq 0x6d17(%rip), %rax      # 0xefd8
movq (%rax), %rdi
leaq 0x22ff(%rip), %rsi      # 0xa5ca
movb $0x0, %al
callq 0x32c0
movq 0x6cff(%rip), %rax      # 0xefd8
movq (%rax), %rdi
movl -0x14(%rbp), %edx
leaq 0x22b2(%rip), %rsi      # 0xa598
movb $0x0, %al
callq 0x32c0
movq 0x6ce4(%rip), %rax      # 0xefd8
movq (%rax), %rdi
leaq 0x22ca(%rip), %rsi      # 0xa5c8
movb $0x0, %al
callq 0x32c0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x84c0
jmp 0x8313
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x8273
movl $0x3, -0x14(%rbp)
cmpl $0x6, -0x14(%rbp)
jge 0x83d6
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %xmm0
movaps 0x20ca(%rip), %xmm1     # 0xa410
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x20ce(%rip), %xmm1     # 0xa420
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movsd 0x2057(%rip), %xmm1     # 0xa3c0
ucomisd %xmm1, %xmm0
jb 0x83c6
movq 0x6c62(%rip), %rax      # 0xefd8
movq (%rax), %rdi
leaq 0x224a(%rip), %rsi      # 0xa5ca
movb $0x0, %al
callq 0x32c0
movq 0x6c4a(%rip), %rax      # 0xefd8
movq (%rax), %rdi
movl -0x14(%rbp), %edx
leaq 0x225a(%rip), %rsi      # 0xa5f5
movb $0x0, %al
callq 0x32c0
movq 0x6c2f(%rip), %rax      # 0xefd8
movq (%rax), %rdi
leaq 0x2215(%rip), %rsi      # 0xa5c8
movb $0x0, %al
callq 0x32c0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x84c0
jmp 0x83c8
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x8328
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
jne 0x8447
movq -0x10(%rbp), %rax
cmpq $0x0, 0x8(%rax)
jne 0x8447
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x8447
movq 0x6bdb(%rip), %rax      # 0xefd8
movq (%rax), %rdi
leaq 0x21c3(%rip), %rsi      # 0xa5ca
movb $0x0, %al
callq 0x32c0
movq 0x6bc3(%rip), %rax      # 0xefd8
movq (%rax), %rdi
leaq 0x2205(%rip), %rsi      # 0xa624
movb $0x0, %al
callq 0x32c0
movq 0x6bab(%rip), %rax      # 0xefd8
movq (%rax), %rdi
leaq 0x2193(%rip), %rsi      # 0xa5ca
movb $0x0, %al
callq 0x32c0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x84c0
movq -0x10(%rbp), %rax
cmpq $0x0, 0x18(%rax)
jne 0x84b9
movq -0x10(%rbp), %rax
cmpq $0x0, 0x20(%rax)
jne 0x84b9
movq -0x10(%rbp), %rax
cmpq $0x0, 0x28(%rax)
jne 0x84b9
movq 0x6b69(%rip), %rax      # 0xefd8
movq (%rax), %rdi
leaq 0x2151(%rip), %rsi      # 0xa5ca
movb $0x0, %al
callq 0x32c0
movq 0x6b51(%rip), %rax      # 0xefd8
movq (%rax), %rdi
leaq 0x21af(%rip), %rsi      # 0xa640
movb $0x0, %al
callq 0x32c0
movq 0x6b39(%rip), %rax      # 0xefd8
movq (%rax), %rdi
leaq 0x2121(%rip), %rsi      # 0xa5ca
movb $0x0, %al
callq 0x32c0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x84c0
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)