14011682b:	c7 47 08 01 00 00 00 	movl   $0x1,0x8(%rdi)
140116832:	48 89 5f 10          	mov    %rbx,0x10(%rdi)
140116836:	48 8b 1b             	mov    (%rbx),%rbx
140116839:	80 7b 19 00          	cmpb   $0x0,0x19(%rbx)
14011683d:	74 b5                	je     0x1401167f4
14011683f:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140116844:	48 8b c7             	mov    %rdi,%rax
140116847:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
14011684c:	48 83 c4 20          	add    $0x20,%rsp
140116850:	5f                   	pop    %rdi
140116851:	c3                   	ret
140116852:	90                   	nop
140116853:	90                   	nop
140116854:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140116859:	53                   	push   %rbx
14011685a:	56                   	push   %rsi
14011685b:	57                   	push   %rdi
14011685c:	41 54                	push   %r12
14011685e:	41 55                	push   %r13
140116860:	41 56                	push   %r14
140116862:	41 57                	push   %r15
140116864:	48 83 ec 30          	sub    $0x30,%rsp
140116868:	4c 8b ea             	mov    %rdx,%r13
14011686b:	48 8b f9             	mov    %rcx,%rdi
14011686e:	4c 8b ca             	mov    %rdx,%r9
140116871:	4c 2b 09             	sub    (%rcx),%r9
140116874:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
14011687b:	aa aa 2a
14011687e:	49 f7 e9             	imul   %r9
140116881:	4c 8b f2             	mov    %rdx,%r14
140116884:	49 c1 fe 03          	sar    $0x3,%r14
140116888:	49 8b c6             	mov    %r14,%rax
14011688b:	48 c1 e8 3f          	shr    $0x3f,%rax
14011688f:	4c 03 f0             	add    %rax,%r14
140116892:	48 8b 41 08          	mov    0x8(%rcx),%rax
140116896:	48 2b 01             	sub    (%rcx),%rax
140116899:	48 c1 f8 04          	sar    $0x4,%rax
14011689d:	48 ba ab aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaab,%rdx
1401168a4:	aa aa aa
1401168a7:	48 0f af c2          	imul   %rdx,%rax
1401168ab:	49 b9 55 55 55 55 55 	movabs $0x555555555555555,%r9
1401168b2:	55 55 05
1401168b5:	49 3b c1             	cmp    %r9,%rax
1401168b8:	0f 84 b3 01 00 00    	je     0x140116a71
1401168be:	4c 8d 78 01          	lea    0x1(%rax),%r15
1401168c2:	48 8b 49 10          	mov    0x10(%rcx),%rcx
1401168c6:	48 2b 0f             	sub    (%rdi),%rcx
1401168c9:	48 c1 f9 04          	sar    $0x4,%rcx
1401168cd:	48 0f af ca          	imul   %rdx,%rcx
1401168d1:	48 8b d1             	mov    %rcx,%rdx
1401168d4:	48 d1 ea             	shr    $1,%rdx
1401168d7:	49 8b c1             	mov    %r9,%rax
1401168da:	48 2b c2             	sub    %rdx,%rax
1401168dd:	48 3b c8             	cmp    %rax,%rcx
1401168e0:	76 05                	jbe    0x1401168e7
1401168e2:	49 8b c1             	mov    %r9,%rax
1401168e5:	eb 0b                	jmp    0x1401168f2
1401168e7:	48 8d 04 0a          	lea    (%rdx,%rcx,1),%rax
1401168eb:	49 3b c7             	cmp    %r15,%rax
1401168ee:	49 0f 42 c7          	cmovb  %r15,%rax
1401168f2:	48 89 84 24 88 00 00 	mov    %rax,0x88(%rsp)
1401168f9:	00
1401168fa:	49 3b c1             	cmp    %r9,%rax
1401168fd:	0f 87 74 01 00 00    	ja     0x140116a77
140116903:	48 8d 34 40          	lea    (%rax,%rax,2),%rsi
140116907:	48 c1 e6 04          	shl    $0x4,%rsi
14011690b:	48 85 f6             	test   %rsi,%rsi
14011690e:	75 09                	jne    0x140116919
140116910:	33 db                	xor    %ebx,%ebx
140116912:	48 89 5c 24 70       	mov    %rbx,0x70(%rsp)
140116917:	eb 28                	jmp    0x140116941
140116919:	0f ae e8             	lfence
14011691c:	48 8b ce             	mov    %rsi,%rcx
14011691f:	48 81 fe 00 10 00 00 	cmp    $0x1000,%rsi
140116926:	0f 82 25 01 00 00    	jb     0x140116a51
14011692c:	e8 23 ef ee ff       	call   0x140005854
140116931:	48 8b d8             	mov    %rax,%rbx
140116934:	4c 8b 84 24 80 00 00 	mov    0x80(%rsp),%r8
14011693b:	00
14011693c:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
140116941:	0f ae e8             	lfence
140116944:	4f 8d 34 76          	lea    (%r14,%r14,2),%r14
140116948:	49 c1 e6 04          	shl    $0x4,%r14
14011694c:	4c 03 f3             	add    %rbx,%r14
14011694f:	4d 8d 66 30          	lea    0x30(%r14),%r12
140116953:	4c 89 64 24 20       	mov    %r12,0x20(%rsp)
140116958:	41 8b 00             	mov    (%r8),%eax
14011695b:	41 89 06             	mov    %eax,(%r14)
14011695e:	49 8d 4e 08          	lea    0x8(%r14),%rcx
140116962:	49 8d 50 08          	lea    0x8(%r8),%rdx
140116966:	0f 57 c0             	xorps  %xmm0,%xmm0
140116969:	0f 11 01             	movups %xmm0,(%rcx)
14011696c:	48 83 61 10 00       	andq   $0x0,0x10(%rcx)
140116971:	48 83 61 18 00       	andq   $0x0,0x18(%rcx)
140116976:	4c 8b 42 10          	mov    0x10(%rdx),%r8
14011697a:	48 83 7a 18 07       	cmpq   $0x7,0x18(%rdx)
14011697f:	76 03                	jbe    0x140116984
140116981:	48 8b 12             	mov    (%rdx),%rdx
140116984:	e8 6b 04 ef ff       	call   0x140006df4
140116989:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
140116990:	00
140116991:	0f b7 40 28          	movzwl 0x28(%rax),%eax
140116995:	66 41 89 46 28       	mov    %ax,0x28(%r14)
14011699a:	4c 89 74 24 78       	mov    %r14,0x78(%rsp)
14011699f:	4c 8b c3             	mov    %rbx,%r8
1401169a2:	4c 3b 6f 08          	cmp    0x8(%rdi),%r13
1401169a6:	0f ae e8             	lfence
1401169a9:	48 8b 0f             	mov    (%rdi),%rcx
1401169ac:	74 13                	je     0x1401169c1
1401169ae:	49 8b d5             	mov    %r13,%rdx
1401169b1:	e8 76 01 00 00       	call   0x140116b2c
1401169b6:	48 89 5c 24 78       	mov    %rbx,0x78(%rsp)
1401169bb:	4d 8b c4             	mov    %r12,%r8
1401169be:	49 8b cd             	mov    %r13,%rcx
1401169c1:	48 8b 57 08          	mov    0x8(%rdi),%rdx
1401169c5:	e8 62 01 00 00       	call   0x140116b2c
1401169ca:	48 8b 0f             	mov    (%rdi),%rcx
1401169cd:	48 85 c9             	test   %rcx,%rcx
1401169d0:	74 4f                	je     0x140116a21
1401169d2:	48 8b 57 08          	mov    0x8(%rdi),%rdx
1401169d6:	e8 c5 fb ff ff       	call   0x1401165a0
1401169db:	48 8b 0f             	mov    (%rdi),%rcx
1401169de:	48 8b 47 10          	mov    0x10(%rdi),%rax
1401169e2:	48 2b c1             	sub    %rcx,%rax
1401169e5:	48 c1 f8 04          	sar    $0x4,%rax
1401169e9:	48 ba ab aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaab,%rdx
1401169f0:	aa aa aa
1401169f3:	48 0f af c2          	imul   %rdx,%rax
1401169f7:	48 8d 04 40          	lea    (%rax,%rax,2),%rax
1401169fb:	48 c1 e0 04          	shl    $0x4,%rax
1401169ff:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
140116a05:	72 14                	jb     0x140116a1b
140116a07:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
140116a0b:	48 2b ca             	sub    %rdx,%rcx
140116a0e:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140116a12:	48 83 f8 1f          	cmp    $0x1f,%rax
140116a16:	77 52                	ja     0x140116a6a
140116a18:	48 8b ca             	mov    %rdx,%rcx
140116a1b:	ff 15 1f c1 0f 00    	call   *0xfc11f(%rip)        # 0x140212b40
140116a21:	0f ae e8             	lfence
140116a24:	48 89 1f             	mov    %rbx,(%rdi)
140116a27:	4b 8d 0c 7f          	lea    (%r15,%r15,2),%rcx
140116a2b:	48 c1 e1 04          	shl    $0x4,%rcx
140116a2f:	48 03 cb             	add    %rbx,%rcx
140116a32:	48 89 4f 08          	mov    %rcx,0x8(%rdi)
140116a36:	48 8d 0c 33          	lea    (%rbx,%rsi,1),%rcx
140116a3a:	48 89 4f 10          	mov    %rcx,0x10(%rdi)
140116a3e:	49 8b c6             	mov    %r14,%rax
140116a41:	48 83 c4 30          	add    $0x30,%rsp
140116a45:	41 5f                	pop    %r15
140116a47:	41 5e                	pop    %r14
140116a49:	41 5d                	pop    %r13
140116a4b:	41 5c                	pop    %r12
140116a4d:	5f                   	pop    %rdi
140116a4e:	5e                   	pop    %rsi
140116a4f:	5b                   	pop    %rbx
140116a50:	c3                   	ret
140116a51:	ff 15 f9 c0 0f 00    	call   *0xfc0f9(%rip)        # 0x140212b50
140116a57:	48 8b d8             	mov    %rax,%rbx
140116a5a:	48 85 c0             	test   %rax,%rax
140116a5d:	0f 85 d1 fe ff ff    	jne    0x140116934
140116a63:	ff 15 c7 c0 0f 00    	call   *0xfc0c7(%rip)        # 0x140212b30
140116a69:	cc                   	int3
140116a6a:	ff 15 10 c1 0f 00    	call   *0xfc110(%rip)        # 0x140212b80
140116a70:	cc                   	int3
140116a71:	e8 2a dc ee ff       	call   0x1400046a0
140116a76:	cc                   	int3
140116a77:	e8 f0 ee ee ff       	call   0x14000596c
140116a7c:	cc                   	int3
140116a7d:	90                   	nop
140116a7e:	90                   	nop
140116a7f:	90                   	nop
140116a80:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140116a85:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140116a8a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140116a8f:	57                   	push   %rdi
140116a90:	48 83 ec 20          	sub    $0x20,%rsp
140116a94:	41 80 78 19 00       	cmpb   $0x0,0x19(%r8)
140116a99:	49 8b d8             	mov    %r8,%rbx
140116a9c:	48 8b f2             	mov    %rdx,%rsi
140116a9f:	48 8b e9             	mov    %rcx,%rbp
140116aa2:	75 69                	jne    0x140116b0d
140116aa4:	4c 8b 43 10          	mov    0x10(%rbx),%r8
140116aa8:	48 8b d6             	mov    %rsi,%rdx
140116aab:	48 8b cd             	mov    %rbp,%rcx
140116aae:	e8 cd ff ff ff       	call   0x140116a80
140116ab3:	48 8b fb             	mov    %rbx,%rdi
140116ab6:	48 8b 1b             	mov    (%rbx),%rbx
140116ab9:	48 8b 4f 30          	mov    0x30(%rdi),%rcx
140116abd:	48 85 c9             	test   %rcx,%rcx
140116ac0:	74 3c                	je     0x140116afe
140116ac2:	48 8b 47 40          	mov    0x40(%rdi),%rax
140116ac6:	48 2b c1             	sub    %rcx,%rax
140116ac9:	48 83 e0 f0          	and    $0xfffffffffffffff0,%rax
140116acd:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
140116ad3:	72 14                	jb     0x140116ae9
140116ad5:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
140116ad9:	48 2b ca             	sub    %rdx,%rcx
140116adc:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140116ae0:	48 83 f8 1f          	cmp    $0x1f,%rax
140116ae4:	77 3c                	ja     0x140116b22
140116ae6:	48 8b ca             	mov    %rdx,%rcx
140116ae9:	ff 15 51 c0 0f 00    	call   *0xfc051(%rip)        # 0x140212b40
140116aef:	48 83 67 30 00       	andq   $0x0,0x30(%rdi)
140116af4:	48 83 67 38 00       	andq   $0x0,0x38(%rdi)
140116af9:	48 83 67 40 00       	andq   $0x0,0x40(%rdi)
140116afe:	48 8b cf             	mov    %rdi,%rcx
140116b01:	ff 15 39 c0 0f 00    	call   *0xfc039(%rip)        # 0x140212b40
140116b07:	80 7b 19 00          	cmpb   $0x0,0x19(%rbx)
140116b0b:	74 97                	je     0x140116aa4
140116b0d:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140116b12:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140116b17:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140116b1c:	48 83 c4 20          	add    $0x20,%rsp
140116b20:	5f                   	pop    %rdi
140116b21:	c3                   	ret
140116b22:	ff 15 58 c0 0f 00    	call   *0xfc058(%rip)        # 0x140212b80
140116b28:	cc                   	int3
140116b29:	90                   	nop
140116b2a:	90                   	nop
140116b2b:	90                   	nop
140116b2c:	48 8b c4             	mov    %rsp,%rax
140116b2f:	48 89 58 08          	mov    %rbx,0x8(%rax)
140116b33:	48 89 68 10          	mov    %rbp,0x10(%rax)
140116b37:	48 89 70 18          	mov    %rsi,0x18(%rax)
140116b3b:	48 89 78 20          	mov    %rdi,0x20(%rax)
140116b3f:	41 56                	push   %r14
140116b41:	48 83 ec 20          	sub    $0x20,%rsp
140116b45:	49 8b d8             	mov    %r8,%rbx
140116b48:	4c 8b f2             	mov    %rdx,%r14
140116b4b:	48 3b ca             	cmp    %rdx,%rcx
140116b4e:	74 56                	je     0x140116ba6
140116b50:	48 8d 79 08          	lea    0x8(%rcx),%rdi
140116b54:	48 8b f3             	mov    %rbx,%rsi
140116b57:	48 2b f1             	sub    %rcx,%rsi
140116b5a:	8b 47 f8             	mov    -0x8(%rdi),%eax
140116b5d:	89 03                	mov    %eax,(%rbx)
140116b5f:	48 8d 2c 3e          	lea    (%rsi,%rdi,1),%rbp
140116b63:	0f 57 c0             	xorps  %xmm0,%xmm0
140116b66:	0f 11 45 00          	movups %xmm0,0x0(%rbp)
140116b6a:	48 83 65 10 00       	andq   $0x0,0x10(%rbp)
140116b6f:	48 83 65 18 00       	andq   $0x0,0x18(%rbp)
140116b74:	48 8b d7             	mov    %rdi,%rdx
140116b77:	48 83 7f 18 07       	cmpq   $0x7,0x18(%rdi)
140116b7c:	76 03                	jbe    0x140116b81
140116b7e:	48 8b 17             	mov    (%rdi),%rdx
140116b81:	4c 8b 47 10          	mov    0x10(%rdi),%r8
140116b85:	48 8b cd             	mov    %rbp,%rcx
140116b88:	e8 67 02 ef ff       	call   0x140006df4
140116b8d:	0f b7 4f 20          	movzwl 0x20(%rdi),%ecx
140116b91:	66 89 4d 20          	mov    %cx,0x20(%rbp)
140116b95:	48 83 c3 30          	add    $0x30,%rbx
140116b99:	48 83 c7 30          	add    $0x30,%rdi
140116b9d:	48 8d 4f f8          	lea    -0x8(%rdi),%rcx
140116ba1:	49 3b ce             	cmp    %r14,%rcx
140116ba4:	75 b4                	jne    0x140116b5a
140116ba6:	48 8b d3             	mov    %rbx,%rdx
140116ba9:	48 8b cb             	mov    %rbx,%rcx
140116bac:	e8 ef f9 ff ff       	call   0x1401165a0
140116bb1:	48 8b c3             	mov    %rbx,%rax
140116bb4:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140116bb9:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140116bbe:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140116bc3:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
140116bc8:	48 83 c4 20          	add    $0x20,%rsp
140116bcc:	41 5e                	pop    %r14
140116bce:	c3                   	ret
140116bcf:	90                   	nop
140116bd0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140116bd5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140116bda:	57                   	push   %rdi
140116bdb:	48 83 ec 20          	sub    $0x20,%rsp
140116bdf:	48 8d 79 40          	lea    0x40(%rcx),%rdi
140116be3:	48 8b f1             	mov    %rcx,%rsi
140116be6:	48 8b 07             	mov    (%rdi),%rax
140116be9:	48 8b 58 08          	mov    0x8(%rax),%rbx
140116bed:	eb 1b                	jmp    0x140116c0a
140116bef:	4c 8b 43 10          	mov    0x10(%rbx),%r8
140116bf3:	48 8b d7             	mov    %rdi,%rdx
140116bf6:	48 8b cf             	mov    %rdi,%rcx
140116bf9:	e8 7e 4d ef ff       	call   0x14000b97c
140116bfe:	48 8b cb             	mov    %rbx,%rcx
140116c01:	48 8b 1b             	mov    (%rbx),%rbx
140116c04:	ff 15 36 bf 0f 00    	call   *0xfbf36(%rip)        # 0x140212b40
140116c0a:	80 7b 19 00          	cmpb   $0x0,0x19(%rbx)
140116c0e:	74 df                	je     0x140116bef
140116c10:	48 8b 0f             	mov    (%rdi),%rcx
140116c13:	ff 15 27 bf 0f 00    	call   *0xfbf27(%rip)        # 0x140212b40
140116c19:	48 8d 4e 18          	lea    0x18(%rsi),%rcx
140116c1d:	e8 fa f3 ff ff       	call   0x14011601c
140116c22:	48 8d 5e 08          	lea    0x8(%rsi),%rbx
140116c26:	4c 8b 03             	mov    (%rbx),%r8
140116c29:	48 8b d3             	mov    %rbx,%rdx
140116c2c:	48 8b cb             	mov    %rbx,%rcx
140116c2f:	4d 8b 40 08          	mov    0x8(%r8),%r8
140116c33:	e8 48 fe ff ff       	call   0x140116a80
140116c38:	48 8b 0b             	mov    (%rbx),%rcx
140116c3b:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140116c40:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140116c45:	48 83 c4 20          	add    $0x20,%rsp
140116c49:	5f                   	pop    %rdi
140116c4a:	48 ff 25 ef be 0f 00 	rex.W jmp *0xfbeef(%rip)        # 0x140212b40
140116c51:	cc                   	int3
140116c52:	90                   	nop
140116c53:	90                   	nop
140116c54:	90                   	nop
140116c55:	90                   	nop
140116c56:	90                   	nop
140116c57:	90                   	nop
140116c58:	90                   	nop
140116c59:	90                   	nop
140116c5a:	90                   	nop
140116c5b:	90                   	nop
140116c5c:	90                   	nop
140116c5d:	90                   	nop
140116c5e:	90                   	nop
140116c5f:	90                   	nop
140116c60:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140116c65:	57                   	push   %rdi
140116c66:	48 83 ec 20          	sub    $0x20,%rsp
140116c6a:	48 8b d9             	mov    %rcx,%rbx
140116c6d:	8b fa                	mov    %edx,%edi
140116c6f:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140116c73:	48 85 c9             	test   %rcx,%rcx
140116c76:	74 3c                	je     0x140116cb4
140116c78:	48 8b 43 18          	mov    0x18(%rbx),%rax
140116c7c:	48 2b c1             	sub    %rcx,%rax
140116c7f:	48 83 e0 f8          	and    $0xfffffffffffffff8,%rax
140116c83:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
140116c89:	72 14                	jb     0x140116c9f
140116c8b:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
140116c8f:	48 2b ca             	sub    %rdx,%rcx
140116c92:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140116c96:	48 83 f8 1f          	cmp    $0x1f,%rax
140116c9a:	77 3a                	ja     0x140116cd6
140116c9c:	48 8b ca             	mov    %rdx,%rcx
140116c9f:	ff 15 9b be 0f 00    	call   *0xfbe9b(%rip)        # 0x140212b40
140116ca5:	48 83 63 08 00       	andq   $0x0,0x8(%rbx)
140116caa:	48 83 63 10 00       	andq   $0x0,0x10(%rbx)
140116caf:	48 83 63 18 00       	andq   $0x0,0x18(%rbx)
140116cb4:	40 f6 c7 01          	test   $0x1,%dil
140116cb8:	74 0e                	je     0x140116cc8
140116cba:	48 85 db             	test   %rbx,%rbx
140116cbd:	74 09                	je     0x140116cc8
140116cbf:	48 8b cb             	mov    %rbx,%rcx
140116cc2:	ff 15 78 be 0f 00    	call   *0xfbe78(%rip)        # 0x140212b40
140116cc8:	48 8b c3             	mov    %rbx,%rax
140116ccb:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140116cd0:	48 83 c4 20          	add    $0x20,%rsp
140116cd4:	5f                   	pop    %rdi