140aed563:	48 8d 4d d7          	lea    -0x29(%rbp),%rcx
140aed567:	e8 e0 14 00 00       	call   0x140aeea4c
140aed56c:	48 8d 15 85 9e 14 00 	lea    0x149e85(%rip),%rdx        # 0x140c373f8
140aed573:	48 8d 4d d7          	lea    -0x29(%rbp),%rcx
140aed577:	e8 02 2f 00 00       	call   0x140af047e
140aed57c:	cc                   	int3
140aed57d:	90                   	nop
140aed57e:	90                   	nop
140aed57f:	90                   	nop
140aed580:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140aed585:	53                   	push   %rbx
140aed586:	56                   	push   %rsi
140aed587:	57                   	push   %rdi
140aed588:	41 54                	push   %r12
140aed58a:	41 55                	push   %r13
140aed58c:	41 56                	push   %r14
140aed58e:	41 57                	push   %r15
140aed590:	48 83 ec 30          	sub    $0x30,%rsp
140aed594:	4c 8b ea             	mov    %rdx,%r13
140aed597:	48 8b f1             	mov    %rcx,%rsi
140aed59a:	4c 8b ca             	mov    %rdx,%r9
140aed59d:	4c 2b 09             	sub    (%rcx),%r9
140aed5a0:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
140aed5a7:	66 66 66
140aed5aa:	49 f7 e9             	imul   %r9
140aed5ad:	4c 8b f2             	mov    %rdx,%r14
140aed5b0:	49 c1 fe 04          	sar    $0x4,%r14
140aed5b4:	49 8b c6             	mov    %r14,%rax
140aed5b7:	48 c1 e8 3f          	shr    $0x3f,%rax
140aed5bb:	4c 03 f0             	add    %rax,%r14
140aed5be:	48 8b 41 08          	mov    0x8(%rcx),%rax
140aed5c2:	48 2b 01             	sub    (%rcx),%rax
140aed5c5:	48 c1 f8 03          	sar    $0x3,%rax
140aed5c9:	48 ba cd cc cc cc cc 	movabs $0xcccccccccccccccd,%rdx
140aed5d0:	cc cc cc
140aed5d3:	48 0f af c2          	imul   %rdx,%rax
140aed5d7:	49 b9 66 66 66 66 66 	movabs $0x666666666666666,%r9
140aed5de:	66 66 06
140aed5e1:	49 3b c1             	cmp    %r9,%rax
140aed5e4:	0f 84 37 01 00 00    	je     0x140aed721
140aed5ea:	4c 8d 60 01          	lea    0x1(%rax),%r12
140aed5ee:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140aed5f2:	48 2b 0e             	sub    (%rsi),%rcx
140aed5f5:	48 c1 f9 03          	sar    $0x3,%rcx
140aed5f9:	48 0f af ca          	imul   %rdx,%rcx
140aed5fd:	48 8b d1             	mov    %rcx,%rdx
140aed600:	48 d1 ea             	shr    $1,%rdx
140aed603:	49 8b c1             	mov    %r9,%rax
140aed606:	48 2b c2             	sub    %rdx,%rax
140aed609:	48 3b c8             	cmp    %rax,%rcx
140aed60c:	76 05                	jbe    0x140aed613
140aed60e:	49 8b f9             	mov    %r9,%rdi
140aed611:	eb 0b                	jmp    0x140aed61e
140aed613:	48 8d 3c 0a          	lea    (%rdx,%rcx,1),%rdi
140aed617:	49 3b fc             	cmp    %r12,%rdi
140aed61a:	49 0f 42 fc          	cmovb  %r12,%rdi
140aed61e:	48 89 bc 24 88 00 00 	mov    %rdi,0x88(%rsp)
140aed625:	00
140aed626:	49 3b f9             	cmp    %r9,%rdi
140aed629:	0f 87 ec 00 00 00    	ja     0x140aed71b
140aed62f:	48 8d 0c bf          	lea    (%rdi,%rdi,4),%rcx
140aed633:	48 c1 e1 03          	shl    $0x3,%rcx
140aed637:	33 db                	xor    %ebx,%ebx
140aed639:	48 85 c9             	test   %rcx,%rcx
140aed63c:	75 07                	jne    0x140aed645
140aed63e:	48 89 5c 24 78       	mov    %rbx,0x78(%rsp)
140aed643:	eb 59                	jmp    0x140aed69e
140aed645:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
140aed64c:	72 2e                	jb     0x140aed67c
140aed64e:	48 8d 41 27          	lea    0x27(%rcx),%rax
140aed652:	48 3b c1             	cmp    %rcx,%rax
140aed655:	0f 86 c0 00 00 00    	jbe    0x140aed71b
140aed65b:	48 8b c8             	mov    %rax,%rcx
140aed65e:	ff 15 64 f2 01 00    	call   *0x1f264(%rip)        # 0x140b0c8c8
140aed664:	48 85 c0             	test   %rax,%rax
140aed667:	74 1e                	je     0x140aed687
140aed669:	48 8d 58 27          	lea    0x27(%rax),%rbx
140aed66d:	48 83 e3 e0          	and    $0xffffffffffffffe0,%rbx
140aed671:	48 89 43 f8          	mov    %rax,-0x8(%rbx)
140aed675:	48 89 5c 24 78       	mov    %rbx,0x78(%rsp)
140aed67a:	eb 1a                	jmp    0x140aed696
140aed67c:	ff 15 46 f2 01 00    	call   *0x1f246(%rip)        # 0x140b0c8c8
140aed682:	48 85 c0             	test   %rax,%rax
140aed685:	75 07                	jne    0x140aed68e
140aed687:	ff 15 0b ee 01 00    	call   *0x1ee0b(%rip)        # 0x140b0c498
140aed68d:	cc                   	int3
140aed68e:	48 8b d8             	mov    %rax,%rbx
140aed691:	48 89 44 24 78       	mov    %rax,0x78(%rsp)
140aed696:	4c 8b 84 24 80 00 00 	mov    0x80(%rsp),%r8
140aed69d:	00
140aed69e:	4b 8d 04 b6          	lea    (%r14,%r14,4),%rax
140aed6a2:	4c 8d 34 c3          	lea    (%rbx,%rax,8),%r14
140aed6a6:	4d 8d 7e 28          	lea    0x28(%r14),%r15
140aed6aa:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
140aed6af:	4c 89 7c 24 70       	mov    %r15,0x70(%rsp)
140aed6b4:	49 8b d6             	mov    %r14,%rdx
140aed6b7:	e8 88 01 00 00       	call   0x140aed844
140aed6bc:	4c 89 74 24 70       	mov    %r14,0x70(%rsp)
140aed6c1:	48 8b 56 08          	mov    0x8(%rsi),%rdx
140aed6c5:	48 8b 0e             	mov    (%rsi),%rcx
140aed6c8:	4c 3b ea             	cmp    %rdx,%r13
140aed6cb:	75 05                	jne    0x140aed6d2
140aed6cd:	4c 8b fb             	mov    %rbx,%r15
140aed6d0:	eb 1a                	jmp    0x140aed6ec
140aed6d2:	4c 8b ce             	mov    %rsi,%r9
140aed6d5:	4c 8b c3             	mov    %rbx,%r8
140aed6d8:	49 8b d5             	mov    %r13,%rdx
140aed6db:	e8 00 02 00 00       	call   0x140aed8e0
140aed6e0:	48 89 5c 24 70       	mov    %rbx,0x70(%rsp)
140aed6e5:	49 8b cd             	mov    %r13,%rcx
140aed6e8:	48 8b 56 08          	mov    0x8(%rsi),%rdx
140aed6ec:	4c 8b ce             	mov    %rsi,%r9
140aed6ef:	4d 8b c7             	mov    %r15,%r8
140aed6f2:	e8 e9 01 00 00       	call   0x140aed8e0
140aed6f7:	4c 8b cf             	mov    %rdi,%r9
140aed6fa:	4d 8b c4             	mov    %r12,%r8
140aed6fd:	48 8b d3             	mov    %rbx,%rdx
140aed700:	48 8b ce             	mov    %rsi,%rcx
140aed703:	e8 20 00 00 00       	call   0x140aed728
140aed708:	49 8b c6             	mov    %r14,%rax
140aed70b:	48 83 c4 30          	add    $0x30,%rsp
140aed70f:	41 5f                	pop    %r15
140aed711:	41 5e                	pop    %r14
140aed713:	41 5d                	pop    %r13
140aed715:	41 5c                	pop    %r12
140aed717:	5f                   	pop    %rdi
140aed718:	5e                   	pop    %rsi
140aed719:	5b                   	pop    %rbx
140aed71a:	c3                   	ret
140aed71b:	e8 b0 65 51 ff       	call   0x140003cd0
140aed720:	cc                   	int3
140aed721:	e8 42 e6 52 ff       	call   0x14001bd68
140aed726:	cc                   	int3
140aed727:	90                   	nop
140aed728:	48 8b c4             	mov    %rsp,%rax
140aed72b:	48 89 58 08          	mov    %rbx,0x8(%rax)
140aed72f:	48 89 68 10          	mov    %rbp,0x10(%rax)
140aed733:	48 89 70 18          	mov    %rsi,0x18(%rax)
140aed737:	48 89 78 20          	mov    %rdi,0x20(%rax)
140aed73b:	41 54                	push   %r12
140aed73d:	41 56                	push   %r14
140aed73f:	41 57                	push   %r15
140aed741:	48 83 ec 20          	sub    $0x20,%rsp
140aed745:	48 8b 19             	mov    (%rcx),%rbx
140aed748:	4d 8b f9             	mov    %r9,%r15
140aed74b:	4d 8b e0             	mov    %r8,%r12
140aed74e:	4c 8b f2             	mov    %rdx,%r14
140aed751:	48 8b f9             	mov    %rcx,%rdi
140aed754:	48 85 db             	test   %rbx,%rbx
140aed757:	0f 84 a3 00 00 00    	je     0x140aed800
140aed75d:	48 8b 69 08          	mov    0x8(%rcx),%rbp
140aed761:	48 3b dd             	cmp    %rbp,%rbx
140aed764:	74 54                	je     0x140aed7ba
140aed766:	48 8d 73 20          	lea    0x20(%rbx),%rsi
140aed76a:	48 8b 4e f0          	mov    -0x10(%rsi),%rcx
140aed76e:	48 85 c9             	test   %rcx,%rcx
140aed771:	74 3a                	je     0x140aed7ad
140aed773:	48 8b 06             	mov    (%rsi),%rax
140aed776:	48 2b c1             	sub    %rcx,%rax
140aed779:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
140aed77f:	72 18                	jb     0x140aed799
140aed781:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
140aed785:	48 2b ca             	sub    %rdx,%rcx
140aed788:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140aed78c:	48 83 f8 1f          	cmp    $0x1f,%rax
140aed790:	0f 87 a4 00 00 00    	ja     0x140aed83a
140aed796:	48 8b ca             	mov    %rdx,%rcx
140aed799:	ff 15 21 f1 01 00    	call   *0x1f121(%rip)        # 0x140b0c8c0
140aed79f:	48 83 66 f0 00       	andq   $0x0,-0x10(%rsi)
140aed7a4:	48 83 66 f8 00       	andq   $0x0,-0x8(%rsi)
140aed7a9:	48 83 26 00          	andq   $0x0,(%rsi)
140aed7ad:	48 83 c3 28          	add    $0x28,%rbx
140aed7b1:	48 83 c6 28          	add    $0x28,%rsi
140aed7b5:	48 3b dd             	cmp    %rbp,%rbx
140aed7b8:	75 b0                	jne    0x140aed76a
140aed7ba:	48 8b 0f             	mov    (%rdi),%rcx
140aed7bd:	48 ba cd cc cc cc cc 	movabs $0xcccccccccccccccd,%rdx
140aed7c4:	cc cc cc
140aed7c7:	48 8b 47 10          	mov    0x10(%rdi),%rax
140aed7cb:	48 2b c1             	sub    %rcx,%rax
140aed7ce:	48 c1 f8 03          	sar    $0x3,%rax
140aed7d2:	48 0f af c2          	imul   %rdx,%rax
140aed7d6:	48 8d 04 80          	lea    (%rax,%rax,4),%rax
140aed7da:	48 c1 e0 03          	shl    $0x3,%rax
140aed7de:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
140aed7e4:	72 14                	jb     0x140aed7fa
140aed7e6:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
140aed7ea:	48 2b ca             	sub    %rdx,%rcx
140aed7ed:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140aed7f1:	48 83 f8 1f          	cmp    $0x1f,%rax
140aed7f5:	77 43                	ja     0x140aed83a
140aed7f7:	48 8b ca             	mov    %rdx,%rcx
140aed7fa:	ff 15 c0 f0 01 00    	call   *0x1f0c0(%rip)        # 0x140b0c8c0
140aed800:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140aed805:	4b 8d 04 a4          	lea    (%r12,%r12,4),%rax
140aed809:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140aed80e:	49 8d 0c c6          	lea    (%r14,%rax,8),%rcx
140aed812:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140aed817:	4b 8d 04 bf          	lea    (%r15,%r15,4),%rax
140aed81b:	4c 89 37             	mov    %r14,(%rdi)
140aed81e:	48 89 4f 08          	mov    %rcx,0x8(%rdi)
140aed822:	49 8d 0c c6          	lea    (%r14,%rax,8),%rcx
140aed826:	48 89 4f 10          	mov    %rcx,0x10(%rdi)
140aed82a:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
140aed82f:	48 83 c4 20          	add    $0x20,%rsp
140aed833:	41 5f                	pop    %r15
140aed835:	41 5e                	pop    %r14
140aed837:	41 5c                	pop    %r12
140aed839:	c3                   	ret
140aed83a:	ff 15 58 f1 01 00    	call   *0x1f158(%rip)        # 0x140b0c998
140aed840:	cc                   	int3
140aed841:	90                   	nop
140aed842:	90                   	nop
140aed843:	90                   	nop
140aed844:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140aed849:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140aed84e:	57                   	push   %rdi
140aed84f:	48 83 ec 20          	sub    $0x20,%rsp
140aed853:	41 0f b7 00          	movzwl (%r8),%eax
140aed857:	48 8d 72 10          	lea    0x10(%rdx),%rsi
140aed85b:	66 89 02             	mov    %ax,(%rdx)
140aed85e:	49 8b d8             	mov    %r8,%rbx
140aed861:	41 0f b7 40 02       	movzwl 0x2(%r8),%eax
140aed866:	66 89 42 02          	mov    %ax,0x2(%rdx)
140aed86a:	41 0f b7 40 04       	movzwl 0x4(%r8),%eax
140aed86f:	66 89 42 04          	mov    %ax,0x4(%rdx)
140aed873:	41 0f b7 40 06       	movzwl 0x6(%r8),%eax
140aed878:	66 89 42 06          	mov    %ax,0x6(%rdx)
140aed87c:	41 0f b7 40 08       	movzwl 0x8(%r8),%eax
140aed881:	66 89 42 08          	mov    %ax,0x8(%rdx)
140aed885:	41 0f b7 40 0a       	movzwl 0xa(%r8),%eax
140aed88a:	66 89 42 0a          	mov    %ax,0xa(%rdx)
140aed88e:	33 c0                	xor    %eax,%eax
140aed890:	48 89 06             	mov    %rax,(%rsi)
140aed893:	48 89 46 08          	mov    %rax,0x8(%rsi)
140aed897:	48 89 46 10          	mov    %rax,0x10(%rsi)
140aed89b:	49 8b 50 18          	mov    0x18(%r8),%rdx
140aed89f:	49 2b 50 10          	sub    0x10(%r8),%rdx
140aed8a3:	74 29                	je     0x140aed8ce
140aed8a5:	48 8b ce             	mov    %rsi,%rcx
140aed8a8:	e8 bf 3e 6c ff       	call   0x1401b176c
140aed8ad:	48 8b 53 10          	mov    0x10(%rbx),%rdx
140aed8b1:	48 8b 5b 18          	mov    0x18(%rbx),%rbx
140aed8b5:	48 8b 3e             	mov    (%rsi),%rdi
140aed8b8:	48 2b da             	sub    %rdx,%rbx
140aed8bb:	4c 8b c3             	mov    %rbx,%r8
140aed8be:	48 8b cf             	mov    %rdi,%rcx
140aed8c1:	e8 a0 2b 00 00       	call   0x140af0466
140aed8c6:	48 8d 04 3b          	lea    (%rbx,%rdi,1),%rax
140aed8ca:	48 89 46 08          	mov    %rax,0x8(%rsi)
140aed8ce:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140aed8d3:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140aed8d8:	48 83 c4 20          	add    $0x20,%rsp
140aed8dc:	5f                   	pop    %rdi
140aed8dd:	c3                   	ret
140aed8de:	90                   	nop
140aed8df:	90                   	nop
140aed8e0:	40 53                	rex push %rbx
140aed8e2:	48 83 ec 40          	sub    $0x40,%rsp
140aed8e6:	4c 89 4c 24 30       	mov    %r9,0x30(%rsp)
140aed8eb:	49 8b d8             	mov    %r8,%rbx
140aed8ee:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
140aed8f3:	4c 8b d2             	mov    %rdx,%r10
140aed8f6:	48 3b ca             	cmp    %rdx,%rcx
140aed8f9:	0f 84 86 00 00 00    	je     0x140aed985
140aed8ff:	4c 8b cb             	mov    %rbx,%r9
140aed902:	4c 8d 41 18          	lea    0x18(%rcx),%r8
140aed906:	4c 2b c9             	sub    %rcx,%r9
140aed909:	45 33 db             	xor    %r11d,%r11d
140aed90c:	41 0f b7 40 e8       	movzwl -0x18(%r8),%eax
140aed911:	66 89 03             	mov    %ax,(%rbx)
140aed914:	48 83 c3 28          	add    $0x28,%rbx
140aed918:	41 0f b7 40 ea       	movzwl -0x16(%r8),%eax
140aed91d:	66 43 89 44 01 ea    	mov    %ax,-0x16(%r9,%r8,1)
140aed923:	41 0f b7 40 ec       	movzwl -0x14(%r8),%eax
140aed928:	66 43 89 44 01 ec    	mov    %ax,-0x14(%r9,%r8,1)
140aed92e:	41 0f b7 40 ee       	movzwl -0x12(%r8),%eax
140aed933:	66 43 89 44 01 ee    	mov    %ax,-0x12(%r9,%r8,1)
140aed939:	41 0f b7 40 f0       	movzwl -0x10(%r8),%eax
140aed93e:	66 43 89 44 01 f0    	mov    %ax,-0x10(%r9,%r8,1)
140aed944:	41 0f b7 40 f2       	movzwl -0xe(%r8),%eax
140aed949:	66 43 89 44 01 f2    	mov    %ax,-0xe(%r9,%r8,1)
140aed94f:	49 8b 08             	mov    (%r8),%rcx
140aed952:	49 8b 50 08          	mov    0x8(%r8),%rdx
140aed956:	49 8b 40 f8          	mov    -0x8(%r8),%rax
140aed95a:	4d 89 58 08          	mov    %r11,0x8(%r8)
140aed95e:	4d 89 18             	mov    %r11,(%r8)
140aed961:	4d 89 58 f8          	mov    %r11,-0x8(%r8)
140aed965:	4b 89 0c 01          	mov    %rcx,(%r9,%r8,1)
140aed969:	4b 89 44 01 f8       	mov    %rax,-0x8(%r9,%r8,1)
140aed96e:	4b 89 54 01 08       	mov    %rdx,0x8(%r9,%r8,1)
140aed973:	4d 8d 40 28          	lea    0x28(%r8),%r8
140aed977:	49 8d 48 e8          	lea    -0x18(%r8),%rcx
140aed97b:	49 3b ca             	cmp    %r10,%rcx
140aed97e:	75 8c                	jne    0x140aed90c
140aed980:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
140aed985:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140aed98a:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140aed98f:	e8 0c 00 00 00       	call   0x140aed9a0
140aed994:	48 8b c3             	mov    %rbx,%rax
140aed997:	48 83 c4 40          	add    $0x40,%rsp
140aed99b:	5b                   	pop    %rbx
140aed99c:	c3                   	ret
140aed99d:	90                   	nop
140aed99e:	90                   	nop
140aed99f:	90                   	nop
140aed9a0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140aed9a5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140aed9aa:	57                   	push   %rdi
140aed9ab:	48 83 ec 20          	sub    $0x20,%rsp
140aed9af:	48 8b 71 08          	mov    0x8(%rcx),%rsi
140aed9b3:	48 8b 39             	mov    (%rcx),%rdi
140aed9b6:	48 3b fe             	cmp    %rsi,%rdi
140aed9b9:	74 50                	je     0x140aeda0b
140aed9bb:	48 8d 5f 20          	lea    0x20(%rdi),%rbx
140aed9bf:	48 8b 4b f0          	mov    -0x10(%rbx),%rcx
140aed9c3:	48 85 c9             	test   %rcx,%rcx
140aed9c6:	74 36                	je     0x140aed9fe
140aed9c8:	48 8b 03             	mov    (%rbx),%rax
140aed9cb:	48 2b c1             	sub    %rcx,%rax
140aed9ce:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
140aed9d4:	72 14                	jb     0x140aed9ea
140aed9d6:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
140aed9da:	48 2b ca             	sub    %rdx,%rcx
140aed9dd:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140aed9e1:	48 83 f8 1f          	cmp    $0x1f,%rax
140aed9e5:	77 34                	ja     0x140aeda1b
140aed9e7:	48 8b ca             	mov    %rdx,%rcx
140aed9ea:	ff 15 d0 ee 01 00    	call   *0x1eed0(%rip)        # 0x140b0c8c0
140aed9f0:	48 83 63 f0 00       	andq   $0x0,-0x10(%rbx)
140aed9f5:	48 83 63 f8 00       	andq   $0x0,-0x8(%rbx)
140aed9fa:	48 83 23 00          	andq   $0x0,(%rbx)
140aed9fe:	48 83 c7 28          	add    $0x28,%rdi
140aeda02:	48 83 c3 28          	add    $0x28,%rbx
140aeda06:	48 3b fe             	cmp    %rsi,%rdi
140aeda09:	75 b4                	jne    0x140aed9bf
140aeda0b:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140aeda10:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140aeda15:	48 83 c4 20          	add    $0x20,%rsp
140aeda19:	5f                   	pop    %rdi
140aeda1a:	c3                   	ret
140aeda1b:	ff 15 77 ef 01 00    	call   *0x1ef77(%rip)        # 0x140b0c998
140aeda21:	cc                   	int3
140aeda22:	90                   	nop
140aeda23:	90                   	nop
140aeda24:	90                   	nop
140aeda25:	90                   	nop
140aeda26:	90                   	nop
140aeda27:	90                   	nop
140aeda28:	90                   	nop