14008d96f:	41 55                	push   %r13
14008d971:	41 56                	push   %r14
14008d973:	41 57                	push   %r15
14008d975:	48 83 ec 30          	sub    $0x30,%rsp
14008d979:	4c 8b e2             	mov    %rdx,%r12
14008d97c:	4c 8b f1             	mov    %rcx,%r14
14008d97f:	4c 8b 11             	mov    (%rcx),%r10
14008d982:	4c 8b ca             	mov    %rdx,%r9
14008d985:	4d 2b ca             	sub    %r10,%r9
14008d988:	49 bb ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%r11
14008d98f:	aa aa 2a
14008d992:	49 8b c3             	mov    %r11,%rax
14008d995:	49 f7 e9             	imul   %r9
14008d998:	48 8b f2             	mov    %rdx,%rsi
14008d99b:	48 c1 fe 02          	sar    $0x2,%rsi
14008d99f:	48 8b c6             	mov    %rsi,%rax
14008d9a2:	48 c1 e8 3f          	shr    $0x3f,%rax
14008d9a6:	48 03 f0             	add    %rax,%rsi
14008d9a9:	48 8b 49 08          	mov    0x8(%rcx),%rcx
14008d9ad:	49 2b ca             	sub    %r10,%rcx
14008d9b0:	49 8b c3             	mov    %r11,%rax
14008d9b3:	48 f7 e9             	imul   %rcx
14008d9b6:	48 c1 fa 02          	sar    $0x2,%rdx
14008d9ba:	48 8b c2             	mov    %rdx,%rax
14008d9bd:	48 c1 e8 3f          	shr    $0x3f,%rax
14008d9c1:	48 03 d0             	add    %rax,%rdx
14008d9c4:	49 b9 aa aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaa,%r9
14008d9cb:	aa aa 0a
14008d9ce:	49 3b d1             	cmp    %r9,%rdx
14008d9d1:	0f 84 3d 01 00 00    	je     0x14008db14
14008d9d7:	4c 8d 6a 01          	lea    0x1(%rdx),%r13
14008d9db:	49 8b 4e 10          	mov    0x10(%r14),%rcx
14008d9df:	49 2b ca             	sub    %r10,%rcx
14008d9e2:	49 8b c3             	mov    %r11,%rax
14008d9e5:	48 f7 e9             	imul   %rcx
14008d9e8:	48 c1 fa 02          	sar    $0x2,%rdx
14008d9ec:	48 8b c2             	mov    %rdx,%rax
14008d9ef:	48 c1 e8 3f          	shr    $0x3f,%rax
14008d9f3:	48 03 d0             	add    %rax,%rdx
14008d9f6:	48 8b ca             	mov    %rdx,%rcx
14008d9f9:	48 d1 e9             	shr    $1,%rcx
14008d9fc:	49 8b c1             	mov    %r9,%rax
14008d9ff:	48 2b c1             	sub    %rcx,%rax
14008da02:	48 3b d0             	cmp    %rax,%rdx
14008da05:	0f 87 03 01 00 00    	ja     0x14008db0e
14008da0b:	48 8d 04 11          	lea    (%rcx,%rdx,1),%rax
14008da0f:	49 8b fd             	mov    %r13,%rdi
14008da12:	49 3b c5             	cmp    %r13,%rax
14008da15:	48 0f 43 f8          	cmovae %rax,%rdi
14008da19:	49 3b f9             	cmp    %r9,%rdi
14008da1c:	0f 87 ec 00 00 00    	ja     0x14008db0e
14008da22:	48 8d 0c 7f          	lea    (%rdi,%rdi,2),%rcx
14008da26:	48 c1 e1 03          	shl    $0x3,%rcx
14008da2a:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
14008da2f:	48 85 c9             	test   %rcx,%rcx
14008da32:	75 09                	jne    0x14008da3d
14008da34:	33 db                	xor    %ebx,%ebx
14008da36:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
14008da3b:	eb 48                	jmp    0x14008da85
14008da3d:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
14008da44:	72 2f                	jb     0x14008da75
14008da46:	48 8d 41 27          	lea    0x27(%rcx),%rax
14008da4a:	48 3b c1             	cmp    %rcx,%rax
14008da4d:	0f 86 bb 00 00 00    	jbe    0x14008db0e
14008da53:	48 8b c8             	mov    %rax,%rcx
14008da56:	e8 ed c7 26 00       	call   0x1402fa248
14008da5b:	48 85 c0             	test   %rax,%rax
14008da5e:	74 0e                	je     0x14008da6e
14008da60:	48 8d 58 27          	lea    0x27(%rax),%rbx
14008da64:	48 83 e3 e0          	and    $0xffffffffffffffe0,%rbx
14008da68:	48 89 43 f8          	mov    %rax,-0x8(%rbx)
14008da6c:	eb 0f                	jmp    0x14008da7d
14008da6e:	ff 15 84 c5 29 00    	call   *0x29c584(%rip)        # 0x140329ff8
14008da74:	cc                   	int3
14008da75:	e8 ce c7 26 00       	call   0x1402fa248
14008da7a:	48 8b d8             	mov    %rax,%rbx
14008da7d:	4c 8b 84 24 80 00 00 	mov    0x80(%rsp),%r8
14008da84:	00
14008da85:	48 89 5c 24 78       	mov    %rbx,0x78(%rsp)
14008da8a:	48 8d 0c 76          	lea    (%rsi,%rsi,2),%rcx
14008da8e:	48 8d 34 cb          	lea    (%rbx,%rcx,8),%rsi
14008da92:	4c 8d 7e 18          	lea    0x18(%rsi),%r15
14008da96:	4c 89 7c 24 28       	mov    %r15,0x28(%rsp)
14008da9b:	49 8b 00             	mov    (%r8),%rax
14008da9e:	48 89 46 08          	mov    %rax,0x8(%rsi)
14008daa2:	66 c7 46 10 00 00    	movw   $0x0,0x10(%rsi)
14008daa8:	48 89 b4 24 88 00 00 	mov    %rsi,0x88(%rsp)
14008daaf:	00
14008dab0:	49 8b 56 08          	mov    0x8(%r14),%rdx
14008dab4:	49 8b 0e             	mov    (%r14),%rcx
14008dab7:	4c 3b e2             	cmp    %rdx,%r12
14008daba:	75 05                	jne    0x14008dac1
14008dabc:	4c 8b fb             	mov    %rbx,%r15
14008dabf:	eb 1d                	jmp    0x14008dade
14008dac1:	4d 8b ce             	mov    %r14,%r9
14008dac4:	4c 8b c3             	mov    %rbx,%r8
14008dac7:	49 8b d4             	mov    %r12,%rdx
14008daca:	e8 e1 63 00 00       	call   0x140093eb0
14008dacf:	48 89 9c 24 88 00 00 	mov    %rbx,0x88(%rsp)
14008dad6:	00
14008dad7:	49 8b cc             	mov    %r12,%rcx
14008dada:	49 8b 56 08          	mov    0x8(%r14),%rdx
14008dade:	4d 8b ce             	mov    %r14,%r9
14008dae1:	4d 8b c7             	mov    %r15,%r8
14008dae4:	e8 c7 63 00 00       	call   0x140093eb0
14008dae9:	90                   	nop
14008daea:	4c 8b cf             	mov    %rdi,%r9
14008daed:	4d 8b c5             	mov    %r13,%r8
14008daf0:	48 8b d3             	mov    %rbx,%rdx
14008daf3:	49 8b ce             	mov    %r14,%rcx
14008daf6:	e8 55 1d 03 00       	call   0x1400bf850
14008dafb:	48 8b c6             	mov    %rsi,%rax
14008dafe:	48 83 c4 30          	add    $0x30,%rsp
14008db02:	41 5f                	pop    %r15
14008db04:	41 5e                	pop    %r14
14008db06:	41 5d                	pop    %r13
14008db08:	41 5c                	pop    %r12
14008db0a:	5f                   	pop    %rdi
14008db0b:	5e                   	pop    %rsi
14008db0c:	5b                   	pop    %rbx
14008db0d:	c3                   	ret
14008db0e:	e8 9d a4 ff ff       	call   0x140087fb0
14008db13:	cc                   	int3
14008db14:	e8 c7 3a 03 00       	call   0x1400c15e0
14008db19:	cc                   	int3
14008db1a:	cc                   	int3
14008db1b:	cc                   	int3
14008db1c:	cc                   	int3
14008db1d:	cc                   	int3
14008db1e:	cc                   	int3
14008db1f:	cc                   	int3
14008db20:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
14008db25:	53                   	push   %rbx
14008db26:	56                   	push   %rsi
14008db27:	57                   	push   %rdi
14008db28:	41 54                	push   %r12
14008db2a:	41 55                	push   %r13
14008db2c:	41 56                	push   %r14
14008db2e:	41 57                	push   %r15
14008db30:	48 83 ec 20          	sub    $0x20,%rsp
14008db34:	4d 8b e8             	mov    %r8,%r13
14008db37:	4c 8b fa             	mov    %rdx,%r15
14008db3a:	48 8b f1             	mov    %rcx,%rsi
14008db3d:	4c 8b 09             	mov    (%rcx),%r9
14008db40:	4c 8b f2             	mov    %rdx,%r14
14008db43:	4d 2b f1             	sub    %r9,%r14
14008db46:	49 c1 fe 03          	sar    $0x3,%r14
14008db4a:	48 8b 41 08          	mov    0x8(%rcx),%rax
14008db4e:	49 2b c1             	sub    %r9,%rax
14008db51:	48 c1 f8 03          	sar    $0x3,%rax
14008db55:	49 b8 ff ff ff ff ff 	movabs $0x1fffffffffffffff,%r8
14008db5c:	ff ff 1f
14008db5f:	49 3b c0             	cmp    %r8,%rax
14008db62:	0f 84 03 01 00 00    	je     0x14008dc6b
14008db68:	4c 8d 60 01          	lea    0x1(%rax),%r12
14008db6c:	48 8b 49 10          	mov    0x10(%rcx),%rcx
14008db70:	49 2b c9             	sub    %r9,%rcx
14008db73:	48 c1 f9 03          	sar    $0x3,%rcx
14008db77:	48 8b d1             	mov    %rcx,%rdx
14008db7a:	48 d1 ea             	shr    $1,%rdx
14008db7d:	49 8b c0             	mov    %r8,%rax
14008db80:	48 2b c2             	sub    %rdx,%rax
14008db83:	48 3b c8             	cmp    %rax,%rcx
14008db86:	0f 87 d9 00 00 00    	ja     0x14008dc65
14008db8c:	48 8d 04 0a          	lea    (%rdx,%rcx,1),%rax
14008db90:	49 8b fc             	mov    %r12,%rdi
14008db93:	49 3b c4             	cmp    %r12,%rax
14008db96:	48 0f 43 f8          	cmovae %rax,%rdi
14008db9a:	49 3b f8             	cmp    %r8,%rdi
14008db9d:	0f 87 c2 00 00 00    	ja     0x14008dc65
14008dba3:	48 8d 0c fd 00 00 00 	lea    0x0(,%rdi,8),%rcx
14008dbaa:	00
14008dbab:	48 89 7c 24 78       	mov    %rdi,0x78(%rsp)
14008dbb0:	48 85 c9             	test   %rcx,%rcx
14008dbb3:	75 09                	jne    0x14008dbbe
14008dbb5:	33 db                	xor    %ebx,%ebx
14008dbb7:	48 89 7c 24 78       	mov    %rdi,0x78(%rsp)
14008dbbc:	eb 40                	jmp    0x14008dbfe
14008dbbe:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
14008dbc5:	72 2f                	jb     0x14008dbf6
14008dbc7:	48 8d 41 27          	lea    0x27(%rcx),%rax
14008dbcb:	48 3b c1             	cmp    %rcx,%rax
14008dbce:	0f 86 91 00 00 00    	jbe    0x14008dc65
14008dbd4:	48 8b c8             	mov    %rax,%rcx
14008dbd7:	e8 6c c6 26 00       	call   0x1402fa248
14008dbdc:	48 85 c0             	test   %rax,%rax
14008dbdf:	74 0e                	je     0x14008dbef
14008dbe1:	48 8d 58 27          	lea    0x27(%rax),%rbx
14008dbe5:	48 83 e3 e0          	and    $0xffffffffffffffe0,%rbx
14008dbe9:	48 89 43 f8          	mov    %rax,-0x8(%rbx)
14008dbed:	eb 0f                	jmp    0x14008dbfe
14008dbef:	ff 15 03 c4 29 00    	call   *0x29c403(%rip)        # 0x140329ff8
14008dbf5:	cc                   	int3
14008dbf6:	e8 4d c6 26 00       	call   0x1402fa248
14008dbfb:	48 8b d8             	mov    %rax,%rbx
14008dbfe:	48 89 5c 24 68       	mov    %rbx,0x68(%rsp)
14008dc03:	4e 8d 34 f3          	lea    (%rbx,%r14,8),%r14
14008dc07:	49 8b 4d 00          	mov    0x0(%r13),%rcx
14008dc0b:	49 89 0e             	mov    %rcx,(%r14)
14008dc0e:	4c 8b 46 08          	mov    0x8(%rsi),%r8
14008dc12:	48 8b 16             	mov    (%rsi),%rdx
14008dc15:	48 8b cb             	mov    %rbx,%rcx
14008dc18:	4d 3b f8             	cmp    %r8,%r15
14008dc1b:	75 05                	jne    0x14008dc22
14008dc1d:	4c 2b c2             	sub    %rdx,%r8
14008dc20:	eb 19                	jmp    0x14008dc3b
14008dc22:	4d 8b c7             	mov    %r15,%r8
14008dc25:	4c 2b c2             	sub    %rdx,%r8
14008dc28:	e8 01 ee 26 00       	call   0x1402fca2e
14008dc2d:	49 8d 4e 08          	lea    0x8(%r14),%rcx
14008dc31:	4c 8b 46 08          	mov    0x8(%rsi),%r8
14008dc35:	4d 2b c7             	sub    %r15,%r8
14008dc38:	49 8b d7             	mov    %r15,%rdx
14008dc3b:	e8 ee ed 26 00       	call   0x1402fca2e
14008dc40:	90                   	nop
14008dc41:	4c 8b cf             	mov    %rdi,%r9
14008dc44:	4d 8b c4             	mov    %r12,%r8
14008dc47:	48 8b d3             	mov    %rbx,%rdx
14008dc4a:	48 8b ce             	mov    %rsi,%rcx
14008dc4d:	e8 ce 13 03 00       	call   0x1400bf020
14008dc52:	49 8b c6             	mov    %r14,%rax
14008dc55:	48 83 c4 20          	add    $0x20,%rsp
14008dc59:	41 5f                	pop    %r15
14008dc5b:	41 5e                	pop    %r14
14008dc5d:	41 5d                	pop    %r13
14008dc5f:	41 5c                	pop    %r12
14008dc61:	5f                   	pop    %rdi
14008dc62:	5e                   	pop    %rsi
14008dc63:	5b                   	pop    %rbx
14008dc64:	c3                   	ret
14008dc65:	e8 46 a3 ff ff       	call   0x140087fb0
14008dc6a:	cc                   	int3
14008dc6b:	e8 70 39 03 00       	call   0x1400c15e0
14008dc70:	cc                   	int3
14008dc71:	cc                   	int3
14008dc72:	cc                   	int3
14008dc73:	cc                   	int3
14008dc74:	cc                   	int3
14008dc75:	cc                   	int3
14008dc76:	cc                   	int3
14008dc77:	cc                   	int3
14008dc78:	cc                   	int3
14008dc79:	cc                   	int3
14008dc7a:	cc                   	int3
14008dc7b:	cc                   	int3
14008dc7c:	cc                   	int3
14008dc7d:	cc                   	int3
14008dc7e:	cc                   	int3
14008dc7f:	cc                   	int3
14008dc80:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
14008dc85:	53                   	push   %rbx
14008dc86:	56                   	push   %rsi
14008dc87:	57                   	push   %rdi
14008dc88:	41 54                	push   %r12
14008dc8a:	41 55                	push   %r13
14008dc8c:	41 56                	push   %r14
14008dc8e:	41 57                	push   %r15
14008dc90:	48 83 ec 20          	sub    $0x20,%rsp
14008dc94:	4d 8b e8             	mov    %r8,%r13
14008dc97:	4c 8b fa             	mov    %rdx,%r15
14008dc9a:	48 8b f9             	mov    %rcx,%rdi
14008dc9d:	4c 8b 09             	mov    (%rcx),%r9
14008dca0:	4c 8b f2             	mov    %rdx,%r14
14008dca3:	4d 2b f1             	sub    %r9,%r14
14008dca6:	49 c1 fe 03          	sar    $0x3,%r14
14008dcaa:	48 8b 41 08          	mov    0x8(%rcx),%rax
14008dcae:	49 2b c1             	sub    %r9,%rax
14008dcb1:	48 c1 f8 03          	sar    $0x3,%rax
14008dcb5:	49 b8 ff ff ff ff ff 	movabs $0x1fffffffffffffff,%r8
14008dcbc:	ff ff 1f
14008dcbf:	49 3b c0             	cmp    %r8,%rax
14008dcc2:	0f 84 42 01 00 00    	je     0x14008de0a
14008dcc8:	4c 8d 60 01          	lea    0x1(%rax),%r12
14008dccc:	48 8b 49 10          	mov    0x10(%rcx),%rcx
14008dcd0:	49 2b c9             	sub    %r9,%rcx
14008dcd3:	48 c1 f9 03          	sar    $0x3,%rcx
14008dcd7:	48 8b d1             	mov    %rcx,%rdx
14008dcda:	48 d1 ea             	shr    $1,%rdx
14008dcdd:	49 8b c0             	mov    %r8,%rax
14008dce0:	48 2b c2             	sub    %rdx,%rax
14008dce3:	48 3b c8             	cmp    %rax,%rcx
14008dce6:	0f 87 18 01 00 00    	ja     0x14008de04
14008dcec:	48 8d 04 0a          	lea    (%rdx,%rcx,1),%rax
14008dcf0:	49 8b cc             	mov    %r12,%rcx
14008dcf3:	49 3b c4             	cmp    %r12,%rax
14008dcf6:	48 0f 43 c8          	cmovae %rax,%rcx
14008dcfa:	49 3b c8             	cmp    %r8,%rcx
14008dcfd:	0f 87 01 01 00 00    	ja     0x14008de04
14008dd03:	48 8d 34 cd 00 00 00 	lea    0x0(,%rcx,8),%rsi
14008dd0a:	00
14008dd0b:	48 89 4c 24 78       	mov    %rcx,0x78(%rsp)
14008dd10:	48 85 f6             	test   %rsi,%rsi
14008dd13:	75 09                	jne    0x14008dd1e
14008dd15:	33 db                	xor    %ebx,%ebx
14008dd17:	48 89 4c 24 78       	mov    %rcx,0x78(%rsp)
14008dd1c:	eb 3d                	jmp    0x14008dd5b
14008dd1e:	48 81 fe 00 10 00 00 	cmp    $0x1000,%rsi
14008dd25:	72 29                	jb     0x14008dd50
14008dd27:	48 8d 4e 27          	lea    0x27(%rsi),%rcx
14008dd2b:	48 3b ce             	cmp    %rsi,%rcx
14008dd2e:	0f 86 d0 00 00 00    	jbe    0x14008de04
14008dd34:	e8 0f c5 26 00       	call   0x1402fa248
14008dd39:	48 85 c0             	test   %rax,%rax
14008dd3c:	0f 84 bb 00 00 00    	je     0x14008ddfd
14008dd42:	48 8d 58 27          	lea    0x27(%rax),%rbx
14008dd46:	48 83 e3 e0          	and    $0xffffffffffffffe0,%rbx
14008dd4a:	48 89 43 f8          	mov    %rax,-0x8(%rbx)
14008dd4e:	eb 0b                	jmp    0x14008dd5b
14008dd50:	48 8b ce             	mov    %rsi,%rcx
14008dd53:	e8 f0 c4 26 00       	call   0x1402fa248
14008dd58:	48 8b d8             	mov    %rax,%rbx
14008dd5b:	48 89 5c 24 68       	mov    %rbx,0x68(%rsp)
14008dd60:	4e 8d 34 f3          	lea    (%rbx,%r14,8),%r14
14008dd64:	49 8b 4d 00          	mov    0x0(%r13),%rcx
14008dd68:	49 89 0e             	mov    %rcx,(%r14)
14008dd6b:	4c 8b 47 08          	mov    0x8(%rdi),%r8
14008dd6f:	48 8b 17             	mov    (%rdi),%rdx
14008dd72:	48 8b cb             	mov    %rbx,%rcx
14008dd75:	4d 3b f8             	cmp    %r8,%r15
14008dd78:	75 05                	jne    0x14008dd7f
14008dd7a:	4c 2b c2             	sub    %rdx,%r8
14008dd7d:	eb 19                	jmp    0x14008dd98
14008dd7f:	4d 8b c7             	mov    %r15,%r8
14008dd82:	4c 2b c2             	sub    %rdx,%r8
14008dd85:	e8 a4 ec 26 00       	call   0x1402fca2e
14008dd8a:	49 8d 4e 08          	lea    0x8(%r14),%rcx
14008dd8e:	4c 8b 47 08          	mov    0x8(%rdi),%r8
14008dd92:	4d 2b c7             	sub    %r15,%r8
14008dd95:	49 8b d7             	mov    %r15,%rdx
14008dd98:	e8 91 ec 26 00       	call   0x1402fca2e
14008dd9d:	90                   	nop
14008dd9e:	48 8b 0f             	mov    (%rdi),%rcx
14008dda1:	48 85 c9             	test   %rcx,%rcx
14008dda4:	74 31                	je     0x14008ddd7
14008dda6:	48 8b 57 10          	mov    0x10(%rdi),%rdx
14008ddaa:	48 2b d1             	sub    %rcx,%rdx
14008ddad:	48 83 e2 f8          	and    $0xfffffffffffffff8,%rdx
14008ddb1:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
14008ddb8:	72 18                	jb     0x14008ddd2
14008ddba:	48 83 c2 27          	add    $0x27,%rdx
14008ddbe:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
14008ddc2:	49 2b c8             	sub    %r8,%rcx
14008ddc5:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
14008ddc9:	48 83 f8 1f          	cmp    $0x1f,%rax
14008ddcd:	77 2e                	ja     0x14008ddfd
14008ddcf:	49 8b c8             	mov    %r8,%rcx
14008ddd2:	e8 ad c4 26 00       	call   0x1402fa284
14008ddd7:	48 89 1f             	mov    %rbx,(%rdi)
14008ddda:	4a 8d 0c e3          	lea    (%rbx,%r12,8),%rcx
14008ddde:	48 89 4f 08          	mov    %rcx,0x8(%rdi)