// File: /workspace/github_cpp_makefile_star2_O1/SeTriones[P]Anubis/main.cpp
// Function: testKeyGroup()
void testKeyGroup() {
	KeyGroup* kg = new KeyGroup(10);
	kg->dump();
	int cnt;
	for (int i = 0; i < 10; i++) {
		for (int inc_cnt = 0; inc_cnt <= i; inc_cnt++) {
			cnt = kg->Inc((uint64_t)i);
			_INFO("inc %d,get %d", i, cnt);
		}
	}
	for (int i = 0; i < 100; i++) {
		kg->Inc(1);
		kg->Inc(2);
		kg->Inc(3);
		kg->Inc(4);
	}
	kg->dump();
	for (int i = 0; i < 5; i++) {
		for (int inc_cnt = 0; inc_cnt < i + 10; inc_cnt++) {
			int tmp = i + 20;
			cnt = kg->Inc((uint64_t)tmp);
			_INFO("inc %d,get %d", tmp, cnt);
		}
	}
	kg->dump();
	return;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x98, %rsp
movl $0x58, %edi
callq 0x21e0
movq %rax, 0x18(%rsp)
movq %rax, %rdi
movl $0xa, %esi
callq 0x3c84
movq 0x18(%rsp), %rdi
callq 0x3e72
movl $0x1, %r15d
leaq 0x60(%rsp), %r13
leaq 0x1a01(%rip), %r14      # 0x6004
leaq 0x40(%rsp), %rbx
leaq 0x1d41(%rip), %rbp      # 0x6350
xorl %r12d, %r12d
movl %r15d, 0x14(%rsp)
movq %r12, 0x28(%rsp)
movq 0x18(%rsp), %rdi
movq %r12, %rsi
callq 0x3dc2
movl %eax, 0x20(%rsp)
leaq 0x38(%rsp), %r12
movq %r12, %rdi
callq 0x21d0
movq %r12, %rdi
movq %r13, %rsi
callq 0x2100
movl $0x12, %esi
movq %rbx, %rdi
movq %r14, %rdx
movq %r13, %rcx
callq 0x2180
movq 0x4979(%rip), %rax      # 0x8fd8
movq %rbp, %r12
movq %rbx, %rbp
movq %r13, %rbx
movq %r14, %r13
movq (%rax), %r14
callq 0x21b0
movl 0x20(%rsp), %ecx
movl %ecx, (%rsp)
movq %r14, %rdi
movq %r13, %r14
movq %rbx, %r13
movq %rbp, %rbx
movq %r12, %rbp
movq 0x28(%rsp), %r12
leaq 0x1ae6(%rip), %r8       # 0x617b
movq %rbp, %rsi
movq %rbx, %rdx
movq %rax, %rcx
movl %r12d, %r9d
xorl %eax, %eax
callq 0x22e0
decl %r15d
jne 0x461c
incq %r12
movl 0x14(%rsp), %r15d
incl %r15d
cmpq $0xa, %r12
jne 0x4612
movq 0x18(%rsp), %r14
movl $0x64, %ebx
movl $0x1, %esi
movq %r14, %rdi
callq 0x3dc2
movl $0x2, %esi
movq %r14, %rdi
callq 0x3dc2
movl $0x3, %esi
movq %r14, %rdi
callq 0x3dc2
movl $0x4, %esi
movq %r14, %rdi
callq 0x3dc2
decl %ebx
jne 0x46d0
movq %r14, %rdi
callq 0x3e72
movl $0xa, %r15d
leaq 0x38(%rsp), %r14
leaq 0x60(%rsp), %rbx
leaq 0x18dd(%rip), %r13      # 0x6004
leaq 0x40(%rsp), %r12
xorl %eax, %eax
movq %rax, 0x30(%rsp)
addq $0x14, %rax
movq %rax, 0x20(%rsp)
movl %r15d, 0x14(%rsp)
movq 0x18(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x3dc2
movl %eax, 0x28(%rsp)
movq %r14, %rdi
callq 0x21d0
movq %r14, %rdi
movq %rbx, %rsi
callq 0x2100
movl $0x12, %esi
movq %r12, %rdi
movq %r13, %rdx
movq %rbx, %rcx
callq 0x2180
movq %r13, %rbp
movq %rbx, %r13
movq %r14, %rbx
movq 0x484e(%rip), %rax      # 0x8fd8
movq (%rax), %r14
callq 0x21b0
movl 0x28(%rsp), %ecx
movl %ecx, (%rsp)
movq %r14, %rdi
movq %rbx, %r14
movq %r13, %rbx
movq %rbp, %r13
leaq 0x19cf(%rip), %r8       # 0x617b
leaq 0x1b9d(%rip), %rsi      # 0x6350
movq %r12, %rdx
movq %rax, %rcx
movq 0x20(%rsp), %r9
xorl %eax, %eax
callq 0x22e0
decl %r15d
jne 0x4741
movq 0x30(%rsp), %rax
incq %rax
movl 0x14(%rsp), %r15d
incl %r15d
cmpq $0x5, %rax
jne 0x472e
movq 0x18(%rsp), %rdi
callq 0x3e72
addq $0x98, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
movl $0x58, %esi
movq 0x18(%rsp), %rdi
callq 0x21f0
movq %r14, %rdi
callq 0x23a0