1404874a1:	48 3b da             	cmp    %rdx,%rbx
1404874a4:	0f 82 16 01 00 00    	jb     0x1404875c0
1404874aa:	4c 89 64 24 60       	mov    %r12,0x60(%rsp)
1404874af:	48 8d 4e 08          	lea    0x8(%rsi),%rcx
1404874b3:	41 b8 10 00 00 00    	mov    $0x10,%r8d
1404874b9:	4c 89 74 24 58       	mov    %r14,0x58(%rsp)
1404874be:	e8 9d 6e d2 ff       	call   0x1401ae360
1404874c3:	45 33 e4             	xor    %r12d,%r12d
1404874c6:	b9 18 00 00 00       	mov    $0x18,%ecx
1404874cb:	4c 89 66 20          	mov    %r12,0x20(%rsi)
1404874cf:	e8 34 3c 99 00       	call   0x140e1b108
1404874d4:	48 85 c0             	test   %rax,%rax
1404874d7:	74 0d                	je     0x1404874e6
1404874d9:	4c 89 20             	mov    %r12,(%rax)
1404874dc:	4c 89 60 08          	mov    %r12,0x8(%rax)
1404874e0:	4c 89 60 10          	mov    %r12,0x10(%rax)
1404874e4:	eb 03                	jmp    0x1404874e9
1404874e6:	49 8b c4             	mov    %r12,%rax
1404874e9:	48 89 46 18          	mov    %rax,0x18(%rsi)
1404874ed:	48 3b df             	cmp    %rdi,%rbx
1404874f0:	0f 83 8b 00 00 00    	jae    0x140487581
1404874f6:	48 89 6c 24 68       	mov    %rbp,0x68(%rsp)
1404874fb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140487500:	b9 20 00 00 00       	mov    $0x20,%ecx
140487505:	e8 fe 3b 99 00       	call   0x140e1b108
14048750a:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14048750f:	48 85 c0             	test   %rax,%rax
140487512:	74 19                	je     0x14048752d
140487514:	0f b6 4e 01          	movzbl 0x1(%rsi),%ecx
140487518:	4c 89 60 08          	mov    %r12,0x8(%rax)
14048751c:	44 89 60 10          	mov    %r12d,0x10(%rax)
140487520:	66 44 89 20          	mov    %r12w,(%rax)
140487524:	88 48 18             	mov    %cl,0x18(%rax)
140487527:	44 88 60 19          	mov    %r12b,0x19(%rax)
14048752b:	eb 03                	jmp    0x140487530
14048752d:	49 8b c4             	mov    %r12,%rax
140487530:	4d 8b cd             	mov    %r13,%r9
140487533:	48 89 46 20          	mov    %rax,0x20(%rsi)
140487537:	4c 8b c7             	mov    %rdi,%r8
14048753a:	48 8b d3             	mov    %rbx,%rdx
14048753d:	48 8b c8             	mov    %rax,%rcx
140487540:	e8 5b fd ff ff       	call   0x1404872a0
140487545:	4c 8b 4e 18          	mov    0x18(%rsi),%r9
140487549:	48 63 e8             	movslq %eax,%rbp
14048754c:	49 8b 51 08          	mov    0x8(%r9),%rdx
140487550:	49 3b 51 10          	cmp    0x10(%r9),%rdx
140487554:	74 0e                	je     0x140487564
140487556:	48 8b 4e 20          	mov    0x20(%rsi),%rcx
14048755a:	48 89 0a             	mov    %rcx,(%rdx)
14048755d:	49 83 41 08 08       	addq   $0x8,0x8(%r9)
140487562:	eb 0c                	jmp    0x140487570
140487564:	4c 8d 46 20          	lea    0x20(%rsi),%r8
140487568:	49 8b c9             	mov    %r9,%rcx
14048756b:	e8 50 3a ef ff       	call   0x14037afc0
140487570:	48 03 dd             	add    %rbp,%rbx
140487573:	4c 89 66 20          	mov    %r12,0x20(%rsi)
140487577:	48 3b df             	cmp    %rdi,%rbx
14048757a:	72 84                	jb     0x140487500
14048757c:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140487581:	4c 89 66 20          	mov    %r12,0x20(%rsi)
140487585:	49 8b 4d 08          	mov    0x8(%r13),%rcx
140487589:	48 8b d6             	mov    %rsi,%rdx
14048758c:	e8 8f 00 00 00       	call   0x140487620
140487591:	4c 8b 74 24 58       	mov    0x58(%rsp),%r14
140487596:	41 2b df             	sub    %r15d,%ebx
140487599:	4c 8b 64 24 60       	mov    0x60(%rsp),%r12
14048759e:	88 46 30             	mov    %al,0x30(%rsi)
1404875a1:	8b c3                	mov    %ebx,%eax
1404875a3:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
1404875a8:	48 8b 4c 24 48       	mov    0x48(%rsp),%rcx
1404875ad:	48 33 cc             	xor    %rsp,%rcx
1404875b0:	e8 4b 3f 99 00       	call   0x140e1b500
1404875b5:	48 83 c4 78          	add    $0x78,%rsp
1404875b9:	41 5f                	pop    %r15
1404875bb:	41 5d                	pop    %r13
1404875bd:	5f                   	pop    %rdi
1404875be:	5e                   	pop    %rsi
1404875bf:	c3                   	ret
1404875c0:	41 2b ff             	sub    %r15d,%edi
1404875c3:	48 8d 15 3e 3a b7 00 	lea    0xb73a3e(%rip),%rdx        # 0x140ffb008
1404875ca:	44 8b cf             	mov    %edi,%r9d
1404875cd:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
1404875d2:	41 b8 14 00 00 00    	mov    $0x14,%r8d
1404875d8:	e8 13 1b d2 ff       	call   0x1401a90f0
1404875dd:	48 8d 15 ec 93 f1 00 	lea    0xf193ec(%rip),%rdx        # 0x1413a09d0
1404875e4:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
1404875e9:	e8 2a 52 99 00       	call   0x140e1c818
1404875ee:	cc                   	int3
1404875ef:	41 2b ff             	sub    %r15d,%edi
1404875f2:	48 8d 15 f7 39 b7 00 	lea    0xb739f7(%rip),%rdx        # 0x140ffaff0
1404875f9:	44 8b cf             	mov    %edi,%r9d
1404875fc:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140487601:	41 b8 04 00 00 00    	mov    $0x4,%r8d
140487607:	e8 e4 1a d2 ff       	call   0x1401a90f0
14048760c:	48 8d 15 bd 93 f1 00 	lea    0xf193bd(%rip),%rdx        # 0x1413a09d0
140487613:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140487618:	e8 fb 51 99 00       	call   0x140e1c818
14048761d:	cc                   	int3
14048761e:	cc                   	int3
14048761f:	cc                   	int3
140487620:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140487625:	55                   	push   %rbp
140487626:	56                   	push   %rsi
140487627:	57                   	push   %rdi
140487628:	41 54                	push   %r12
14048762a:	41 55                	push   %r13
14048762c:	41 56                	push   %r14
14048762e:	41 57                	push   %r15
140487630:	48 8d 6c 24 d9       	lea    -0x27(%rsp),%rbp
140487635:	48 81 ec 90 00 00 00 	sub    $0x90,%rsp
14048763c:	4c 8b f2             	mov    %rdx,%r14
14048763f:	4c 8b e9             	mov    %rcx,%r13
140487642:	48 8b 41 18          	mov    0x18(%rcx),%rax
140487646:	48 8b 78 18          	mov    0x18(%rax),%rdi
14048764a:	48 8b 07             	mov    (%rdi),%rax
14048764d:	48 8b 58 78          	mov    0x78(%rax),%rbx
140487651:	48 8d 4d 07          	lea    0x7(%rbp),%rcx
140487655:	e8 36 fb 2c 00       	call   0x140757190
14048765a:	48 8b d0             	mov    %rax,%rdx
14048765d:	48 8b cf             	mov    %rdi,%rcx
140487660:	48 8b c3             	mov    %rbx,%rax
140487663:	ff 15 b7 c3 af 00    	call   *0xafc3b7(%rip)        # 0x140f83a20
140487669:	48 8b 0d 00 15 fa 00 	mov    0xfa1500(%rip),%rcx        # 0x141428b70
140487670:	48 85 c9             	test   %rcx,%rcx
140487673:	0f 84 a1 03 00 00    	je     0x140487a1a
140487679:	e8 b2 de 38 00       	call   0x140815530
14048767e:	84 c0                	test   %al,%al
140487680:	0f 84 94 03 00 00    	je     0x140487a1a
140487686:	b9 50 00 00 00       	mov    $0x50,%ecx
14048768b:	e8 78 3a 99 00       	call   0x140e1b108
140487690:	4c 8b c8             	mov    %rax,%r9
140487693:	48 89 45 77          	mov    %rax,0x77(%rbp)
140487697:	48 85 c0             	test   %rax,%rax
14048769a:	74 40                	je     0x1404876dc
14048769c:	48 8b 0d e5 14 fa 00 	mov    0xfa14e5(%rip),%rcx        # 0x141428b88
1404876a3:	48 89 4d 67          	mov    %rcx,0x67(%rbp)
1404876a7:	48 85 c9             	test   %rcx,%rcx
1404876aa:	74 1c                	je     0x1404876c8
1404876ac:	8b 41 10             	mov    0x10(%rcx),%eax
1404876af:	ff c0                	inc    %eax
1404876b1:	89 41 10             	mov    %eax,0x10(%rcx)
1404876b4:	83 f8 01             	cmp    $0x1,%eax
1404876b7:	0f 8e 85 03 00 00    	jle    0x140487a42
1404876bd:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
1404876c2:	0f 84 82 03 00 00    	je     0x140487a4a
1404876c8:	41 b0 01             	mov    $0x1,%r8b
1404876cb:	48 8d 55 67          	lea    0x67(%rbp),%rdx
1404876cf:	49 8b c9             	mov    %r9,%rcx
1404876d2:	e8 e9 a2 2a 00       	call   0x1407319c0
1404876d7:	4c 8b f8             	mov    %rax,%r15
1404876da:	eb 03                	jmp    0x1404876df
1404876dc:	45 33 ff             	xor    %r15d,%r15d
1404876df:	4c 89 7d ef          	mov    %r15,-0x11(%rbp)
1404876e3:	41 0f b6 16          	movzbl (%r14),%edx
1404876e7:	49 8b 47 40          	mov    0x40(%r15),%rax
1404876eb:	48 8b 08             	mov    (%rax),%rcx
1404876ee:	80 79 08 00          	cmpb   $0x0,0x8(%rcx)
1404876f2:	75 04                	jne    0x1404876f8
1404876f4:	c6 41 08 01          	movb   $0x1,0x8(%rcx)
1404876f8:	48 89 11             	mov    %rdx,(%rcx)
1404876fb:	49 8d 57 20          	lea    0x20(%r15),%rdx
1404876ff:	48 83 7a 08 00       	cmpq   $0x0,0x8(%rdx)
140487704:	74 0c                	je     0x140487712
140487706:	48 8d 0d d3 92 fa 00 	lea    0xfa92d3(%rip),%rcx        # 0x1414309e0
14048770d:	e8 2e 34 30 00       	call   0x14078ab40
140487712:	45 0f b6 46 01       	movzbl 0x1(%r14),%r8d
140487717:	49 8b 47 40          	mov    0x40(%r15),%rax
14048771b:	48 8b 10             	mov    (%rax),%rdx
14048771e:	80 7a 18 00          	cmpb   $0x0,0x18(%rdx)
140487722:	75 04                	jne    0x140487728
140487724:	c6 42 18 01          	movb   $0x1,0x18(%rdx)
140487728:	4c 89 42 10          	mov    %r8,0x10(%rdx)
14048772c:	49 8d 57 20          	lea    0x20(%r15),%rdx
140487730:	48 83 7a 08 00       	cmpq   $0x0,0x8(%rdx)
140487735:	74 0c                	je     0x140487743
140487737:	48 8d 0d a2 92 fa 00 	lea    0xfa92a2(%rip),%rcx        # 0x1414309e0
14048773e:	e8 fd 33 30 00       	call   0x14078ab40
140487743:	49 8b 5e 08          	mov    0x8(%r14),%rbx
140487747:	41 8b 7e 10          	mov    0x10(%r14),%edi
14048774b:	b9 28 00 00 00       	mov    $0x28,%ecx
140487750:	e8 b3 39 99 00       	call   0x140e1b108
140487755:	48 89 45 77          	mov    %rax,0x77(%rbp)
140487759:	48 85 c0             	test   %rax,%rax
14048775c:	74 11                	je     0x14048776f
14048775e:	4c 8b c3             	mov    %rbx,%r8
140487761:	8b d7                	mov    %edi,%edx
140487763:	48 8b c8             	mov    %rax,%rcx
140487766:	e8 85 a4 2a 00       	call   0x140731bf0
14048776b:	33 ff                	xor    %edi,%edi
14048776d:	eb 04                	jmp    0x140487773
14048776f:	33 ff                	xor    %edi,%edi
140487771:	8b c7                	mov    %edi,%eax
140487773:	48 89 45 67          	mov    %rax,0x67(%rbp)
140487777:	4c 8d 45 67          	lea    0x67(%rbp),%r8
14048777b:	ba 02 00 00 00       	mov    $0x2,%edx
140487780:	49 8b cf             	mov    %r15,%rcx
140487783:	e8 78 d3 2a 00       	call   0x140734b00
140487788:	49 8b 46 18          	mov    0x18(%r14),%rax
14048778c:	48 8b 48 08          	mov    0x8(%rax),%rcx
140487790:	48 2b 08             	sub    (%rax),%rcx
140487793:	48 f7 c1 f8 ff ff ff 	test   $0xfffffffffffffff8,%rcx
14048779a:	0f 84 58 02 00 00    	je     0x1404879f8
1404877a0:	b9 b0 00 00 00       	mov    $0xb0,%ecx
1404877a5:	e8 5e 39 99 00       	call   0x140e1b108
1404877aa:	4c 8b c8             	mov    %rax,%r9
1404877ad:	48 89 45 7f          	mov    %rax,0x7f(%rbp)
1404877b1:	48 85 c0             	test   %rax,%rax
1404877b4:	74 45                	je     0x1404877fb
1404877b6:	48 89 7d 67          	mov    %rdi,0x67(%rbp)
1404877ba:	48 8b 0d bf 13 fa 00 	mov    0xfa13bf(%rip),%rcx        # 0x141428b80
1404877c1:	48 89 4d 77          	mov    %rcx,0x77(%rbp)
1404877c5:	48 85 c9             	test   %rcx,%rcx
1404877c8:	74 1c                	je     0x1404877e6
1404877ca:	8b 41 10             	mov    0x10(%rcx),%eax
1404877cd:	ff c0                	inc    %eax
1404877cf:	89 41 10             	mov    %eax,0x10(%rcx)
1404877d2:	83 f8 01             	cmp    $0x1,%eax
1404877d5:	0f 8e 7a 02 00 00    	jle    0x140487a55
1404877db:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
1404877e0:	0f 84 77 02 00 00    	je     0x140487a5d
1404877e6:	4c 8d 45 67          	lea    0x67(%rbp),%r8
1404877ea:	48 8d 55 77          	lea    0x77(%rbp),%rdx
1404877ee:	49 8b c9             	mov    %r9,%rcx
1404877f1:	e8 fa a7 2a 00       	call   0x140731ff0
1404877f6:	4c 8b e0             	mov    %rax,%r12
1404877f9:	eb 03                	jmp    0x1404877fe
1404877fb:	4c 8b e7             	mov    %rdi,%r12
1404877fe:	4c 89 65 e7          	mov    %r12,-0x19(%rbp)
140487802:	8b f7                	mov    %edi,%esi
140487804:	49 8b 46 18          	mov    0x18(%r14),%rax
140487808:	48 8b 10             	mov    (%rax),%rdx
14048780b:	48 8b 48 08          	mov    0x8(%rax),%rcx
14048780f:	48 2b ca             	sub    %rdx,%rcx
140487812:	48 c1 f9 03          	sar    $0x3,%rcx
140487816:	48 85 c9             	test   %rcx,%rcx
140487819:	0f 84 bf 01 00 00    	je     0x1404879de
14048781f:	48 8b df             	mov    %rdi,%rbx
140487822:	48 8b 04 da          	mov    (%rdx,%rbx,8),%rax
140487826:	44 0f b6 00          	movzbl (%rax),%r8d
14048782a:	48 8d 55 67          	lea    0x67(%rbp),%rdx
14048782e:	48 8b 0d 43 b6 fa 00 	mov    0xfab643(%rip),%rcx        # 0x141432e78
140487835:	e8 e6 86 d1 ff       	call   0x14019ff20
14048783a:	90                   	nop
14048783b:	4c 8d 45 67          	lea    0x67(%rbp),%r8
14048783f:	48 8d 55 d7          	lea    -0x29(%rbp),%rdx
140487843:	49 8b cc             	mov    %r12,%rcx
140487846:	e8 a5 4f 2b 00       	call   0x14073c7f0
14048784b:	90                   	nop
14048784c:	49 8b 46 18          	mov    0x18(%r14),%rax
140487850:	48 8b 08             	mov    (%rax),%rcx
140487853:	48 8b 04 d9          	mov    (%rcx,%rbx,8),%rax
140487857:	48 8b 58 08          	mov    0x8(%rax),%rbx
14048785b:	8b 78 10             	mov    0x10(%rax),%edi
14048785e:	b9 28 00 00 00       	mov    $0x28,%ecx
140487863:	e8 a0 38 99 00       	call   0x140e1b108
140487868:	48 89 45 f7          	mov    %rax,-0x9(%rbp)
14048786c:	48 85 c0             	test   %rax,%rax
14048786f:	74 14                	je     0x140487885
140487871:	4c 8b c3             	mov    %rbx,%r8
140487874:	8b d7                	mov    %edi,%edx
140487876:	48 8b c8             	mov    %rax,%rcx
140487879:	e8 72 a3 2a 00       	call   0x140731bf0
14048787e:	48 8b d8             	mov    %rax,%rbx
140487881:	33 ff                	xor    %edi,%edi
140487883:	eb 04                	jmp    0x140487889
140487885:	33 ff                	xor    %edi,%edi
140487887:	8b df                	mov    %edi,%ebx
140487889:	48 89 5d cf          	mov    %rbx,-0x31(%rbp)
14048788d:	48 8b 4d d7          	mov    -0x29(%rbp),%rcx
140487891:	48 85 c9             	test   %rcx,%rcx
140487894:	74 2d                	je     0x1404878c3
140487896:	e8 05 d2 2a 00       	call   0x140734aa0
14048789b:	48 89 7d cf          	mov    %rdi,-0x31(%rbp)
14048789f:	48 89 5d 77          	mov    %rbx,0x77(%rbp)
1404878a3:	48 8b 48 30          	mov    0x30(%rax),%rcx
1404878a7:	48 8b 51 08          	mov    0x8(%rcx),%rdx
1404878ab:	48 2b 11             	sub    (%rcx),%rdx
1404878ae:	48 c1 fa 04          	sar    $0x4,%rdx
1404878b2:	4c 8d 45 77          	lea    0x77(%rbp),%r8
1404878b6:	48 8b c8             	mov    %rax,%rcx
1404878b9:	e8 42 db 2a 00       	call   0x140735400
1404878be:	e9 a2 00 00 00       	jmp    0x140487965
1404878c3:	b9 50 00 00 00       	mov    $0x50,%ecx
1404878c8:	e8 3b 38 99 00       	call   0x140e1b108
1404878cd:	4c 8b c0             	mov    %rax,%r8
1404878d0:	48 89 45 ff          	mov    %rax,-0x1(%rbp)
1404878d4:	48 85 c0             	test   %rax,%rax
1404878d7:	74 3b                	je     0x140487914
1404878d9:	48 8b 0d 98 12 fa 00 	mov    0xfa1298(%rip),%rcx        # 0x141428b78
1404878e0:	48 89 4d 7f          	mov    %rcx,0x7f(%rbp)
1404878e4:	48 85 c9             	test   %rcx,%rcx
1404878e7:	74 1c                	je     0x140487905
1404878e9:	8b 41 10             	mov    0x10(%rcx),%eax
1404878ec:	ff c0                	inc    %eax
1404878ee:	89 41 10             	mov    %eax,0x10(%rcx)
1404878f1:	83 f8 01             	cmp    $0x1,%eax
1404878f4:	0f 8e 79 01 00 00    	jle    0x140487a73
1404878fa:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
1404878ff:	0f 84 63 01 00 00    	je     0x140487a68
140487905:	48 8d 55 7f          	lea    0x7f(%rbp),%rdx
140487909:	49 8b c8             	mov    %r8,%rcx
14048790c:	e8 1f af 2a 00       	call   0x140732830
140487911:	48 8b f8             	mov    %rax,%rdi
140487914:	48 89 7d df          	mov    %rdi,-0x21(%rbp)
140487918:	48 c7 45 cf 00 00 00 	movq   $0x0,-0x31(%rbp)
14048791f:	00
140487920:	48 89 5d 77          	mov    %rbx,0x77(%rbp)
140487924:	4c 8d 45 77          	lea    0x77(%rbp),%r8
140487928:	33 d2                	xor    %edx,%edx
14048792a:	48 8b cf             	mov    %rdi,%rcx
14048792d:	e8 ce da 2a 00       	call   0x140735400
140487932:	48 c7 45 df 00 00 00 	movq   $0x0,-0x21(%rbp)
140487939:	00
14048793a:	48 89 7d 77          	mov    %rdi,0x77(%rbp)
14048793e:	48 8b 45 67          	mov    0x67(%rbp),%rax
140487942:	33 ff                	xor    %edi,%edi
140487944:	48 89 7d 67          	mov    %rdi,0x67(%rbp)
140487948:	48 89 45 c7          	mov    %rax,-0x39(%rbp)
14048794c:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140487951:	41 b1 01             	mov    $0x1,%r9b
140487954:	4c 8d 45 77          	lea    0x77(%rbp),%r8
140487958:	48 8d 55 c7          	lea    -0x39(%rbp),%rdx
14048795c:	49 8b cc             	mov    %r12,%rcx
14048795f:	e8 0c d4 2a 00       	call   0x140734d70
140487964:	90                   	nop
140487965:	48 8b 4d d7          	mov    -0x29(%rbp),%rcx
140487969:	48 85 c9             	test   %rcx,%rcx
14048796c:	74 24                	je     0x140487992
14048796e:	8b 41 10             	mov    0x10(%rcx),%eax
140487971:	ff c8                	dec    %eax
140487973:	89 41 10             	mov    %eax,0x10(%rcx)
140487976:	85 c0                	test   %eax,%eax
140487978:	7f 18                	jg     0x140487992
14048797a:	0f 88 fb 00 00 00    	js     0x140487a7b
140487980:	48 8b 01             	mov    (%rcx),%rax
140487983:	ba 01 00 00 00       	mov    $0x1,%edx
140487988:	48 8b 00             	mov    (%rax),%rax
14048798b:	ff 15 8f c0 af 00    	call   *0xafc08f(%rip)        # 0x140f83a20
140487991:	90                   	nop
140487992:	48 8b 4d 67          	mov    0x67(%rbp),%rcx
140487996:	48 85 c9             	test   %rcx,%rcx
140487999:	74 24                	je     0x1404879bf
14048799b:	8b 41 10             	mov    0x10(%rcx),%eax
14048799e:	ff c8                	dec    %eax
1404879a0:	89 41 10             	mov    %eax,0x10(%rcx)
1404879a3:	85 c0                	test   %eax,%eax
1404879a5:	7f 18                	jg     0x1404879bf
1404879a7:	0f 88 8a 00 00 00    	js     0x140487a37
1404879ad:	48 8b 01             	mov    (%rcx),%rax
1404879b0:	ba 01 00 00 00       	mov    $0x1,%edx