// File: /workspace/github_cpp_makefile_star2_O1/chlunde[P]qtar/qtar.cc
// Function: main
int main(int argc, char *argv[]) {
	std::string queueType = argv[1];
	std::string root = argv[2];
	struct archive *a;

	a = archive_write_new();

	//archive_write_set_compression_gzip(a);

	archive_write_set_compression_none(a);
	archive_write_set_format_ustar(a);
	archive_write_set_bytes_per_block(a, 128 * 1024);

	archive_write_open_file(a, "/tmp/z.tar");

	if (queueType == "CScan") {
		Traverser<CScan> t(a);

		t.walk(root);
	} else if (queueType == "Queue") {
		Traverser<Queue> t(a);

		t.walk(root);
	}
	archive_write_close(a);
	archive_write_finish(a);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x170, %rsp            # imm = 0x170
movq %rsi, %rbx
movq 0x8(%rsi), %rsi
leaq 0x28(%rsp), %rdi
leaq 0x48(%rsp), %rdx
callq 0x2812
movq 0x10(%rbx), %rsi
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %rdx
callq 0x2812
callq 0x20e0
movq %rax, %rbx
movq %rax, %rdi
callq 0x2380
movq %rbx, %rdi
callq 0x2400
movq %rbx, %rdi
movl $0x20000, %esi          # imm = 0x20000
callq 0x23b0
leaq 0x5a27(%rip), %rsi      # 0x8004
movq %rbx, %rdi
callq 0x22c0
leaq 0x5a23(%rip), %rsi      # 0x800f
leaq 0x28(%rsp), %rdi
callq 0x20c0
testl %eax, %eax
je 0x267e
leaq 0x5a10(%rip), %rsi      # 0x8015
leaq 0x28(%rsp), %rdi
callq 0x20c0
testl %eax, %eax
jne 0x2756
leaq 0x48(%rsp), %rdi
movq %rbx, %rsi
callq 0x2bec
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x2cf2
leaq 0x140(%rsp), %rdi
callq 0x3096
leaq 0x110(%rsp), %rdi
callq 0x3096
leaq 0xc0(%rsp), %rdi
callq 0x31e4
leaq 0x70(%rsp), %r14
movq %r14, %rdi
callq 0x31e4
movq -0x20(%r14), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
jne 0x2749
jmp 0x2756
leaq 0x60(%rsp), %r15
movq %rbx, -0x18(%r15)
movq %r15, -0x10(%r15)
xorl %eax, %eax
movq %rax, -0x8(%r15)
movb $0x0, (%r15)
leaq 0x78(%rsp), %rcx
movl %eax, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
xorps %xmm0, %xmm0
movups %xmm0, 0x20(%rcx)
leaq 0xb0(%rsp), %rcx
movl %eax, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movups %xmm0, 0x20(%rcx)
leaq 0xe8(%rsp), %rcx
movl %eax, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq 0x118(%rsp), %rcx
movl %eax, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x2850
leaq 0x110(%rsp), %rdi
callq 0x3096
leaq 0xe0(%rsp), %rdi
callq 0x3096
leaq 0xa8(%rsp), %rdi
callq 0x3118
leaq 0x70(%rsp), %r14
movq %r14, %rdi
callq 0x3118
movq -0x20(%r14), %rdi
cmpq %r15, %rdi
je 0x2756
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x2250
movq %rbx, %rdi
callq 0x2090
movq %rbx, %rdi
callq 0x23c0
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2781
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2250
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x279c
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2250
xorl %eax, %eax
addq $0x170, %rsp            # imm = 0x170
popq %rbx
popq %r14
popq %r15
retq
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x304c
jmp 0x27d3
jmp 0x27d0
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x2ba2
jmp 0x27d3
movq %rax, %rbx
jmp 0x27ee
movq %rax, %rbx
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x27ee
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2250
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2809
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2250
movq %rbx, %rdi
callq 0x2390
nop