// File: /workspace/github_cpp_makefile_star2_O3/skyshore2001[P]symfind/symfind.cpp
// Function: TestShow()
int TestShow()
{
	// Test code for tranverse objects
	int maxcnt = 40;
	int i;
	char buf[1024];
	printf("=== folders:\n");
	SfFolderIter itFolder(g_repos);
	for (i=0; i<maxcnt && itFolder.Next(); ++i) {
		const SfContext &ctx = itFolder.GetContext();
		printf("%d: %s\n", i+1, GetFullName(buf, ctx.repo->root, ctx.folder->name));
	}
	printf("=== files:\n");
	SfFileIter itFile(g_repos);
	for (i=0; i<maxcnt && itFile.Next(); ++i) {
		const SfContext &ctx = itFile.GetContext();
		printf("%d: %s\n", i+1, GetFullName(buf, ctx.repo->root, ctx.folder->name, ctx.file->name));
	}
	printf("=== symbols:\n");
	SfSymbolIter itSymbol(g_repos);
	for (i=0; i<maxcnt && itSymbol.Next(); ++i) {
		const SfContext &ctx = itSymbol.GetContext();
		printf("%d: %s\t%s\t%s\t%s:%s\n", i+1, ctx.symbol->kind(), ctx.symbol->name(), ctx.symbol->extra(), GetFullName(buf, ctx.repo->root, ctx.folder->name, ctx.file->name), ctx.symbol->line());
	}
	return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x4d8, %rsp            # imm = 0x4D8
leaq 0x2b39(%rip), %rdi      # 0x66ac
callq 0x2280
movq 0x56d1(%rip), %rax      # 0x9250
leaq 0x10(%rsp), %rcx
movq %rax, 0x18(%rcx)
xorps %xmm0, %xmm0
movups %xmm0, 0x28(%rcx)
movq $0x0, 0x38(%rcx)
movq %rcx, 0x20(%rcx)
leaq 0xd0(%rsp), %rbx
leaq 0x287a(%rip), %r14      # 0x6424
xorl %eax, %eax
xorl %ebp, %ebp
testq %rax, %rax
je 0x3bbe
movq 0x10(%rax), %rcx
movq 0x30(%rsp), %rax
jmp 0x3bda
movq 0x30(%rsp), %rax
testq %rax, %rax
je 0x3c11
movq 0x18(%rax), %rax
movq %rax, 0x30(%rsp)
testq %rax, %rax
je 0x3c11
movq 0x10(%rax), %rcx
testq %rcx, %rcx
je 0x3bc3
movq %rcx, 0x38(%rsp)
incl %ebp
movq (%rax), %rsi
movq (%rcx), %rdx
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x2c94
movq %r14, %rdi
movl %ebp, %esi
movq %rbx, %rdx
xorl %eax, %eax
callq 0x2030
cmpl $0x28, %ebp
je 0x3c1a
movq 0x38(%rsp), %rax
jmp 0x3bae
movq $0x0, 0x38(%rsp)
leaq 0x2a98(%rip), %rdi      # 0x66b9
callq 0x2280
movq 0x5623(%rip), %rax      # 0x9250
leaq 0x90(%rsp), %rbx
movq %rax, 0x18(%rbx)
xorps %xmm0, %xmm0
movups %xmm0, 0x28(%rbx)
movq $0x0, 0x38(%rbx)
movq %rbx, 0x20(%rbx)
movl $0x1, %ebp
leaq 0xd0(%rsp), %r14
leaq 0x27c4(%rip), %r15      # 0x6424
movq %rbx, %rdi
callq 0x4536
testq %rax, %rax
je 0x3cac
movq 0xb0(%rsp), %rax
movq 0xb8(%rsp), %rcx
movq (%rax), %rsi
movq (%rcx), %rdx
movq 0xc0(%rsp), %rax
movq (%rax), %rcx
movq %r14, %rdi
callq 0x2c94
movq %r15, %rdi
movl %ebp, %esi
movq %r14, %rdx
xorl %eax, %eax
callq 0x2030
incl %ebp
cmpl $0x29, %ebp
jne 0x3c60
leaq 0x2a11(%rip), %rdi      # 0x66c4
callq 0x2280
movq 0x5591(%rip), %rax      # 0x9250
leaq 0x50(%rsp), %rbx
movq %rax, 0x18(%rbx)
xorps %xmm0, %xmm0
movups %xmm0, 0x28(%rbx)
movq $0x0, 0x38(%rbx)
movq %rbx, 0x20(%rbx)
movl $0x1, %ebp
leaq 0xd0(%rsp), %r14
movq %rbx, %rdi
callq 0x45ce
testq %rax, %rax
je 0x3d7f
movq 0x88(%rsp), %rax
movzwl 0x4(%rax), %ecx
leaq (%rax,%rcx), %r12
addq $0x10, %r12
movzwl (%rax), %ecx
leaq 0x10(%rax,%rcx), %r13
movzwl 0x6(%rax), %ecx
leaq 0x10(%rax,%rcx), %r15
movq 0x70(%rsp), %rax
movq 0x78(%rsp), %rcx
movq (%rax), %rsi
movq (%rcx), %rdx
movq 0x80(%rsp), %rax
movq (%rax), %rcx
movq %r14, %rdi
callq 0x2c94
movq 0x88(%rsp), %rax
movzwl 0x2(%rax), %ecx
addq %rcx, %rax
addq $0x10, %rax
movq %rax, (%rsp)
leaq 0x2753(%rip), %rdi      # 0x64b2
movl %ebp, %esi
movq %r12, %rdx
movq %r13, %rcx
movq %r15, %r8
movq %r14, %r9
xorl %eax, %eax
callq 0x2030
incl %ebp
cmpl $0x29, %ebp
jne 0x3ce8
xorl %eax, %eax
addq $0x4d8, %rsp            # imm = 0x4D8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop