// File: /workspace/github_cpp_makefile_star2_O3/conchoecia[P]fasta_stats/src/fasta_stats.cc
// Function: main
int main(int argc, char **argv) {
	opt_n_cutoff = 9;
	opt_N_cutoff = -1;
	opt_big_size = 50;
	opt_min_length = 1000;
	opt_min_gap_length = -1;
	int c;
	while ((c = getopt(argc, argv, "b:g:l:N:n:")) != EOF) {
		switch (c) {
		    case 'b':
			opt_big_size = atol(optarg);
			break;
		    case 'g':
			opt_min_gap_length = atol(optarg);
			if (opt_min_gap_length < 0) {
				print_usage();
			}
			break;
		    case 'l':
			opt_min_length = atol(optarg);
			if (opt_min_length < 0) {
				print_usage();
			}
			break;
		    case 'N':
			opt_N_cutoff = atol(optarg);
			break;
		    case 'n':
			opt_n_cutoff = atol(optarg);
			if (opt_n_cutoff < 0) {
				print_usage();
			}
			break;
		    default:
			print_usage();
		}
	}
	opt_big_size *= 1000;
	if (optind + 1 != argc) {
		print_usage();
	}
	std::list<Scaffold> scaffolds;
	if (!read_file(argv[optind], scaffolds)) {
		return 1;
	}
	print_stats(scaffolds);
	printf("\n");
	print_coverage(scaffolds);
	if (opt_min_gap_length != -1) {
		printf("\n");
		print_captured_gaps(scaffolds);
	}
	return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x118, %rsp            # imm = 0x118
movq %rsi, %rbx
movl %edi, %ebp
movq $-0x1, 0x6a0b(%rip) # 0x9208
movq $0x32, 0x6a08(%rip) # 0x9210
movl $0x9, %eax
movq %rax, 0x8(%rsp)
movl $0x3e8, %eax            # imm = 0x3E8
movq %rax, 0x38(%rsp)
movq $-0x1, 0x68(%rsp)
leaq 0x3814(%rip), %r14      # 0x6040
leaq 0x69dd(%rip), %r12      # 0x9210
movq 0x6786(%rip), %r13      # 0x8fc0
movl %ebp, %edi
movq %rbx, %rsi
movq %r14, %rdx
callq 0x2080
cmpl $0x66, %eax
jle 0x286b
cmpl $0x6e, %eax
je 0x289f
cmpl $0x6c, %eax
je 0x288f
cmpl $0x67, %eax
jne 0x28b2
movq (%r13), %rdi
callq 0x2260
movq %rax, 0x68(%rsp)
jmp 0x28ad
cmpl $0x4e, %eax
je 0x287a
movq %r12, %r15
cmpl $0x62, %eax
je 0x2881
jmp 0x28b7
leaq 0x6987(%rip), %r15      # 0x9208
movq (%r13), %rdi
callq 0x2260
movq %rax, (%r15)
jmp 0x283a
movq (%r13), %rdi
callq 0x2260
movq %rax, 0x38(%rsp)
jmp 0x28ad
movq (%r13), %rdi
callq 0x2260
movq %rax, 0x8(%rsp)
testq %rax, %rax
jns 0x283a
callq 0x3951
cmpl $-0x1, %eax
jne 0x28b2
imulq $0x3e8, 0x6949(%rip), %rax # imm = 0x3E8
movq %rax, 0x6942(%rip)      # 0x9210
movq 0x6703(%rip), %rax      # 0x8fd8
movslq (%rax), %rax
leal 0x1(%rax), %ecx
cmpl %ebp, %ecx
jne 0x28b2
leaq 0x10(%rsp), %rcx
movq %rcx, 0x8(%rcx)
movq %rcx, (%rcx)
movq $0x0, 0x10(%rcx)
movq (%rbx,%rax,8), %rbx
leaq 0x70(%rsp), %rdi
leaq 0x40(%rsp), %rdx
movq %rbx, %rsi
callq 0x2110
leaq 0x70(%rsp), %rdi
callq 0x490b
movl %eax, %r14d
leaq 0x80(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x292c
callq 0x2220
cmpl $-0x1, %r14d
je 0x37c1
leaq 0x90(%rsp), %rdi
pxor %xmm0, %xmm0
movdqa %xmm0, -0x10(%rdi)
movdqa %xmm0, -0x20(%rdi)
leaq 0x40(%rsp), %rdx
movdqa %xmm0, (%rdx)
leaq 0xd0(%rsp), %rcx
movl $0x1, %esi
callq 0x405c
leaq 0xa8(%rsp), %rax
movq %rax, 0x8(%rax)
movq %rax, (%rax)
movq $0x0, 0x10(%rax)
leaq 0x10(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x3e94
leaq 0x10(%rsp), %rbx
movq %rax, %rdi
movq %rbx, %rsi
callq 0x2060
incq 0x10(%rbx)
leaq 0x70(%rsp), %r13
movq %r13, %rdi
callq 0x3b12
movq 0x8(%rbx), %rax
movq 0x38(%rax), %r12
addq $0x10, %r12
leaq 0x50(%rsp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
xorl %r15d, %r15d
leaq 0x40(%rsp), %rbp
leaq 0x37b5(%rip), %rbx      # 0x6192
movl %r14d, 0x28(%rsp)
movl %r14d, %edi
movq %rbp, %rsi
callq 0x4c41
cmpq $-0x1, %rax
je 0x2e4f
movq 0x40(%rsp), %rax
cmpb $0x3e, (%rax)
jne 0x2ac1
movq 0x18(%rsp), %rdi
addq $0x10, %rdi
callq 0x3b5a
testb %al, %al
jne 0x2aac
pxor %xmm0, %xmm0
movdqa %xmm0, 0x80(%rsp)
movdqa %xmm0, 0x70(%rsp)
movdqa %xmm0, 0xd0(%rsp)
movl $0x1, %esi
leaq 0x90(%rsp), %rdi
leaq 0xd0(%rsp), %rdx
leaq 0xf8(%rsp), %rcx
callq 0x405c
leaq 0xa8(%rsp), %rax
movq %rax, 0xb0(%rsp)
movq %rax, 0xa8(%rsp)
movq $0x0, 0xb8(%rsp)
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
movq %r13, %rsi
callq 0x3e94
movq %rax, %rdi
movq %rbx, %rsi
callq 0x2060
incq 0x20(%rsp)
movq %r13, %rdi
callq 0x3b12
leaq 0x36e6(%rip), %rbx      # 0x6192
movq 0x18(%rsp), %rax
movq 0x38(%rax), %r12
addq $0x10, %r12
xorl %r15d, %r15d
jmp 0x29e2
movl $0x2, %ecx
movq %rbp, %rdi
movq %rbx, %rsi
xorl %edx, %edx
callq 0x22f0
movq %rax, %r14
testq %rax, %rax
je 0x2c42
testq %r15, %r15
je 0x2c42
cmpq 0x6719(%rip), %r15      # 0x9208
jne 0x2ba3
movq 0x18(%rsp), %rdi
addq $0x10, %rdi
callq 0x3b5a
testb %al, %al
jne 0x2c2b
movq 0x18(%rsp), %rax
subq %r15, 0x10(%rax)
pxor %xmm0, %xmm0
movdqa %xmm0, 0x80(%rsp)
movdqa %xmm0, 0x70(%rsp)
movdqa %xmm0, 0xd0(%rsp)
movl $0x1, %esi
leaq 0x90(%rsp), %rdi
leaq 0xd0(%rsp), %rdx
leaq 0xf8(%rsp), %rcx
callq 0x405c
leaq 0xa8(%rsp), %rax
movq %rax, 0xb0(%rsp)
movq %rax, 0xa8(%rsp)
movq $0x0, 0xb8(%rsp)
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
movq %r13, %rsi
callq 0x3e94
movq %rax, %rdi
movq %rbx, %rsi
callq 0x2060
incq 0x20(%rsp)
movq %r13, %rdi
callq 0x3b12
jmp 0x2c2b
cmpq 0x8(%rsp), %r15
jge 0x2bc6
movdqu (%r12), %xmm0
movq %r15, %xmm1
pshufd $0x44, %xmm1, %xmm1     # xmm1 = xmm1[0,1,0,1]
paddq %xmm0, %xmm1
movdqu %xmm1, (%r12)
jmp 0x2bdb
movq (%r12), %rax
cmpq 0x8(%r12), %rax
jne 0x2be0
pxor %xmm0, %xmm0
movdqu %xmm0, (%r12)
xorl %r15d, %r15d
jmp 0x2c42
movq 0x18(%rsp), %rbx
movl $0x20, %edi
callq 0x2230
leaq 0x30(%rbx), %rsi
pxor %xmm0, %xmm0
movdqu %xmm0, 0x10(%rax)
movq %rax, %rdi
callq 0x2060
incq 0x40(%rbx)
movq 0x18(%rsp), %rbx
movl $0x18, %edi
callq 0x2230
leaq 0x48(%rbx), %rsi
movq %r15, 0x10(%rax)
movq %rax, %rdi
callq 0x2060
incq 0x58(%rbx)
movq 0x18(%rsp), %rax
movq 0x38(%rax), %r12
addq $0x10, %r12
xorl %r15d, %r15d
leaq 0x3550(%rip), %rbx      # 0x6192
movq 0x48(%rsp), %rax
movq 0x18(%rsp), %rcx
addq %rax, 0x10(%rcx)
xorl %r13d, %r13d
cmpq $-0x1, %r14
je 0x2e2f
addq %r14, %r13
addq %r13, (%r12)
leaq 0x1(%r14), %rdx
movl $0x2, %ecx
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x2360
cmpq $-0x1, %rax
je 0x2e38
movq %rax, %r13
movq %rax, %rbx
subq %r14, %rbx
addq %r15, %rbx
cmpq 0x6573(%rip), %rbx      # 0x9208
jne 0x2d72
movq 0x18(%rsp), %rdi
addq $0x10, %rdi
callq 0x3b5a
testb %al, %al
jne 0x2d54
movq 0x18(%rsp), %rax
addq 0x48(%rsp), %rbx
movq %r13, %rcx
subq %rbx, %rcx
addq %rcx, 0x10(%rax)
pxor %xmm0, %xmm0
movdqa %xmm0, 0x80(%rsp)
movdqa %xmm0, 0x70(%rsp)
movdqa %xmm0, 0xd0(%rsp)
movl $0x1, %esi
leaq 0x90(%rsp), %rdi
leaq 0xd0(%rsp), %rdx
leaq 0xf8(%rsp), %rcx
callq 0x405c
leaq 0xa8(%rsp), %rax
movq %rax, 0xb0(%rsp)
movq %rax, 0xa8(%rsp)
movq $0x0, 0xb8(%rsp)
leaq 0x10(%rsp), %r14
movq %r14, %rdi
leaq 0x70(%rsp), %rbx
movq %rbx, %rsi
callq 0x3e94
movq %rax, %rdi
movq %r14, %rsi
callq 0x2060
incq 0x20(%rsp)
movq %rbx, %rdi
callq 0x3b12
movq 0x18(%rsp), %rax
movq 0x38(%rax), %r12
addq $0x10, %r12
movq 0x48(%rsp), %rcx
subq %r13, %rcx
movq %rcx, 0x10(%rax)
jmp 0x2df6
movq (%r12), %rax
cmpq 0x8(%rsp), %rbx
jge 0x2d8b
addq %rbx, %rax
movq %rax, (%r12)
addq %rbx, 0x8(%r12)
jmp 0x2df6
cmpq 0x8(%r12), %rax
jne 0x2d9e
pxor %xmm0, %xmm0
movdqu %xmm0, (%r12)
jmp 0x2df6
movq 0x18(%rsp), %r14
movl $0x20, %edi
callq 0x2230
leaq 0x30(%r14), %rsi
pxor %xmm0, %xmm0
movdqu %xmm0, 0x10(%rax)
movq %rax, %rdi
callq 0x2060
incq 0x40(%r14)
movq 0x18(%rsp), %r14
movl $0x18, %edi
callq 0x2230
leaq 0x48(%r14), %rsi
movq %rbx, 0x10(%rax)
movq %rax, %rdi
callq 0x2060
incq 0x58(%r14)
movq 0x18(%rsp), %rax
movq 0x38(%rax), %r12
addq $0x10, %r12
leaq 0x1(%r13), %rdx
movl $0x2, %ecx
movq %rbp, %rdi
leaq 0x3389(%rip), %rbx      # 0x6192
movq %rbx, %rsi
callq 0x22f0
movq %rax, %r14
negq %r13
movl $0x0, %r15d
cmpq $-0x1, %rax
jne 0x2c5d
movq 0x48(%rsp), %rax
xorl %r15d, %r15d
addq %r13, %rax
addq %rax, (%r12)
jmp 0x2e40
subq %r14, %r15
addq 0x48(%rsp), %r15
leaq 0x70(%rsp), %r13
movl 0x28(%rsp), %r14d
jmp 0x29e2
movl %r14d, %edi
callq 0x4c33
movq 0x18(%rsp), %rdi
addq $0x10, %rdi
callq 0x3b5a
testb %al, %al
leaq 0x10(%rsp), %r14
je 0x2e91
movq 0x18(%rsp), %rbx
decq 0x20(%rsp)
movq %rbx, %rdi
callq 0x2330
leaq 0x10(%rbx), %rdi
callq 0x3b12
movq %rbx, %rdi
callq 0x2220
movq %r14, %rbx
movq (%rbx), %rbx
cmpq %r14, %rbx
je 0x2ea7
leaq 0x10(%rbx), %rdi
callq 0x3bde
jmp 0x2e94
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
callq 0x3c3a
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x2ec8
callq 0x2220
movq %r13, 0x78(%rsp)
movq %r13, 0x70(%rsp)
movq $0x0, 0x80(%rsp)
movq %rbx, %r14
movq (%r14), %r14
cmpq %rbx, %r14
je 0x2efe
leaq 0x30(%r14), %rcx
movq 0x30(%r14), %rdx
movq %r13, %rdi
movq %r13, %rsi
callq 0x4178
jmp 0x2ee1
leaq 0x70(%rsp), %rbx
movq %rbx, %rdi
callq 0x4204
leaq 0x10(%rsp), %r10
movq (%r10), %r11
cmpq %r10, %r11
je 0x2fa7
movq 0x62ed(%rip), %rcx      # 0x9210
xorl %edx, %edx
xorl %eax, %eax
xorl %r15d, %r15d
xorl %esi, %esi
xorl %r13d, %r13d
xorl %r12d, %r12d
movq %r11, %rdi
addq 0x18(%rdi), %r13
addq 0x20(%rdi), %rsi
movq 0x10(%rdi), %r8
movq (%rdi), %r9
addq %r8, %r12
xorl %edi, %edi
cmpq %rcx, %r8
setg %dil
cmovleq %rdx, %r8
addq %rdi, %r15
addq %r8, %rax
movq %r9, %rdi
cmpq %r10, %r9
jne 0x2f35
cvtsi2sd %rsi, %xmm2
movsd 0x3099(%rip), %xmm0     # 0x6008
cvtsi2sd %rax, %xmm1
testq %r12, %r12
jle 0x2fd9
xorl %eax, %eax
xorl %r14d, %r14d
movq %r11, %rdx
incq %r14
movq (%rdx), %rcx
cmpq %r10, %rcx
je 0x2f9c
addq 0x10(%rdx), %rax
leaq (%rax,%rax), %rsi
movq %rcx, %rdx
cmpq %r12, %rsi
jl 0x2f81
cmpq %r11, %rcx
je 0x2fde
movq 0x8(%rcx), %r11
jmp 0x2fe1
movq %r11, 0x8(%rsp)
pxor %xmm0, %xmm0
movq %xmm0, 0x28(%rsp)
movq 0x70(%rsp), %rax
movq %rax, 0x30(%rsp)
xorl %r15d, %r15d
movq %xmm0, 0xc8(%rsp)
xorl %r13d, %r13d
xorl %r12d, %r12d
xorl %r14d, %r14d
xorl %ebp, %ebp
jmp 0x3049
xorl %r14d, %r14d
jmp 0x2fe1
movq %rcx, %r11
mulsd %xmm0, %xmm2
mulsd %xmm0, %xmm1
movq 0x70(%rsp), %rdi
xorl %ebp, %ebp
cmpq %rbx, %rdi
movq %r11, 0x8(%rsp)
movsd %xmm1, 0x28(%rsp)
movsd %xmm2, 0xc8(%rsp)
je 0x3044
testq %r13, %r13
jle 0x3044
xorl %ebp, %ebp
xorl %ecx, %ecx
movq %rdi, %rdx
incq %rbp
movq (%rdx), %rax
cmpq %rbx, %rax
je 0x3034
addq 0x10(%rdx), %rcx
subq 0x18(%rdx), %rcx
leaq (%rcx,%rcx), %rsi
movq %rax, %rdx
cmpq %r13, %rsi
jl 0x3015
cmpq %rdi, %rax
je 0x303d
movq 0x8(%rax), %rax
movq %rax, 0x30(%rsp)
jmp 0x3049
movq %rdi, 0x30(%rsp)
movq 0x20(%rsp), %rsi
leaq 0x3140(%rip), %rdi      # 0x6195
xorl %eax, %eax
callq 0x2050
movq 0x80(%rsp), %rsi
leaq 0x314b(%rip), %rdi      # 0x61b6
xorl %eax, %eax
callq 0x2050
leaq 0x315e(%rip), %rdi      # 0x61d7
xorl %eax, %eax
callq 0x2050
movq %r12, %rdi
callq 0x39f6
leaq 0x316e(%rip), %rdi      # 0x61fd
xorl %eax, %eax
callq 0x2050
movq %r13, %rdi
callq 0x39f6
xorps %xmm1, %xmm1
cvtsi2sd %r12, %xmm1
movsd %xmm1, 0xf0(%rsp)
movsd 0xc8(%rsp), %xmm0
divsd %xmm1, %xmm0
leaq 0x3161(%rip), %rdi      # 0x6224
movb $0x1, %al
callq 0x2050
leaq 0x3166(%rip), %rdi      # 0x6237
movq %r14, %rsi
xorl %eax, %eax
callq 0x2050
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
callq 0x39f6
leaq 0x3168(%rip), %rdi      # 0x6258
movq %rbp, %rsi
xorl %eax, %eax
callq 0x2050
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rdi
subq 0x18(%rax), %rdi
callq 0x39f6
movabsq $0x20c49ba5e353f7cf, %r14 # imm = 0x20C49BA5E353F7CF
movq %r14, %rax
imulq 0x60f0(%rip)            # 0x9210
movq %rdx, %rsi
shrq $0x3f, %rsi
sarq $0x7, %rdx
addq %rdx, %rsi
leaq 0x3145(%rip), %rdi      # 0x627a
movq %r15, %rdx
xorl %eax, %eax
callq 0x2050
movq %r14, %rax
imulq 0x60c7(%rip)            # 0x9210
movq %rdx, %rsi
shrq $0x3f, %rsi
sarq $0x7, %rdx
addq %rdx, %rsi
movsd 0x28(%rsp), %xmm0
divsd 0xf0(%rsp), %xmm0
leaq 0x3131(%rip), %rdi      # 0x629e
movb $0x1, %al
callq 0x2050
movq 0x70(%rsp), %rdi
cmpq %rbx, %rdi
je 0x318e
movq (%rdi), %r14
callq 0x2220
movq %r14, %rdi
cmpq %rbx, %r14
jne 0x317e
movl $0xa, %edi
callq 0x22b0
movl $0x200, %edi            # imm = 0x200
callq 0x2230
movq %rax, %rbx
movl $0x200, %edx            # imm = 0x200
movq %rax, %rdi
xorl %esi, %esi
callq 0x2160
movq 0x10(%rsp), %rax
leaq 0x10(%rsp), %r8
cmpq %r8, %rax
je 0x3237
leaq 0x33e6(%rip), %rcx      # 0x65b0
movdqa 0x2e4e(%rip), %xmm0     # 0x6020
movq 0x10(%rax), %rdx
xorl %esi, %esi
movslq 0x3c(%rsi,%rcx), %rdi
addq $-0x4, %rsi
cmpq %rdi, %rdx
jl 0x31d8
movdqu 0x200(%rbx,%rsi,8), %xmm1
movq 0x40(%rax), %xmm2
movdqa %xmm0, %xmm3
punpcklqdq %xmm2, %xmm3    # xmm3 = xmm3[0],xmm2[0]
paddq %xmm1, %xmm3
movdqu %xmm3, 0x200(%rbx,%rsi,8)
addq %rdx, 0x210(%rbx,%rsi,8)
movq 0x18(%rax), %rdx
addq %rdx, 0x218(%rbx,%rsi,8)
movq (%rax), %rax
cmpq %r8, %rax
jne 0x31d2
movupd 0x1e0(%rbx), %xmm0
movupd 0x1f0(%rbx), %xmm1
jmp 0x323f
xorpd %xmm0, %xmm0
xorpd %xmm1, %xmm1
movl $0x1c0, %eax            # imm = 0x1C0
movdqu (%rbx,%rax), %xmm2
paddq %xmm2, %xmm0
movdqu 0x10(%rbx,%rax), %xmm2
paddq %xmm2, %xmm1
movdqu %xmm0, (%rbx,%rax)
movdqu %xmm1, 0x10(%rbx,%rax)
addq $-0x20, %rax
cmpq $-0x20, %rax
jne 0x3244
leaq 0x3101(%rip), %rdi      # 0x6374
callq 0x2300
leaq 0x3136(%rip), %rdi      # 0x63b5
callq 0x2300
leaq 0x316a(%rip), %rdi      # 0x63f5
callq 0x2300
leaq 0x319f(%rip), %rdi      # 0x6436
callq 0x2300
movq $-0x40, %r15
xorl %r12d, %r12d
xorl %ebp, %ebp
movq %rbx, 0x28(%rsp)
cmpq $-0x40, %r15
jne 0x336c
leaq 0x3023(%rip), %rdi      # 0x62e1
xorl %eax, %eax
callq 0x2050
movq 0x200(%rbx,%r15,8), %rsi
testq %rsi, %rsi
movl $0x1, %eax
cmovel %eax, %ebp
leaq 0x70(%rsp), %rdi
xorl %edx, %edx
callq 0x56dc
movq 0x70(%rsp), %r13
movq 0x208(%rbx,%r15,8), %rsi
leaq 0x40(%rsp), %rdi
xorl %edx, %edx
callq 0x56dc
movl %ebp, 0x8(%rsp)
movq 0x40(%rsp), %rbp
movq 0x210(%rbx,%r15,8), %rsi
leaq 0xd0(%rsp), %rdi
xorl %edx, %edx
callq 0x56dc
movq 0xd0(%rsp), %r14
movq 0x218(%rbx,%r15,8), %rsi
leaq 0xf8(%rsp), %rdi
xorl %edx, %edx
callq 0x56dc
movq 0x210(%rbx,%r15,8), %rax
testq %rax, %rax
je 0x33b8
xorps %xmm0, %xmm0
cvtsi2sdq 0x218(%rbx,%r15,8), %xmm0
mulsd 0x2caa(%rip), %xmm0     # 0x6008
xorps %xmm1, %xmm1
cvtsi2sd %rax, %xmm1
divsd %xmm1, %xmm0
jmp 0x33bc
leaq 0x323d(%rip), %rax      # 0x65b0
movslq 0x40(%r15,%rax), %rax
cmpq %rax, 0x38(%rsp)
jg 0x3443
testl %ebp, %ebp
je 0x3396
cmpq $0x0, 0x200(%rbx,%r15,8)
je 0x3443
movl $0x20, %edi
callq 0x22b0
leaq 0x3209(%rip), %rdi      # 0x65b0
movl %r12d, %esi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x3a4a
jmp 0x32c5
pxor %xmm0, %xmm0
movq 0xf8(%rsp), %r8
leaq 0x2f1e(%rip), %rdi      # 0x62e9
movq %r13, %rsi
movq %rbp, %rdx
movq %r14, %rcx
movb $0x1, %al
callq 0x2050
movq 0xf8(%rsp), %rdi
leaq 0x108(%rsp), %rax
cmpq %rax, %rdi
je 0x33f5
callq 0x2220
movq 0xd0(%rsp), %rdi
leaq 0xe0(%rsp), %rax
cmpq %rax, %rdi
movl 0x8(%rsp), %ebp
je 0x3413
callq 0x2220
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
movq 0x28(%rsp), %rbx
je 0x342c
callq 0x2220
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x3443
callq 0x2220
incl %r12d
addq $0x4, %r15
jne 0x32ad
movq %rbx, %rdi
callq 0x2220
cmpq $-0x1, 0x68(%rsp)
je 0x37a1
movl $0xa, %edi
callq 0x22b0
movl $0x160, %edi            # imm = 0x160
callq 0x2230
movq %rax, %rbx
movl $0x160, %edx            # imm = 0x160
movq %rax, %rdi
xorl %esi, %esi
callq 0x2160
movq 0x10(%rsp), %rax
leaq 0x10(%rsp), %r10
cmpq %r10, %rax
je 0x34e2
leaq 0x3150(%rip), %rcx      # 0x65f0
leaq 0x48(%rax), %rdx
movq 0x48(%rax), %rsi
cmpq %rdx, %rsi
je 0x34da
movq 0x10(%rsi), %r8
xorl %edi, %edi
movslq 0x54(%rdi,%rcx), %r9
addq $-0x4, %rdi
cmpq %r9, %r8
jl 0x34b3
incq 0x160(%rbx,%rdi,4)
movq 0x10(%rsi), %r8
addq %r8, 0x168(%rbx,%rdi,4)
movq (%rsi), %rsi
jmp 0x34a8
movq (%rax), %rax
cmpq %r10, %rax
jne 0x34a0
movl $0x8, %eax
xorl %ecx, %ecx
xorl %r12d, %r12d
xorl %esi, %esi
xorl %edi, %edi
movq -0x8(%rbx,%rax), %rdx
addq (%rbx,%rax), %rsi
addq %rdx, %rdi
testq %rdx, %rdx
cmovneq %rcx, %r12
incq %rcx
addq $0x10, %rax
cmpq $0x168, %rax            # imm = 0x168
jne 0x34f0
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
leaq 0x2f54(%rip), %rdi      # 0x6477
callq 0x2300
leaq 0x2f95(%rip), %rdi      # 0x64c4
callq 0x2300
leaq 0x2fd5(%rip), %rdi      # 0x6510
callq 0x2300
leaq 0x3016(%rip), %rdi      # 0x655d
callq 0x2300
incq %r12
leaq 0x309a(%rip), %rax      # 0x65f0
xorl %ecx, %ecx
movq 0x68(%rsp), %rsi
movslq (%rax), %rdx
cmpq %rdx, %rsi
jl 0x357c
incq %rcx
addq $0x4, %rax
cmpq $0x16, %rcx
jne 0x355d
movl $0x14, %r15d
xorl %eax, %eax
jmp 0x3595
movq %rcx, %rdx
subq $0x2, %rdx
setb %al
cmovbq %rcx, %rdx
xorl %r15d, %r15d
cmpq $0x1, %rcx
cmovneq %rdx, %r15
cmpq %r12, %r15
je 0x3799
cvtsi2sdq 0x30(%rsp), %xmm0
movsd %xmm0, 0x68(%rsp)
xorps %xmm0, %xmm0
cvtsi2sdq 0x28(%rsp), %xmm0
movsd %xmm0, 0xf0(%rsp)
movq %r15, %rcx
shlq $0x4, %rcx
leaq (%rcx,%rbx), %r14
addq $0x8, %r14
leaq 0x301c(%rip), %r13      # 0x65f0
movq $0x0, 0x8(%rsp)
movq $0x0, 0x38(%rsp)
movq %r12, 0xc8(%rsp)
movq 0x8(%rsp), %rcx
addq -0x8(%r14), %rcx
movq %rcx, 0x8(%rsp)
movq 0x38(%rsp), %rcx
addq (%r14), %rcx
movq %rcx, 0x38(%rsp)
testb $0x1, %al
je 0x362d
movl $0x1, %ebp
movq %r13, %rdi
movl %r15d, %esi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x3a4a
leaq 0x2d1b(%rip), %rdi      # 0x6346
jmp 0x3636
xorl %ebp, %ebp
leaq 0x2d06(%rip), %rdi      # 0x633c
xorl %eax, %eax
callq 0x2050
movl %r15d, %esi
incl %esi
movq %r13, %rdi
movl %ebp, %edx
xorl %ecx, %ecx
callq 0x3a4a
movq -0x8(%r14), %rsi
leaq 0x70(%rsp), %rdi
xorl %edx, %edx
callq 0x56dc
movq 0x70(%rsp), %rbp
movq (%r14), %rsi
leaq 0x40(%rsp), %rdi
xorl %edx, %edx
callq 0x56dc
movq %r15, %r13
movq 0x40(%rsp), %r15
leaq 0xd0(%rsp), %rdi
movq 0x8(%rsp), %rsi
xorl %edx, %edx
callq 0x56dc
movq 0xd0(%rsp), %r12
leaq 0xf8(%rsp), %rdi
movq 0x38(%rsp), %rsi
xorl %edx, %edx
callq 0x56dc
pxor %xmm1, %xmm1
xorpd %xmm0, %xmm0
cmpq $0x0, 0x30(%rsp)
movq 0x28(%rsp), %rax
je 0x36d7
xorps %xmm0, %xmm0
cvtsi2sdq 0x8(%rsp), %xmm0
mulsd 0x2937(%rip), %xmm0     # 0x6008
divsd 0x68(%rsp), %xmm0
testq %rax, %rax
je 0x36f7
xorps %xmm1, %xmm1
cvtsi2sdq 0x38(%rsp), %xmm1
mulsd 0x291a(%rip), %xmm1     # 0x6008
divsd 0xf0(%rsp), %xmm1
movq 0xf8(%rsp), %r8
leaq 0x2c44(%rip), %rdi      # 0x634a
movq %rbp, %rsi
movq %r15, %rdx
movq %r12, %rcx
movb $0x2, %al
callq 0x2050
movq 0xf8(%rsp), %rdi
leaq 0x108(%rsp), %rax
cmpq %rax, %rdi
je 0x3730
callq 0x2220
movq 0xd0(%rsp), %rdi
leaq 0xe0(%rsp), %rax
cmpq %rax, %rdi
movq %r13, %r15
movq 0xc8(%rsp), %r12
je 0x3755
callq 0x2220
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
leaq 0x2e87(%rip), %r13      # 0x65f0
je 0x3770
callq 0x2220
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x3787
callq 0x2220
incq %r15
addq $0x10, %r14
movb $0x1, %al
cmpq %r15, %r12
jne 0x35ee
movq %rbx, %rdi
callq 0x2220
xorl %ebx, %ebx
leaq 0x10(%rsp), %rdi
callq 0x456a
movl %ebx, %eax
addq $0x118, %rsp            # imm = 0x118
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rbx, %rdi
callq 0x23e0
movl $0x1, %ebx
jmp 0x37a3
jmp 0x3928
jmp 0x38ef
jmp 0x3928
movq %rax, %r14
leaq 0x70(%rsp), %rdi
callq 0x3b12
jmp 0x393f
movq %rax, %r14
leaq 0x80(%rsp), %rax
movq -0x10(%rax), %rdi
jmp 0x3935
jmp 0x3816
jmp 0x3917
jmp 0x3928
jmp 0x3928
movq %rax, %r14
jmp 0x393f
jmp 0x3928
jmp 0x3917
jmp 0x3928
movq %rax, %r14
movq 0xd0(%rsp), %rdi
leaq 0xe0(%rsp), %rax
cmpq %rax, %rdi
je 0x384f
callq 0x2220
jmp 0x384f
movq %rax, %r14
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x3868
callq 0x2220
jmp 0x3868
movq %rax, %r14
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x3884
callq 0x2220
jmp 0x3884
movq %rax, %r14
movq %rbx, %rdi
jmp 0x393a
jmp 0x3928
movq %rax, %r14
movq 0xd0(%rsp), %rdi
leaq 0xe0(%rsp), %rax
cmpq %rax, %rdi
je 0x38bd
callq 0x2220
jmp 0x38bd
movq %rax, %r14
jmp 0x38e8
movq %rax, %r14
jmp 0x38d1
movq %rax, %r14
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x38d1
callq 0x2220
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x38e8
callq 0x2220
movq 0x28(%rsp), %rdi
jmp 0x393a
movq %rax, %r14
movq 0x70(%rsp), %rdi
leaq 0x70(%rsp), %r15
cmpq %r15, %rdi
je 0x393f
movq (%rdi), %rbx
callq 0x2220
movq %rbx, %rdi
cmpq %r15, %rbx
jne 0x3901
jmp 0x393f
jmp 0x3928
jmp 0x3928
movq %rax, %r14
leaq 0x70(%rsp), %rdi
callq 0x3b12
jmp 0x392b
jmp 0x3928
movq %rax, %r14
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x393f
callq 0x2220
leaq 0x10(%rsp), %rdi
callq 0x456a
movq %r14, %rdi
callq 0x2370