14004956f:	48 2b c1             	sub    %rcx,%rax
140049572:	48 3b e8             	cmp    %rax,%rbp
140049575:	76 10                	jbe    0x140049587
140049577:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
14004957e:	ff ff 7f
140049581:	48 8d 0c 00          	lea    (%rax,%rax,1),%rcx
140049585:	eb 31                	jmp    0x1400495b8
140049587:	48 8d 04 29          	lea    (%rcx,%rbp,1),%rax
14004958b:	48 8b da             	mov    %rdx,%rbx
14004958e:	48 3b d0             	cmp    %rax,%rdx
140049591:	48 0f 42 d8          	cmovb  %rax,%rbx
140049595:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
14004959c:	ff ff 7f
14004959f:	48 8d 4b 01          	lea    0x1(%rbx),%rcx
1400495a3:	48 3b c8             	cmp    %rax,%rcx
1400495a6:	0f 87 cd 00 00 00    	ja     0x140049679
1400495ac:	48 03 c9             	add    %rcx,%rcx
1400495af:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
1400495b6:	72 2c                	jb     0x1400495e4
1400495b8:	48 8d 41 27          	lea    0x27(%rcx),%rax
1400495bc:	48 3b c1             	cmp    %rcx,%rax
1400495bf:	0f 86 b4 00 00 00    	jbe    0x140049679
1400495c5:	48 8b c8             	mov    %rax,%rcx
1400495c8:	e8 73 03 01 00       	call   0x140059940
1400495cd:	48 85 c0             	test   %rax,%rax
1400495d0:	0f 84 96 00 00 00    	je     0x14004966c
1400495d6:	48 8d 78 27          	lea    0x27(%rax),%rdi
1400495da:	48 83 e7 e0          	and    $0xffffffffffffffe0,%rdi
1400495de:	48 89 47 f8          	mov    %rax,-0x8(%rdi)
1400495e2:	eb 12                	jmp    0x1400495f6
1400495e4:	48 85 c9             	test   %rcx,%rcx
1400495e7:	74 0a                	je     0x1400495f3
1400495e9:	e8 52 03 01 00       	call   0x140059940
1400495ee:	48 8b f8             	mov    %rax,%rdi
1400495f1:	eb 03                	jmp    0x1400495f6
1400495f3:	49 8b fc             	mov    %r12,%rdi
1400495f6:	48 89 5e 18          	mov    %rbx,0x18(%rsi)
1400495fa:	49 8b d7             	mov    %r15,%rdx
1400495fd:	4b 8d 1c 36          	lea    (%r14,%r14,1),%rbx
140049601:	4c 89 76 10          	mov    %r14,0x10(%rsi)
140049605:	4c 8b c3             	mov    %rbx,%r8
140049608:	48 8b cf             	mov    %rdi,%rcx
14004960b:	e8 bb 12 01 00       	call   0x14005a8cb
140049610:	66 44 89 24 3b       	mov    %r12w,(%rbx,%rdi,1)
140049615:	48 83 fd 07          	cmp    $0x7,%rbp
140049619:	76 31                	jbe    0x14004964c
14004961b:	48 8b 0e             	mov    (%rsi),%rcx
14004961e:	48 8d 14 6d 02 00 00 	lea    0x2(,%rbp,2),%rdx
140049625:	00
140049626:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
14004962d:	72 18                	jb     0x140049647
14004962f:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
140049633:	48 83 c2 27          	add    $0x27,%rdx
140049637:	49 2b c8             	sub    %r8,%rcx
14004963a:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
14004963e:	48 83 f8 1f          	cmp    $0x1f,%rax
140049642:	77 28                	ja     0x14004966c
140049644:	49 8b c8             	mov    %r8,%rcx
140049647:	e8 48 06 01 00       	call   0x140059c94
14004964c:	48 89 3e             	mov    %rdi,(%rsi)
14004964f:	48 8b c6             	mov    %rsi,%rax
140049652:	48 8b 7c 24 28       	mov    0x28(%rsp),%rdi
140049657:	48 8b 6c 24 30       	mov    0x30(%rsp),%rbp
14004965c:	4c 8b 64 24 20       	mov    0x20(%rsp),%r12
140049661:	48 83 c4 38          	add    $0x38,%rsp
140049665:	41 5f                	pop    %r15
140049667:	41 5e                	pop    %r14
140049669:	5e                   	pop    %rsi
14004966a:	5b                   	pop    %rbx
14004966b:	c3                   	ret
14004966c:	ff 15 2e 5f 01 00    	call   *0x15f2e(%rip)        # 0x14005f5a0
140049672:	cc                   	int3
140049673:	e8 38 7d fb ff       	call   0x1400013b0
140049678:	cc                   	int3
140049679:	e8 92 7c fb ff       	call   0x140001310
14004967e:	cc                   	int3
14004967f:	cc                   	int3
140049680:	48 8b 09             	mov    (%rcx),%rcx
140049683:	48 85 c9             	test   %rcx,%rcx
140049686:	0f 85 34 fd ff ff    	jne    0x1400493c0
14004968c:	c3                   	ret
14004968d:	cc                   	int3
14004968e:	cc                   	int3
14004968f:	cc                   	int3
140049690:	40 53                	rex push %rbx
140049692:	48 83 ec 20          	sub    $0x20,%rsp
140049696:	48 8d 05 73 b8 01 00 	lea    0x1b873(%rip),%rax        # 0x140064f10
14004969d:	48 8b d9             	mov    %rcx,%rbx
1400496a0:	48 89 01             	mov    %rax,(%rcx)
1400496a3:	f6 c2 01             	test   $0x1,%dl
1400496a6:	74 0a                	je     0x1400496b2
1400496a8:	ba 68 00 00 00       	mov    $0x68,%edx
1400496ad:	e8 e2 05 01 00       	call   0x140059c94
1400496b2:	48 8b c3             	mov    %rbx,%rax
1400496b5:	48 83 c4 20          	add    $0x20,%rsp
1400496b9:	5b                   	pop    %rbx
1400496ba:	c3                   	ret
1400496bb:	cc                   	int3
1400496bc:	cc                   	int3
1400496bd:	cc                   	int3
1400496be:	cc                   	int3
1400496bf:	cc                   	int3
1400496c0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1400496c5:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1400496ca:	56                   	push   %rsi
1400496cb:	57                   	push   %rdi
1400496cc:	41 56                	push   %r14
1400496ce:	48 83 ec 60          	sub    $0x60,%rsp
1400496d2:	4c 8b f1             	mov    %rcx,%r14
1400496d5:	48 8b 31             	mov    (%rcx),%rsi
1400496d8:	48 8b 3e             	mov    (%rsi),%rdi
1400496db:	48 8b 69 08          	mov    0x8(%rcx),%rbp
1400496df:	48 3b fe             	cmp    %rsi,%rdi
1400496e2:	0f 84 30 01 00 00    	je     0x140049818
1400496e8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1400496ef:	00
1400496f0:	8b 47 20             	mov    0x20(%rdi),%eax
1400496f3:	89 44 24 20          	mov    %eax,0x20(%rsp)
1400496f7:	48 8b 4f 28          	mov    0x28(%rdi),%rcx
1400496fb:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
140049700:	48 85 c9             	test   %rcx,%rcx
140049703:	74 07                	je     0x14004970c
140049705:	48 8b 01             	mov    (%rcx),%rax
140049708:	ff 50 08             	call   *0x8(%rax)
14004970b:	90                   	nop
14004970c:	48 8b 47 30          	mov    0x30(%rdi),%rax
140049710:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140049715:	48 8b 47 38          	mov    0x38(%rdi),%rax
140049719:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
14004971e:	48 8b 47 40          	mov    0x40(%rdi),%rax
140049722:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
140049727:	0f b6 47 48          	movzbl 0x48(%rdi),%eax
14004972b:	88 44 24 48          	mov    %al,0x48(%rsp)
14004972f:	0f b6 47 49          	movzbl 0x49(%rdi),%eax
140049733:	88 44 24 49          	mov    %al,0x49(%rsp)
140049737:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
14004973c:	e8 ff 00 00 00       	call   0x140049840
140049741:	84 c0                	test   %al,%al
140049743:	74 73                	je     0x1400497b8
140049745:	48 8b c7             	mov    %rdi,%rax
140049748:	48 8b 5f 10          	mov    0x10(%rdi),%rbx
14004974c:	80 7b 19 00          	cmpb   $0x0,0x19(%rbx)
140049750:	74 23                	je     0x140049775
140049752:	48 8b 5f 08          	mov    0x8(%rdi),%rbx
140049756:	80 7b 19 00          	cmpb   $0x0,0x19(%rbx)
14004975a:	75 33                	jne    0x14004978f
14004975c:	0f 1f 40 00          	nopl   0x0(%rax)
140049760:	48 3b 43 10          	cmp    0x10(%rbx),%rax
140049764:	75 29                	jne    0x14004978f
140049766:	48 8b c3             	mov    %rbx,%rax
140049769:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
14004976d:	80 7b 19 00          	cmpb   $0x0,0x19(%rbx)
140049771:	74 ed                	je     0x140049760
140049773:	eb 1a                	jmp    0x14004978f
140049775:	48 8b 0b             	mov    (%rbx),%rcx
140049778:	80 79 19 00          	cmpb   $0x0,0x19(%rcx)
14004977c:	75 11                	jne    0x14004978f
14004977e:	66 90                	xchg   %ax,%ax
140049780:	48 8b d9             	mov    %rcx,%rbx
140049783:	48 8b 01             	mov    (%rcx),%rax
140049786:	48 8b c8             	mov    %rax,%rcx
140049789:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
14004978d:	74 f1                	je     0x140049780
14004978f:	48 8b d7             	mov    %rdi,%rdx
140049792:	49 8b ce             	mov    %r14,%rcx
140049795:	e8 f6 8f ff ff       	call   0x140042790
14004979a:	48 8b f8             	mov    %rax,%rdi
14004979d:	48 8d 48 20          	lea    0x20(%rax),%rcx
1400497a1:	e8 fa 07 00 00       	call   0x140049fa0
1400497a6:	ba 50 00 00 00       	mov    $0x50,%edx
1400497ab:	48 8b cf             	mov    %rdi,%rcx
1400497ae:	e8 e1 04 01 00       	call   0x140059c94
1400497b3:	48 8b fb             	mov    %rbx,%rdi
1400497b6:	eb 57                	jmp    0x14004980f
1400497b8:	48 8b 47 10          	mov    0x10(%rdi),%rax
1400497bc:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
1400497c0:	74 26                	je     0x1400497e8
1400497c2:	48 8b 47 08          	mov    0x8(%rdi),%rax
1400497c6:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
1400497ca:	75 17                	jne    0x1400497e3
1400497cc:	0f 1f 40 00          	nopl   0x0(%rax)
1400497d0:	48 3b 78 10          	cmp    0x10(%rax),%rdi
1400497d4:	75 0d                	jne    0x1400497e3
1400497d6:	48 8b f8             	mov    %rax,%rdi
1400497d9:	48 8b 40 08          	mov    0x8(%rax),%rax
1400497dd:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
1400497e1:	74 ed                	je     0x1400497d0
1400497e3:	48 8b f8             	mov    %rax,%rdi
1400497e6:	eb 27                	jmp    0x14004980f
1400497e8:	48 8b f8             	mov    %rax,%rdi
1400497eb:	48 8b 08             	mov    (%rax),%rcx
1400497ee:	80 79 19 00          	cmpb   $0x0,0x19(%rcx)
1400497f2:	75 1b                	jne    0x14004980f
1400497f4:	0f 1f 40 00          	nopl   0x0(%rax)
1400497f8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1400497ff:	00
140049800:	48 8b f9             	mov    %rcx,%rdi
140049803:	48 8b 01             	mov    (%rcx),%rax
140049806:	48 8b c8             	mov    %rax,%rcx
140049809:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
14004980d:	74 f1                	je     0x140049800
14004980f:	48 3b fe             	cmp    %rsi,%rdi
140049812:	0f 85 d8 fe ff ff    	jne    0x1400496f0
140049818:	49 2b 6e 08          	sub    0x8(%r14),%rbp
14004981c:	48 8b c5             	mov    %rbp,%rax
14004981f:	4c 8d 5c 24 60       	lea    0x60(%rsp),%r11
140049824:	49 8b 5b 28          	mov    0x28(%r11),%rbx
140049828:	49 8b 6b 30          	mov    0x30(%r11),%rbp
14004982c:	49 8b e3             	mov    %r11,%rsp
14004982f:	41 5e                	pop    %r14
140049831:	5f                   	pop    %rdi
140049832:	5e                   	pop    %rsi
140049833:	c3                   	ret
140049834:	cc                   	int3
140049835:	cc                   	int3
140049836:	cc                   	int3
140049837:	cc                   	int3
140049838:	cc                   	int3
140049839:	cc                   	int3
14004983a:	cc                   	int3
14004983b:	cc                   	int3
14004983c:	cc                   	int3
14004983d:	cc                   	int3
14004983e:	cc                   	int3
14004983f:	cc                   	int3
140049840:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140049845:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
14004984a:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14004984f:	57                   	push   %rdi
140049850:	41 56                	push   %r14
140049852:	41 57                	push   %r15
140049854:	48 83 ec 60          	sub    $0x60,%rsp
140049858:	48 8b 05 e1 e7 02 00 	mov    0x2e7e1(%rip),%rax        # 0x140078040
14004985f:	48 33 c4             	xor    %rsp,%rax
140049862:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
140049867:	48 8b f2             	mov    %rdx,%rsi
14004986a:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
14004986f:	8b 02                	mov    (%rdx),%eax
140049871:	89 44 24 28          	mov    %eax,0x28(%rsp)
140049875:	48 8b 7a 08          	mov    0x8(%rdx),%rdi
140049879:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
14004987e:	48 85 ff             	test   %rdi,%rdi
140049881:	74 0a                	je     0x14004988d
140049883:	48 8b 07             	mov    (%rdi),%rax
140049886:	48 8b cf             	mov    %rdi,%rcx
140049889:	ff 50 08             	call   *0x8(%rax)
14004988c:	90                   	nop
14004988d:	48 8b 5e 10          	mov    0x10(%rsi),%rbx
140049891:	48 89 5c 24 38       	mov    %rbx,0x38(%rsp)
140049896:	4c 8b 76 18          	mov    0x18(%rsi),%r14
14004989a:	4c 89 74 24 40       	mov    %r14,0x40(%rsp)
14004989f:	4c 8b 7e 20          	mov    0x20(%rsi),%r15
1400498a3:	4c 89 7c 24 48       	mov    %r15,0x48(%rsp)
1400498a8:	0f b6 6e 28          	movzbl 0x28(%rsi),%ebp
1400498ac:	40 88 6c 24 50       	mov    %bpl,0x50(%rsp)
1400498b1:	0f b6 46 29          	movzbl 0x29(%rsi),%eax
1400498b5:	88 44 24 51          	mov    %al,0x51(%rsp)
1400498b9:	0f b6 c8             	movzbl %al,%ecx
1400498bc:	40 84 ed             	test   %bpl,%bpl
1400498bf:	74 2f                	je     0x1400498f0
1400498c1:	84 c0                	test   %al,%al
1400498c3:	75 2b                	jne    0x1400498f0
1400498c5:	48 85 ff             	test   %rdi,%rdi
1400498c8:	74 26                	je     0x1400498f0
1400498ca:	48 8b 07             	mov    (%rdi),%rax
1400498cd:	48 8b d3             	mov    %rbx,%rdx
1400498d0:	48 8b cf             	mov    %rdi,%rcx
1400498d3:	ff 50 60             	call   *0x60(%rax)
1400498d6:	48 8b 07             	mov    (%rdi),%rax
1400498d9:	49 8b d6             	mov    %r14,%rdx
1400498dc:	48 8b cf             	mov    %rdi,%rcx
1400498df:	ff 50 50             	call   *0x50(%rax)
1400498e2:	48 8b 07             	mov    (%rdi),%rax
1400498e5:	49 8b d7             	mov    %r15,%rdx
1400498e8:	48 8b cf             	mov    %rdi,%rcx
1400498eb:	ff 50 70             	call   *0x70(%rax)
1400498ee:	b1 01                	mov    $0x1,%cl
1400498f0:	40 84 ed             	test   %bpl,%bpl
1400498f3:	74 2e                	je     0x140049923
1400498f5:	84 c9                	test   %cl,%cl
1400498f7:	75 2a                	jne    0x140049923
1400498f9:	48 85 ff             	test   %rdi,%rdi
1400498fc:	74 25                	je     0x140049923
1400498fe:	48 8b 07             	mov    (%rdi),%rax
140049901:	48 8b d3             	mov    %rbx,%rdx
140049904:	48 8b cf             	mov    %rdi,%rcx
140049907:	ff 50 60             	call   *0x60(%rax)
14004990a:	48 8b 07             	mov    (%rdi),%rax
14004990d:	49 8b d6             	mov    %r14,%rdx
140049910:	48 8b cf             	mov    %rdi,%rcx
140049913:	ff 50 50             	call   *0x50(%rax)
140049916:	48 8b 07             	mov    (%rdi),%rax
140049919:	49 8b d7             	mov    %r15,%rdx
14004991c:	48 8b cf             	mov    %rdi,%rcx
14004991f:	ff 50 70             	call   *0x70(%rax)
140049922:	90                   	nop
140049923:	48 85 ff             	test   %rdi,%rdi
140049926:	74 0a                	je     0x140049932
140049928:	48 8b 17             	mov    (%rdi),%rdx
14004992b:	48 8b cf             	mov    %rdi,%rcx
14004992e:	ff 52 10             	call   *0x10(%rdx)
140049931:	90                   	nop
140049932:	48 8b ce             	mov    %rsi,%rcx
140049935:	e8 66 06 00 00       	call   0x140049fa0
14004993a:	40 0f b6 c5          	movzbl %bpl,%eax
14004993e:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
140049943:	48 33 cc             	xor    %rsp,%rcx
140049946:	e8 b5 fe 00 00       	call   0x140059800
14004994b:	4c 8d 5c 24 60       	lea    0x60(%rsp),%r11
140049950:	49 8b 5b 20          	mov    0x20(%r11),%rbx
140049954:	49 8b 6b 30          	mov    0x30(%r11),%rbp
140049958:	49 8b 73 38          	mov    0x38(%r11),%rsi
14004995c:	49 8b e3             	mov    %r11,%rsp
14004995f:	41 5f                	pop    %r15
140049961:	41 5e                	pop    %r14
140049963:	5f                   	pop    %rdi
140049964:	c3                   	ret
140049965:	cc                   	int3
140049966:	cc                   	int3
140049967:	cc                   	int3
140049968:	cc                   	int3
140049969:	cc                   	int3
14004996a:	cc                   	int3
14004996b:	cc                   	int3
14004996c:	cc                   	int3
14004996d:	cc                   	int3
14004996e:	cc                   	int3
14004996f:	cc                   	int3
140049970:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140049975:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14004997a:	57                   	push   %rdi
14004997b:	41 54                	push   %r12
14004997d:	41 55                	push   %r13
14004997f:	41 56                	push   %r14
140049981:	41 57                	push   %r15
140049983:	48 83 ec 40          	sub    $0x40,%rsp
140049987:	4c 8b ea             	mov    %rdx,%r13
14004998a:	48 8b f9             	mov    %rcx,%rdi
14004998d:	48 8b 01             	mov    (%rcx),%rax
140049990:	4c 8b e2             	mov    %rdx,%r12
140049993:	4c 2b e0             	sub    %rax,%r12
140049996:	4c 8b 79 08          	mov    0x8(%rcx),%r15
14004999a:	4c 2b f8             	sub    %rax,%r15
14004999d:	49 c1 ff 05          	sar    $0x5,%r15
1400499a1:	49 b8 ff ff ff ff ff 	movabs $0x7ffffffffffffff,%r8
1400499a8:	ff ff 07
1400499ab:	4d 3b f8             	cmp    %r8,%r15
1400499ae:	0f 84 98 01 00 00    	je     0x140049b4c
1400499b4:	49 ff c7             	inc    %r15
1400499b7:	48 8b 49 10          	mov    0x10(%rcx),%rcx