1407f347f:	48 85 c9             	test   %rcx,%rcx
1407f3482:	74 0c                	je     0x1407f3490
1407f3484:	ba 14 00 00 00       	mov    $0x14,%edx
1407f3489:	e8 52 3a 04 00       	call   0x140836ee0
1407f348e:	eb 07                	jmp    0x1407f3497
1407f3490:	48 8d 05 e1 1b bb 00 	lea    0xbb1be1(%rip),%rax        # 0x1413a5078
1407f3497:	48 83 38 00          	cmpq   $0x0,(%rax)
1407f349b:	74 73                	je     0x1407f3510
1407f349d:	45 33 c9             	xor    %r9d,%r9d
1407f34a0:	44 8b c3             	mov    %ebx,%r8d
1407f34a3:	48 8d 55 f7          	lea    -0x9(%rbp),%rdx
1407f34a7:	49 8b cc             	mov    %r12,%rcx
1407f34aa:	e8 c1 ab f5 ff       	call   0x14074e070
1407f34af:	90                   	nop
1407f34b0:	48 83 78 18 0f       	cmpq   $0xf,0x18(%rax)
1407f34b5:	76 03                	jbe    0x1407f34ba
1407f34b7:	48 8b 00             	mov    (%rax),%rax
1407f34ba:	48 c7 44 24 20 00 00 	movq   $0x0,0x20(%rsp)
1407f34c1:	00 00
1407f34c3:	45 33 c9             	xor    %r9d,%r9d
1407f34c6:	45 33 c0             	xor    %r8d,%r8d
1407f34c9:	48 8b d0             	mov    %rax,%rdx
1407f34cc:	48 8b ce             	mov    %rsi,%rcx
1407f34cf:	e8 5c 71 f9 ff       	call   0x14078a630
1407f34d4:	90                   	nop
1407f34d5:	48 8b 55 0f          	mov    0xf(%rbp),%rdx
1407f34d9:	48 83 fa 0f          	cmp    $0xf,%rdx
1407f34dd:	76 31                	jbe    0x1407f3510
1407f34df:	48 ff c2             	inc    %rdx
1407f34e2:	48 8b 4d f7          	mov    -0x9(%rbp),%rcx
1407f34e6:	48 8b c1             	mov    %rcx,%rax
1407f34e9:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1407f34f0:	72 19                	jb     0x1407f350b
1407f34f2:	48 83 c2 27          	add    $0x27,%rdx
1407f34f6:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1407f34fa:	48 2b c1             	sub    %rcx,%rax
1407f34fd:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
1407f3501:	48 83 f8 1f          	cmp    $0x1f,%rax
1407f3505:	0f 87 c2 00 00 00    	ja     0x1407f35cd
1407f350b:	e8 34 7c 62 00       	call   0x140e1b144
1407f3510:	ff c3                	inc    %ebx
1407f3512:	48 ff c7             	inc    %rdi
1407f3515:	49 3b ff             	cmp    %r15,%rdi
1407f3518:	0f 8c a2 fd ff ff    	jl     0x1407f32c0
1407f351e:	48 8b 5d b7          	mov    -0x49(%rbp),%rbx
1407f3522:	48 8b 4d d7          	mov    -0x29(%rbp),%rcx
1407f3526:	48 8b 09             	mov    (%rcx),%rcx
1407f3529:	48 85 c9             	test   %rcx,%rcx
1407f352c:	74 20                	je     0x1407f354e
1407f352e:	8b 41 10             	mov    0x10(%rcx),%eax
1407f3531:	ff c8                	dec    %eax
1407f3533:	89 41 10             	mov    %eax,0x10(%rcx)
1407f3536:	85 c0                	test   %eax,%eax
1407f3538:	7f 14                	jg     0x1407f354e
1407f353a:	78 6f                	js     0x1407f35ab
1407f353c:	48 8b 01             	mov    (%rcx),%rax
1407f353f:	ba 01 00 00 00       	mov    $0x1,%edx
1407f3544:	48 8b 00             	mov    (%rax),%rax
1407f3547:	ff 15 d3 04 79 00    	call   *0x7904d3(%rip)        # 0x140f83a20
1407f354d:	90                   	nop
1407f354e:	48 8b 0b             	mov    (%rbx),%rcx
1407f3551:	48 85 c9             	test   %rcx,%rcx
1407f3554:	74 20                	je     0x1407f3576
1407f3556:	8b 41 10             	mov    0x10(%rcx),%eax
1407f3559:	ff c8                	dec    %eax
1407f355b:	89 41 10             	mov    %eax,0x10(%rcx)
1407f355e:	85 c0                	test   %eax,%eax
1407f3560:	7f 14                	jg     0x1407f3576
1407f3562:	78 3c                	js     0x1407f35a0
1407f3564:	4c 8b 01             	mov    (%rcx),%r8
1407f3567:	ba 01 00 00 00       	mov    $0x1,%edx
1407f356c:	49 8b 00             	mov    (%r8),%rax
1407f356f:	ff 15 ab 04 79 00    	call   *0x7904ab(%rip)        # 0x140f83a20
1407f3575:	90                   	nop
1407f3576:	48 8b c6             	mov    %rsi,%rax
1407f3579:	48 8b 4d 17          	mov    0x17(%rbp),%rcx
1407f357d:	48 33 cc             	xor    %rsp,%rcx
1407f3580:	e8 7b 7f 62 00       	call   0x140e1b500
1407f3585:	48 8b 9c 24 08 01 00 	mov    0x108(%rsp),%rbx
1407f358c:	00
1407f358d:	48 81 c4 b0 00 00 00 	add    $0xb0,%rsp
1407f3594:	41 5f                	pop    %r15
1407f3596:	41 5e                	pop    %r14
1407f3598:	41 5d                	pop    %r13
1407f359a:	41 5c                	pop    %r12
1407f359c:	5f                   	pop    %rdi
1407f359d:	5e                   	pop    %rsi
1407f359e:	5d                   	pop    %rbp
1407f359f:	c3                   	ret
1407f35a0:	b9 02 00 00 00       	mov    $0x2,%ecx
1407f35a5:	e8 56 71 f9 ff       	call   0x14078a700
1407f35aa:	90                   	nop
1407f35ab:	b9 02 00 00 00       	mov    $0x2,%ecx
1407f35b0:	e8 4b 71 f9 ff       	call   0x14078a700
1407f35b5:	90                   	nop
1407f35b6:	b9 02 00 00 00       	mov    $0x2,%ecx
1407f35bb:	e8 40 71 f9 ff       	call   0x14078a700
1407f35c0:	90                   	nop
1407f35c1:	e8 de 6b 63 00       	call   0x140e2a1a4
1407f35c6:	cc                   	int3
1407f35c7:	e8 d8 6b 63 00       	call   0x140e2a1a4
1407f35cc:	cc                   	int3
1407f35cd:	e8 d2 6b 63 00       	call   0x140e2a1a4
1407f35d2:	cc                   	int3
1407f35d3:	cc                   	int3
1407f35d4:	cc                   	int3
1407f35d5:	cc                   	int3
1407f35d6:	cc                   	int3
1407f35d7:	cc                   	int3
1407f35d8:	cc                   	int3
1407f35d9:	cc                   	int3
1407f35da:	cc                   	int3
1407f35db:	cc                   	int3
1407f35dc:	cc                   	int3
1407f35dd:	cc                   	int3
1407f35de:	cc                   	int3
1407f35df:	cc                   	int3
1407f35e0:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
1407f35e5:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1407f35ea:	53                   	push   %rbx
1407f35eb:	55                   	push   %rbp
1407f35ec:	56                   	push   %rsi
1407f35ed:	57                   	push   %rdi
1407f35ee:	41 54                	push   %r12
1407f35f0:	41 55                	push   %r13
1407f35f2:	41 56                	push   %r14
1407f35f4:	41 57                	push   %r15
1407f35f6:	48 83 ec 48          	sub    $0x48,%rsp
1407f35fa:	48 8b f2             	mov    %rdx,%rsi
1407f35fd:	4c 8b e1             	mov    %rcx,%r12
1407f3600:	45 33 ff             	xor    %r15d,%r15d
1407f3603:	ba 23 00 00 00       	mov    $0x23,%edx
1407f3608:	e8 f3 cb ff ff       	call   0x1407f0200
1407f360d:	90                   	nop
1407f360e:	48 8d 05 4b 6f 84 00 	lea    0x846f4b(%rip),%rax        # 0x14103a560
1407f3615:	49 89 04 24          	mov    %rax,(%r12)
1407f3619:	48 8b 06             	mov    (%rsi),%rax
1407f361c:	4c 89 3e             	mov    %r15,(%rsi)
1407f361f:	49 89 44 24 38       	mov    %rax,0x38(%r12)
1407f3624:	45 88 7c 24 58       	mov    %r15b,0x58(%r12)
1407f3629:	49 8b 44 24 20       	mov    0x20(%r12),%rax
1407f362e:	48 85 c0             	test   %rax,%rax
1407f3631:	74 0a                	je     0x1407f363d
1407f3633:	83 78 18 16          	cmpl   $0x16,0x18(%rax)
1407f3637:	0f 84 15 02 00 00    	je     0x1407f3852
1407f363d:	49 8b 4c 24 38       	mov    0x38(%r12),%rcx
1407f3642:	e8 39 4b 00 00       	call   0x1407f8180
1407f3647:	4c 8b f0             	mov    %rax,%r14
1407f364a:	b9 10 00 00 00       	mov    $0x10,%ecx
1407f364f:	e8 b4 7a 62 00       	call   0x140e1b108
1407f3654:	48 89 84 24 a0 00 00 	mov    %rax,0xa0(%rsp)
1407f365b:	00
1407f365c:	49 8d 5e 44          	lea    0x44(%r14),%rbx
1407f3660:	48 85 c0             	test   %rax,%rax
1407f3663:	74 0f                	je     0x1407f3674
1407f3665:	8b 13                	mov    (%rbx),%edx
1407f3667:	48 8b c8             	mov    %rax,%rcx
1407f366a:	e8 71 12 a6 ff       	call   0x1402548e0
1407f366f:	48 8b f8             	mov    %rax,%rdi
1407f3672:	eb 03                	jmp    0x1407f3677
1407f3674:	49 8b ff             	mov    %r15,%rdi
1407f3677:	4d 8b ef             	mov    %r15,%r13
1407f367a:	4d 8b 76 38          	mov    0x38(%r14),%r14
1407f367e:	48 63 03             	movslq (%rbx),%rax
1407f3681:	49 8d 2c c6          	lea    (%r14,%rax,8),%rbp
1407f3685:	48 89 6c 24 30       	mov    %rbp,0x30(%rsp)
1407f368a:	4c 3b f5             	cmp    %rbp,%r14
1407f368d:	0f 84 18 01 00 00    	je     0x1407f37ab
1407f3693:	49 8b 1e             	mov    (%r14),%rbx
1407f3696:	83 7b 18 27          	cmpl   $0x27,0x18(%rbx)
1407f369a:	74 10                	je     0x1407f36ac
1407f369c:	4c 8b eb             	mov    %rbx,%r13
1407f369f:	49 8b cc             	mov    %r12,%rcx
1407f36a2:	e8 19 eb 00 00       	call   0x1408021c0
1407f36a7:	e9 ea 00 00 00       	jmp    0x1407f3796
1407f36ac:	48 8d 4b 40          	lea    0x40(%rbx),%rcx
1407f36b0:	48 83 79 18 0f       	cmpq   $0xf,0x18(%rcx)
1407f36b5:	76 03                	jbe    0x1407f36ba
1407f36b7:	48 8b 09             	mov    (%rcx),%rcx
1407f36ba:	e8 f1 24 07 00       	call   0x140865bb0
1407f36bf:	48 8b f0             	mov    %rax,%rsi
1407f36c2:	b9 18 00 00 00       	mov    $0x18,%ecx
1407f36c7:	e8 3c 7a 62 00       	call   0x140e1b108
1407f36cc:	4c 8b d0             	mov    %rax,%r10
1407f36cf:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
1407f36d4:	48 85 c0             	test   %rax,%rax
1407f36d7:	74 53                	je     0x1407f372c
1407f36d9:	4c 89 bc 24 a0 00 00 	mov    %r15,0xa0(%rsp)
1407f36e0:	00
1407f36e1:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
1407f36e5:	48 89 8c 24 a8 00 00 	mov    %rcx,0xa8(%rsp)
1407f36ec:	00
1407f36ed:	48 85 c9             	test   %rcx,%rcx
1407f36f0:	74 1c                	je     0x1407f370e
1407f36f2:	8b 41 10             	mov    0x10(%rcx),%eax
1407f36f5:	ff c0                	inc    %eax
1407f36f7:	89 41 10             	mov    %eax,0x10(%rcx)
1407f36fa:	83 f8 01             	cmp    $0x1,%eax
1407f36fd:	0f 8e a1 01 00 00    	jle    0x1407f38a4
1407f3703:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
1407f3708:	0f 84 8b 01 00 00    	je     0x1407f3899
1407f370e:	4c 8d 8c 24 a0 00 00 	lea    0xa0(%rsp),%r9
1407f3715:	00
1407f3716:	4c 8d 84 24 a8 00 00 	lea    0xa8(%rsp),%r8
1407f371d:	00
1407f371e:	48 8b d6             	mov    %rsi,%rdx
1407f3721:	49 8b ca             	mov    %r10,%rcx
1407f3724:	e8 d7 4c f5 ff       	call   0x140748400
1407f3729:	4c 8b f8             	mov    %rax,%r15
1407f372c:	8b 77 0c             	mov    0xc(%rdi),%esi
1407f372f:	8b 47 08             	mov    0x8(%rdi),%eax
1407f3732:	3b f0                	cmp    %eax,%esi
1407f3734:	75 4f                	jne    0x1407f3785
1407f3736:	85 c0                	test   %eax,%eax
1407f3738:	8d 0c 00             	lea    (%rax,%rax,1),%ecx
1407f373b:	75 05                	jne    0x1407f3742
1407f373d:	b9 0a 00 00 00       	mov    $0xa,%ecx
1407f3742:	3b ce                	cmp    %esi,%ecx
1407f3744:	0f 4d f1             	cmovge %ecx,%esi
1407f3747:	3b f0                	cmp    %eax,%esi
1407f3749:	74 3a                	je     0x1407f3785
1407f374b:	48 63 de             	movslq %esi,%rbx
1407f374e:	48 c1 e3 03          	shl    $0x3,%rbx
1407f3752:	48 8b d3             	mov    %rbx,%rdx
1407f3755:	48 8b 0f             	mov    (%rdi),%rcx
1407f3758:	e8 4b da 63 00       	call   0x140e311a8
1407f375d:	48 8b e8             	mov    %rax,%rbp
1407f3760:	48 85 db             	test   %rbx,%rbx
1407f3763:	74 6a                	je     0x1407f37cf
1407f3765:	48 85 c0             	test   %rax,%rax
1407f3768:	75 65                	jne    0x1407f37cf
1407f376a:	48 8d 0d f7 13 81 00 	lea    0x8113f7(%rip),%rcx        # 0x141004b68
1407f3771:	e8 aa 7d 07 00       	call   0x14086b520
1407f3776:	48 89 2f             	mov    %rbp,(%rdi)
1407f3779:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%rdi)
1407f3780:	48 8b 6c 24 30       	mov    0x30(%rsp),%rbp
1407f3785:	48 63 4f 0c          	movslq 0xc(%rdi),%rcx
1407f3789:	48 8b 07             	mov    (%rdi),%rax
1407f378c:	4c 89 3c c8          	mov    %r15,(%rax,%rcx,8)
1407f3790:	ff 47 0c             	incl   0xc(%rdi)
1407f3793:	45 33 ff             	xor    %r15d,%r15d
1407f3796:	49 83 c6 08          	add    $0x8,%r14
1407f379a:	4c 3b f5             	cmp    %rbp,%r14
1407f379d:	0f 85 f0 fe ff ff    	jne    0x1407f3693
1407f37a3:	48 8b b4 24 98 00 00 	mov    0x98(%rsp),%rsi
1407f37aa:	00
1407f37ab:	b9 98 00 00 00       	mov    $0x98,%ecx
1407f37b0:	e8 53 79 62 00       	call   0x140e1b108
1407f37b5:	48 89 84 24 a0 00 00 	mov    %rax,0xa0(%rsp)
1407f37bc:	00
1407f37bd:	48 85 c0             	test   %rax,%rax
1407f37c0:	74 1a                	je     0x1407f37dc
1407f37c2:	48 8b d7             	mov    %rdi,%rdx
1407f37c5:	48 8b c8             	mov    %rax,%rcx
1407f37c8:	e8 d3 41 f5 ff       	call   0x1407479a0
1407f37cd:	eb 10                	jmp    0x1407f37df
1407f37cf:	48 89 2f             	mov    %rbp,(%rdi)
1407f37d2:	48 85 ed             	test   %rbp,%rbp
1407f37d5:	74 a2                	je     0x1407f3779
1407f37d7:	89 77 08             	mov    %esi,0x8(%rdi)
1407f37da:	eb a4                	jmp    0x1407f3780
1407f37dc:	49 8b c7             	mov    %r15,%rax
1407f37df:	49 8b 4c 24 20       	mov    0x20(%r12),%rcx
1407f37e4:	48 85 c9             	test   %rcx,%rcx
1407f37e7:	74 0c                	je     0x1407f37f5
1407f37e9:	4c 8b c0             	mov    %rax,%r8
1407f37ec:	48 8b d0             	mov    %rax,%rdx
1407f37ef:	83 79 18 16          	cmpl   $0x16,0x18(%rcx)
1407f37f3:	74 0e                	je     0x1407f3803
1407f37f5:	49 89 44 24 20       	mov    %rax,0x20(%r12)
1407f37fa:	48 8b c1             	mov    %rcx,%rax
1407f37fd:	4c 8b c1             	mov    %rcx,%r8
1407f3800:	48 8b d1             	mov    %rcx,%rdx
1407f3803:	4d 85 c0             	test   %r8,%r8
1407f3806:	74 2a                	je     0x1407f3832
1407f3808:	8b 4a 10             	mov    0x10(%rdx),%ecx
1407f380b:	ff c9                	dec    %ecx
1407f380d:	89 4a 10             	mov    %ecx,0x10(%rdx)
1407f3810:	85 c9                	test   %ecx,%ecx
1407f3812:	7f 1e                	jg     0x1407f3832
1407f3814:	0f 88 92 00 00 00    	js     0x1407f38ac
1407f381a:	48 8b 08             	mov    (%rax),%rcx
1407f381d:	4c 8b 09             	mov    (%rcx),%r9
1407f3820:	ba 01 00 00 00       	mov    $0x1,%edx
1407f3825:	48 8b c8             	mov    %rax,%rcx
1407f3828:	49 8b c1             	mov    %r9,%rax
1407f382b:	ff 15 ef 01 79 00    	call   *0x7901ef(%rip)        # 0x140f83a20
1407f3831:	90                   	nop
1407f3832:	4d 85 ed             	test   %r13,%r13
1407f3835:	74 1b                	je     0x1407f3852
1407f3837:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
1407f383c:	45 33 c9             	xor    %r9d,%r9d
1407f383f:	4d 8b c5             	mov    %r13,%r8
1407f3842:	48 8d 15 4f 92 84 00 	lea    0x84924f(%rip),%rdx        # 0x14103ca98
1407f3849:	49 8b cc             	mov    %r12,%rcx
1407f384c:	e8 6f 6a f9 ff       	call   0x14078a2c0
1407f3851:	90                   	nop
1407f3852:	48 8b 0e             	mov    (%rsi),%rcx
1407f3855:	48 85 c9             	test   %rcx,%rcx
1407f3858:	74 20                	je     0x1407f387a
1407f385a:	8b 41 10             	mov    0x10(%rcx),%eax
1407f385d:	ff c8                	dec    %eax
1407f385f:	89 41 10             	mov    %eax,0x10(%rcx)
1407f3862:	85 c0                	test   %eax,%eax
1407f3864:	7f 14                	jg     0x1407f387a
1407f3866:	78 26                	js     0x1407f388e
1407f3868:	48 8b 01             	mov    (%rcx),%rax
1407f386b:	ba 01 00 00 00       	mov    $0x1,%edx
1407f3870:	48 8b 00             	mov    (%rax),%rax
1407f3873:	ff 15 a7 01 79 00    	call   *0x7901a7(%rip)        # 0x140f83a20
1407f3879:	90                   	nop
1407f387a:	49 8b c4             	mov    %r12,%rax
1407f387d:	48 83 c4 48          	add    $0x48,%rsp
1407f3881:	41 5f                	pop    %r15
1407f3883:	41 5e                	pop    %r14
1407f3885:	41 5d                	pop    %r13
1407f3887:	41 5c                	pop    %r12
1407f3889:	5f                   	pop    %rdi
1407f388a:	5e                   	pop    %rsi
1407f388b:	5d                   	pop    %rbp
1407f388c:	5b                   	pop    %rbx
1407f388d:	c3                   	ret
1407f388e:	b9 02 00 00 00       	mov    $0x2,%ecx
1407f3893:	e8 68 6e f9 ff       	call   0x14078a700
1407f3898:	90                   	nop
1407f3899:	b9 01 00 00 00       	mov    $0x1,%ecx
1407f389e:	e8 5d 6e f9 ff       	call   0x14078a700
1407f38a3:	cc                   	int3
1407f38a4:	33 c9                	xor    %ecx,%ecx
1407f38a6:	e8 55 6e f9 ff       	call   0x14078a700
1407f38ab:	90                   	nop
1407f38ac:	b9 02 00 00 00       	mov    $0x2,%ecx
1407f38b1:	e8 4a 6e f9 ff       	call   0x14078a700
1407f38b6:	cc                   	int3
1407f38b7:	cc                   	int3
1407f38b8:	cc                   	int3
1407f38b9:	cc                   	int3
1407f38ba:	cc                   	int3
1407f38bb:	cc                   	int3
1407f38bc:	cc                   	int3
1407f38bd:	cc                   	int3
1407f38be:	cc                   	int3
1407f38bf:	cc                   	int3
1407f38c0:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1407f38c5:	55                   	push   %rbp
1407f38c6:	56                   	push   %rsi
1407f38c7:	57                   	push   %rdi
1407f38c8:	41 54                	push   %r12
1407f38ca:	41 55                	push   %r13
1407f38cc:	41 56                	push   %r14