140024482:	c1 fa 02             	sar    $0x2,%edx
140024485:	8b c2                	mov    %edx,%eax
140024487:	c1 e8 1f             	shr    $0x1f,%eax
14002448a:	03 d0                	add    %eax,%edx
14002448c:	6b c2 07             	imul   $0x7,%edx,%eax
14002448f:	6b 54 24 70 07       	imul   $0x7,0x70(%rsp),%edx
140024494:	44 2b c0             	sub    %eax,%r8d
140024497:	41 2b d0             	sub    %r8d,%edx
14002449a:	41 03 d2             	add    %r10d,%edx
14002449d:	03 54 24 78          	add    0x78(%rsp),%edx
1400244a1:	44 3b 44 24 78       	cmp    0x78(%rsp),%r8d
1400244a6:	8d 42 f9             	lea    -0x7(%rdx),%eax
1400244a9:	0f 4f c2             	cmovg  %edx,%eax
1400244ac:	40 84 ed             	test   %bpl,%bpl
1400244af:	74 0a                	je     0x1400244bb
1400244b1:	41 8b 8c 9b f0 4c 04 	mov    0x44cf0(%r11,%rbx,4),%ecx
1400244b8:	00
1400244b9:	eb 08                	jmp    0x1400244c3
1400244bb:	41 8b 8c 9b b8 4c 04 	mov    0x44cb8(%r11,%rbx,4),%ecx
1400244c2:	00
1400244c3:	83 7c 24 70 05       	cmpl   $0x5,0x70(%rsp)
1400244c8:	44 8b c0             	mov    %eax,%r8d
1400244cb:	75 29                	jne    0x1400244f6
1400244cd:	3b c1                	cmp    %ecx,%eax
1400244cf:	7e 25                	jle    0x1400244f6
1400244d1:	44 8d 40 f9          	lea    -0x7(%rax),%r8d
1400244d5:	eb 1f                	jmp    0x1400244f6
1400244d7:	40 84 ed             	test   %bpl,%bpl
1400244da:	74 0a                	je     0x1400244e6
1400244dc:	45 8b 84 9b ec 4c 04 	mov    0x44cec(%r11,%rbx,4),%r8d
1400244e3:	00
1400244e4:	eb 08                	jmp    0x1400244ee
1400244e6:	45 8b 84 9b b4 4c 04 	mov    0x44cb4(%r11,%rbx,4),%r8d
1400244ed:	00
1400244ee:	44 03 84 24 80 00 00 	add    0x80(%rsp),%r8d
1400244f5:	00
1400244f6:	6b 84 24 88 00 00 00 	imul   $0x3c,0x88(%rsp),%eax
1400244fd:	3c
1400244fe:	03 84 24 90 00 00 00 	add    0x90(%rsp),%eax
140024505:	6b c8 3c             	imul   $0x3c,%eax,%ecx
140024508:	03 8c 24 98 00 00 00 	add    0x98(%rsp),%ecx
14002450f:	69 c9 e8 03 00 00    	imul   $0x3e8,%ecx,%ecx
140024515:	03 8c 24 a0 00 00 00 	add    0xa0(%rsp),%ecx
14002451c:	45 85 f6             	test   %r14d,%r14d
14002451f:	75 26                	jne    0x140024547
140024521:	44 89 05 dc a1 02 00 	mov    %r8d,0x2a1dc(%rip)        # 0x14004e704
140024528:	89 0d da a1 02 00    	mov    %ecx,0x2a1da(%rip)        # 0x14004e708
14002452e:	89 35 cc a1 02 00    	mov    %esi,0x2a1cc(%rip)        # 0x14004e700
140024534:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
140024539:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
14002453e:	48 83 c4 30          	add    $0x30,%rsp
140024542:	41 5e                	pop    %r14
140024544:	5f                   	pop    %rdi
140024545:	5e                   	pop    %rsi
140024546:	c3                   	ret
140024547:	89 0d cb a1 02 00    	mov    %ecx,0x2a1cb(%rip)        # 0x14004e718
14002454d:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140024552:	44 89 05 bb a1 02 00 	mov    %r8d,0x2a1bb(%rip)        # 0x14004e714
140024559:	e8 22 f8 ff ff       	call   0x140023d80
14002455e:	85 c0                	test   %eax,%eax
140024560:	75 45                	jne    0x1400245a7
140024562:	8b 05 b0 a1 02 00    	mov    0x2a1b0(%rip),%eax        # 0x14004e718
140024568:	69 4c 24 50 e8 03 00 	imul   $0x3e8,0x50(%rsp),%ecx
14002456f:	00
140024570:	03 c1                	add    %ecx,%eax
140024572:	89 05 a0 a1 02 00    	mov    %eax,0x2a1a0(%rip)        # 0x14004e718
140024578:	79 0d                	jns    0x140024587
14002457a:	05 00 5c 26 05       	add    $0x5265c00,%eax
14002457f:	ff 0d 8f a1 02 00    	decl   0x2a18f(%rip)        # 0x14004e714
140024585:	eb 12                	jmp    0x140024599
140024587:	3d 00 5c 26 05       	cmp    $0x5265c00,%eax
14002458c:	7c 11                	jl     0x14002459f
14002458e:	05 00 a4 d9 fa       	add    $0xfad9a400,%eax
140024593:	ff 05 7b a1 02 00    	incl   0x2a17b(%rip)        # 0x14004e714
140024599:	89 05 79 a1 02 00    	mov    %eax,0x2a179(%rip)        # 0x14004e718
14002459f:	89 35 6b a1 02 00    	mov    %esi,0x2a16b(%rip)        # 0x14004e710
1400245a5:	eb 8d                	jmp    0x140024534
1400245a7:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
1400245ad:	45 33 c9             	xor    %r9d,%r9d
1400245b0:	45 33 c0             	xor    %r8d,%r8d
1400245b3:	33 d2                	xor    %edx,%edx
1400245b5:	33 c9                	xor    %ecx,%ecx
1400245b7:	e8 e8 a9 fe ff       	call   0x14000efa4
1400245bc:	cc                   	int3
1400245bd:	cc                   	int3
1400245be:	cc                   	int3
1400245bf:	cc                   	int3
1400245c0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400245c5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1400245ca:	57                   	push   %rdi
1400245cb:	48 83 ec 60          	sub    $0x60,%rsp
1400245cf:	48 8b fa             	mov    %rdx,%rdi
1400245d2:	49 8b f0             	mov    %r8,%rsi
1400245d5:	4c 8b c1             	mov    %rcx,%r8
1400245d8:	ba 40 00 00 00       	mov    $0x40,%edx
1400245dd:	48 8b cf             	mov    %rdi,%rcx
1400245e0:	49 8b d9             	mov    %r9,%rbx
1400245e3:	e8 4c 34 00 00       	call   0x140027a34
1400245e8:	33 d2                	xor    %edx,%edx
1400245ea:	85 c0                	test   %eax,%eax
1400245ec:	0f 85 9b 00 00 00    	jne    0x14002468d
1400245f2:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
1400245f7:	e8 e0 1f ff ff       	call   0x1400165dc
1400245fc:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
140024601:	b9 e9 fd 00 00       	mov    $0xfde9,%ecx
140024606:	39 48 0c             	cmp    %ecx,0xc(%rax)
140024609:	75 15                	jne    0x140024620
14002460b:	80 7c 24 58 00       	cmpb   $0x0,0x58(%rsp)
140024610:	74 45                	je     0x140024657
140024612:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
140024617:	83 a0 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rax)
14002461e:	eb 37                	jmp    0x140024657
140024620:	e8 a7 ee ff ff       	call   0x1400234cc
140024625:	85 c0                	test   %eax,%eax
140024627:	75 19                	jne    0x140024642
140024629:	38 44 24 58          	cmp    %al,0x58(%rsp)
14002462d:	74 0c                	je     0x14002463b
14002462f:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
140024634:	83 a0 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rax)
14002463b:	b9 01 00 00 00       	mov    $0x1,%ecx
140024640:	eb 15                	jmp    0x140024657
140024642:	80 7c 24 58 00       	cmpb   $0x0,0x58(%rsp)
140024647:	74 0c                	je     0x140024655
140024649:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
14002464e:	83 a0 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rax)
140024655:	33 c9                	xor    %ecx,%ecx
140024657:	48 83 64 24 38 00    	andq   $0x0,0x38(%rsp)
14002465d:	44 8b cb             	mov    %ebx,%r9d
140024660:	48 83 64 24 30 00    	andq   $0x0,0x30(%rsp)
140024666:	4c 8b c7             	mov    %rdi,%r8
140024669:	c7 44 24 28 3f 00 00 	movl   $0x3f,0x28(%rsp)
140024670:	00
140024671:	33 d2                	xor    %edx,%edx
140024673:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140024678:	e8 7b 4a 00 00       	call   0x1400290f8
14002467d:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
140024682:	48 8b 74 24 78       	mov    0x78(%rsp),%rsi
140024687:	48 83 c4 60          	add    $0x60,%rsp
14002468b:	5f                   	pop    %rdi
14002468c:	c3                   	ret
14002468d:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
140024693:	45 33 c9             	xor    %r9d,%r9d
140024696:	45 33 c0             	xor    %r8d,%r8d
140024699:	33 c9                	xor    %ecx,%ecx
14002469b:	e8 04 a9 fe ff       	call   0x14000efa4
1400246a0:	cc                   	int3
1400246a1:	cc                   	int3
1400246a2:	cc                   	int3
1400246a3:	cc                   	int3
1400246a4:	40 55                	rex push %rbp
1400246a6:	53                   	push   %rbx
1400246a7:	56                   	push   %rsi
1400246a8:	57                   	push   %rdi
1400246a9:	41 54                	push   %r12
1400246ab:	41 56                	push   %r14
1400246ad:	41 57                	push   %r15
1400246af:	48 8b ec             	mov    %rsp,%rbp
1400246b2:	48 83 ec 30          	sub    $0x30,%rsp
1400246b6:	48 8b f9             	mov    %rcx,%rdi
1400246b9:	e8 82 f6 ff ff       	call   0x140023d40
1400246be:	4c 8b f0             	mov    %rax,%r14
1400246c1:	e8 82 f6 ff ff       	call   0x140023d48
1400246c6:	45 33 e4             	xor    %r12d,%r12d
1400246c9:	48 8d 4d 48          	lea    0x48(%rbp),%rcx
1400246cd:	44 89 65 48          	mov    %r12d,0x48(%rbp)
1400246d1:	4c 8b f8             	mov    %rax,%r15
1400246d4:	44 89 65 50          	mov    %r12d,0x50(%rbp)
1400246d8:	e8 d3 f6 ff ff       	call   0x140023db0
1400246dd:	85 c0                	test   %eax,%eax
1400246df:	0f 85 24 02 00 00    	jne    0x140024909
1400246e5:	48 8d 4d 50          	lea    0x50(%rbp),%rcx
1400246e9:	e8 62 f6 ff ff       	call   0x140023d50
1400246ee:	85 c0                	test   %eax,%eax
1400246f0:	0f 85 13 02 00 00    	jne    0x140024909
1400246f6:	48 8b 0d e3 df 02 00 	mov    0x2dfe3(%rip),%rcx        # 0x1400526e0
1400246fd:	48 85 c9             	test   %rcx,%rcx
140024700:	74 20                	je     0x140024722
140024702:	48 8b c7             	mov    %rdi,%rax
140024705:	48 2b cf             	sub    %rdi,%rcx
140024708:	0f b7 10             	movzwl (%rax),%edx
14002470b:	44 0f b7 04 08       	movzwl (%rax,%rcx,1),%r8d
140024710:	41 2b d0             	sub    %r8d,%edx
140024713:	75 09                	jne    0x14002471e
140024715:	48 83 c0 02          	add    $0x2,%rax
140024719:	45 85 c0             	test   %r8d,%r8d
14002471c:	75 ea                	jne    0x140024708
14002471e:	85 d2                	test   %edx,%edx
140024720:	74 2d                	je     0x14002474f
140024722:	48 83 ce ff          	or     $0xffffffffffffffff,%rsi
140024726:	48 8b ce             	mov    %rsi,%rcx
140024729:	48 ff c1             	inc    %rcx
14002472c:	66 44 39 24 4f       	cmp    %r12w,(%rdi,%rcx,2)
140024731:	75 f6                	jne    0x140024729
140024733:	48 8d 0c 4d 02 00 00 	lea    0x2(,%rcx,2),%rcx
14002473a:	00
14002473b:	e8 c0 cd fd ff       	call   0x140001500
140024740:	48 8b d8             	mov    %rax,%rbx
140024743:	48 85 c0             	test   %rax,%rax
140024746:	75 16                	jne    0x14002475e
140024748:	33 c9                	xor    %ecx,%ecx
14002474a:	e8 91 cd fd ff       	call   0x1400014e0
14002474f:	48 83 c4 30          	add    $0x30,%rsp
140024753:	41 5f                	pop    %r15
140024755:	41 5e                	pop    %r14
140024757:	41 5c                	pop    %r12
140024759:	5f                   	pop    %rdi
14002475a:	5e                   	pop    %rsi
14002475b:	5b                   	pop    %rbx
14002475c:	5d                   	pop    %rbp
14002475d:	c3                   	ret
14002475e:	48 8b 0d 7b df 02 00 	mov    0x2df7b(%rip),%rcx        # 0x1400526e0
140024765:	e8 76 cd fd ff       	call   0x1400014e0
14002476a:	48 89 1d 6f df 02 00 	mov    %rbx,0x2df6f(%rip)        # 0x1400526e0
140024771:	48 ff c6             	inc    %rsi
140024774:	66 44 39 24 77       	cmp    %r12w,(%rdi,%rsi,2)
140024779:	75 f6                	jne    0x140024771
14002477b:	48 8d 56 01          	lea    0x1(%rsi),%rdx
14002477f:	4c 8b c7             	mov    %rdi,%r8
140024782:	48 8b cb             	mov    %rbx,%rcx
140024785:	e8 ba 1a ff ff       	call   0x140016244
14002478a:	85 c0                	test   %eax,%eax
14002478c:	0f 85 77 01 00 00    	jne    0x140024909
140024792:	49 8b 0f             	mov    (%r15),%rcx
140024795:	bb 80 00 00 00       	mov    $0x80,%ebx
14002479a:	44 8b c3             	mov    %ebx,%r8d
14002479d:	33 d2                	xor    %edx,%edx
14002479f:	e8 0c 67 01 00       	call   0x14003aeb0
1400247a4:	49 8b 4f 08          	mov    0x8(%r15),%rcx
1400247a8:	44 8b c3             	mov    %ebx,%r8d
1400247ab:	33 d2                	xor    %edx,%edx
1400247ad:	e8 fe 66 01 00       	call   0x14003aeb0
1400247b2:	49 8b 0e             	mov    (%r14),%rcx
1400247b5:	bb 40 00 00 00       	mov    $0x40,%ebx
1400247ba:	44 8b c3             	mov    %ebx,%r8d
1400247bd:	33 d2                	xor    %edx,%edx
1400247bf:	e8 ec 66 01 00       	call   0x14003aeb0
1400247c4:	49 8b 4e 08          	mov    0x8(%r14),%rcx
1400247c8:	44 8b c3             	mov    %ebx,%r8d
1400247cb:	33 d2                	xor    %edx,%edx
1400247cd:	e8 de 66 01 00       	call   0x14003aeb0
1400247d2:	4d 8b 06             	mov    (%r14),%r8
1400247d5:	bb 03 00 00 00       	mov    $0x3,%ebx
1400247da:	49 8b 17             	mov    (%r15),%rdx
1400247dd:	44 8b cb             	mov    %ebx,%r9d
1400247e0:	48 8b cf             	mov    %rdi,%rcx
1400247e3:	e8 d8 fd ff ff       	call   0x1400245c0
1400247e8:	8b c3                	mov    %ebx,%eax
1400247ea:	66 44 39 27          	cmp    %r12w,(%rdi)
1400247ee:	74 04                	je     0x1400247f4
1400247f0:	48 83 c7 02          	add    $0x2,%rdi
1400247f4:	48 83 e8 01          	sub    $0x1,%rax
1400247f8:	75 f0                	jne    0x1400247ea
1400247fa:	0f b7 37             	movzwl (%rdi),%esi
1400247fd:	48 8d 5f 02          	lea    0x2(%rdi),%rbx
140024801:	66 83 fe 2d          	cmp    $0x2d,%si
140024805:	44 8d 40 0a          	lea    0xa(%rax),%r8d
140024809:	48 8d 55 58          	lea    0x58(%rbp),%rdx
14002480d:	48 0f 45 df          	cmovne %rdi,%rbx
140024811:	48 8b cb             	mov    %rbx,%rcx
140024814:	e8 3f 90 ff ff       	call   0x14001d858
140024819:	69 f8 10 0e 00 00    	imul   $0xe10,%eax,%edi
14002481f:	89 7d 48             	mov    %edi,0x48(%rbp)
140024822:	66 83 3b 2b          	cmpw   $0x2b,(%rbx)
140024826:	74 0d                	je     0x140024835
140024828:	0f b7 03             	movzwl (%rbx),%eax
14002482b:	66 83 e8 30          	sub    $0x30,%ax
14002482f:	66 83 f8 09          	cmp    $0x9,%ax
140024833:	77 06                	ja     0x14002483b
140024835:	48 83 c3 02          	add    $0x2,%rbx
140024839:	eb e7                	jmp    0x140024822
14002483b:	66 83 3b 3a          	cmpw   $0x3a,(%rbx)
14002483f:	75 7f                	jne    0x1400248c0
140024841:	48 83 c3 02          	add    $0x2,%rbx
140024845:	48 8d 55 58          	lea    0x58(%rbp),%rdx
140024849:	48 8b cb             	mov    %rbx,%rcx
14002484c:	41 b8 0a 00 00 00    	mov    $0xa,%r8d
140024852:	e8 01 90 ff ff       	call   0x14001d858
140024857:	8b 7d 48             	mov    0x48(%rbp),%edi
14002485a:	6b c8 3c             	imul   $0x3c,%eax,%ecx
14002485d:	0f b7 03             	movzwl (%rbx),%eax
140024860:	03 f9                	add    %ecx,%edi
140024862:	89 7d 48             	mov    %edi,0x48(%rbp)
140024865:	66 83 f8 30          	cmp    $0x30,%ax
140024869:	72 1c                	jb     0x140024887
14002486b:	0f b7 c8             	movzwl %ax,%ecx
14002486e:	0f b7 c1             	movzwl %cx,%eax
140024871:	66 83 f9 39          	cmp    $0x39,%cx
140024875:	77 10                	ja     0x140024887
140024877:	48 83 c3 02          	add    $0x2,%rbx
14002487b:	0f b7 03             	movzwl (%rbx),%eax
14002487e:	0f b7 c8             	movzwl %ax,%ecx
140024881:	66 83 f8 30          	cmp    $0x30,%ax
140024885:	73 e7                	jae    0x14002486e
140024887:	66 83 f8 3a          	cmp    $0x3a,%ax
14002488b:	75 33                	jne    0x1400248c0
14002488d:	48 83 c3 02          	add    $0x2,%rbx
140024891:	48 8d 55 58          	lea    0x58(%rbp),%rdx
140024895:	48 8b cb             	mov    %rbx,%rcx
140024898:	41 b8 0a 00 00 00    	mov    $0xa,%r8d
14002489e:	e8 b5 8f ff ff       	call   0x14001d858
1400248a3:	8b 7d 48             	mov    0x48(%rbp),%edi
1400248a6:	03 f8                	add    %eax,%edi
1400248a8:	89 7d 48             	mov    %edi,0x48(%rbp)
1400248ab:	eb 0a                	jmp    0x1400248b7
1400248ad:	66 83 f8 39          	cmp    $0x39,%ax
1400248b1:	77 0d                	ja     0x1400248c0
1400248b3:	48 83 c3 02          	add    $0x2,%rbx
1400248b7:	0f b7 03             	movzwl (%rbx),%eax
1400248ba:	66 83 f8 30          	cmp    $0x30,%ax
1400248be:	73 ed                	jae    0x1400248ad
1400248c0:	66 83 fe 2d          	cmp    $0x2d,%si
1400248c4:	75 05                	jne    0x1400248cb
1400248c6:	f7 df                	neg    %edi
1400248c8:	89 7d 48             	mov    %edi,0x48(%rbp)
1400248cb:	66 44 39 23          	cmp    %r12w,(%rbx)
1400248cf:	41 8b c4             	mov    %r12d,%eax
1400248d2:	0f 95 c0             	setne  %al
1400248d5:	89 45 50             	mov    %eax,0x50(%rbp)
1400248d8:	74 19                	je     0x1400248f3
1400248da:	4d 8b 46 08          	mov    0x8(%r14),%r8
1400248de:	41 b9 03 00 00 00    	mov    $0x3,%r9d
1400248e4:	49 8b 57 08          	mov    0x8(%r15),%rdx
1400248e8:	48 8b cb             	mov    %rbx,%rcx
1400248eb:	e8 d0 fc ff ff       	call   0x1400245c0
1400248f0:	8b 7d 48             	mov    0x48(%rbp),%edi
1400248f3:	e8 40 f4 ff ff       	call   0x140023d38
1400248f8:	89 38                	mov    %edi,(%rax)
1400248fa:	8b 5d 50             	mov    0x50(%rbp),%ebx
1400248fd:	e8 26 f4 ff ff       	call   0x140023d28
140024902:	89 18                	mov    %ebx,(%rax)
140024904:	e9 3f fe ff ff       	jmp    0x140024748
140024909:	45 33 c9             	xor    %r9d,%r9d
14002490c:	4c 89 64 24 20       	mov    %r12,0x20(%rsp)
140024911:	45 33 c0             	xor    %r8d,%r8d
140024914:	33 d2                	xor    %edx,%edx
140024916:	33 c9                	xor    %ecx,%ecx
140024918:	e8 87 a6 fe ff       	call   0x14000efa4
14002491d:	cc                   	int3
14002491e:	cc                   	int3
14002491f:	cc                   	int3
140024920:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140024925:	55                   	push   %rbp
140024926:	56                   	push   %rsi
140024927:	57                   	push   %rdi
140024928:	48 8b ec             	mov    %rsp,%rbp
14002492b:	48 83 ec 30          	sub    $0x30,%rsp
14002492f:	e8 0c f4 ff ff       	call   0x140023d40
140024934:	48 8b f8             	mov    %rax,%rdi
140024937:	e8 0c f4 ff ff       	call   0x140023d48
14002493c:	33 db                	xor    %ebx,%ebx