1405515ea:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
1405515ee:	49 2b c8             	sub    %r8,%rcx
1405515f1:	49 8b c5             	mov    %r13,%rax
1405515f4:	48 f7 e9             	imul   %rcx
1405515f7:	48 c1 fa 03          	sar    $0x3,%rdx
1405515fb:	48 8b c2             	mov    %rdx,%rax
1405515fe:	48 c1 e8 3f          	shr    $0x3f,%rax
140551602:	48 03 d0             	add    %rax,%rdx
140551605:	4c 3b fa             	cmp    %rdx,%r15
140551608:	72 a7                	jb     0x1405515b1
14055160a:	4c 8d 6b 20          	lea    0x20(%rbx),%r13
14055160e:	4c 8b 7d 40          	mov    0x40(%rbp),%r15
140551612:	eb 21                	jmp    0x140551635
140551614:	48 8b 7d e8          	mov    -0x18(%rbp),%rdi
140551618:	4c 8b 7d 40          	mov    0x40(%rbp),%r15
14055161c:	eb 17                	jmp    0x140551635
14055161e:	4c 89 6d 50          	mov    %r13,0x50(%rbp)
140551622:	4c 8d 45 50          	lea    0x50(%rbp),%r8
140551626:	33 d2                	xor    %edx,%edx
140551628:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
14055162c:	e8 8f 3e e7 ff       	call   0x1403c54c0
140551631:	48 8b 7d e8          	mov    -0x18(%rbp),%rdi
140551635:	4c 8b 75 e0          	mov    -0x20(%rbp),%r14
140551639:	49 2b fe             	sub    %r14,%rdi
14055163c:	48 c1 ff 03          	sar    $0x3,%rdi
140551640:	49 8b 44 24 50       	mov    0x50(%r12),%rax
140551645:	49 2b 44 24 48       	sub    0x48(%r12),%rax
14055164a:	48 c1 f8 03          	sar    $0x3,%rax
14055164e:	48 3b c7             	cmp    %rdi,%rax
140551651:	0f 85 ed 00 00 00    	jne    0x140551744
140551657:	33 f6                	xor    %esi,%esi
140551659:	48 85 ff             	test   %rdi,%rdi
14055165c:	74 24                	je     0x140551682
14055165e:	66 90                	xchg   %ax,%ax
140551660:	49 8b 44 24 48       	mov    0x48(%r12),%rax
140551665:	48 8b 14 f0          	mov    (%rax,%rsi,8),%rdx
140551669:	49 8b 0c f6          	mov    (%r14,%rsi,8),%rcx
14055166d:	e8 de 33 00 00       	call   0x140554a50
140551672:	84 c0                	test   %al,%al
140551674:	0f 84 ca 00 00 00    	je     0x140551744
14055167a:	48 ff c6             	inc    %rsi
14055167d:	48 3b f7             	cmp    %rdi,%rsi
140551680:	72 de                	jb     0x140551660
140551682:	49 8b 07             	mov    (%r15),%rax
140551685:	49 8b cf             	mov    %r15,%rcx
140551688:	48 8b 40 40          	mov    0x40(%rax),%rax
14055168c:	ff 15 8e 23 a3 00    	call   *0xa3238e(%rip)        # 0x140f83a20
140551692:	49 8d 4d 30          	lea    0x30(%r13),%rcx
140551696:	48 8b 10             	mov    (%rax),%rdx
140551699:	e8 b2 33 00 00       	call   0x140554a50
14055169e:	84 c0                	test   %al,%al
1405516a0:	0f 84 9e 00 00 00    	je     0x140551744
1405516a6:	4d 85 f6             	test   %r14,%r14
1405516a9:	74 38                	je     0x1405516e3
1405516ab:	48 8b 55 f0          	mov    -0x10(%rbp),%rdx
1405516af:	49 2b d6             	sub    %r14,%rdx
1405516b2:	48 83 e2 f8          	and    $0xfffffffffffffff8,%rdx
1405516b6:	49 8b c6             	mov    %r14,%rax
1405516b9:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1405516c0:	72 19                	jb     0x1405516db
1405516c2:	48 83 c2 27          	add    $0x27,%rdx
1405516c6:	4d 8b 76 f8          	mov    -0x8(%r14),%r14
1405516ca:	49 2b c6             	sub    %r14,%rax
1405516cd:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
1405516d1:	48 83 f8 1f          	cmp    $0x1f,%rax
1405516d5:	0f 87 c0 00 00 00    	ja     0x14055179b
1405516db:	49 8b ce             	mov    %r14,%rcx
1405516de:	e8 61 9a 8c 00       	call   0x140e1b144
1405516e3:	48 8b 43 10          	mov    0x10(%rbx),%rax
1405516e7:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
1405516eb:	74 25                	je     0x140551712
1405516ed:	48 8b 43 08          	mov    0x8(%rbx),%rax
1405516f1:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
1405516f5:	75 13                	jne    0x14055170a
1405516f7:	48 3b 58 10          	cmp    0x10(%rax),%rbx
1405516fb:	75 0d                	jne    0x14055170a
1405516fd:	48 8b d8             	mov    %rax,%rbx
140551700:	48 8b 40 08          	mov    0x8(%rax),%rax
140551704:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
140551708:	74 ed                	je     0x1405516f7
14055170a:	48 8b d8             	mov    %rax,%rbx
14055170d:	e9 b4 fc ff ff       	jmp    0x1405513c6
140551712:	48 8b d8             	mov    %rax,%rbx
140551715:	48 8b 08             	mov    (%rax),%rcx
140551718:	80 79 19 00          	cmpb   $0x0,0x19(%rcx)
14055171c:	0f 85 a4 fc ff ff    	jne    0x1405513c6
140551722:	0f 1f 40 00          	nopl   0x0(%rax)
140551726:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
14055172d:	00 00 00
140551730:	48 8b d9             	mov    %rcx,%rbx
140551733:	48 8b 01             	mov    (%rcx),%rax
140551736:	48 8b c8             	mov    %rax,%rcx
140551739:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
14055173d:	74 f1                	je     0x140551730
14055173f:	e9 82 fc ff ff       	jmp    0x1405513c6
140551744:	4d 85 f6             	test   %r14,%r14
140551747:	74 34                	je     0x14055177d
140551749:	48 8b 55 f0          	mov    -0x10(%rbp),%rdx
14055174d:	49 2b d6             	sub    %r14,%rdx
140551750:	48 83 e2 f8          	and    $0xfffffffffffffff8,%rdx
140551754:	49 8b c6             	mov    %r14,%rax
140551757:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
14055175e:	72 15                	jb     0x140551775
140551760:	48 83 c2 27          	add    $0x27,%rdx
140551764:	4d 8b 76 f8          	mov    -0x8(%r14),%r14
140551768:	49 2b c6             	sub    %r14,%rax
14055176b:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
14055176f:	48 83 f8 1f          	cmp    $0x1f,%rax
140551773:	77 26                	ja     0x14055179b
140551775:	49 8b ce             	mov    %r14,%rcx
140551778:	e8 c7 99 8c 00       	call   0x140e1b144
14055177d:	32 c0                	xor    %al,%al
14055177f:	48 8b 9c 24 88 00 00 	mov    0x88(%rsp),%rbx
140551786:	00
140551787:	48 83 c4 40          	add    $0x40,%rsp
14055178b:	41 5f                	pop    %r15
14055178d:	41 5e                	pop    %r14
14055178f:	41 5d                	pop    %r13
140551791:	41 5c                	pop    %r12
140551793:	5f                   	pop    %rdi
140551794:	5e                   	pop    %rsi
140551795:	5d                   	pop    %rbp
140551796:	c3                   	ret
140551797:	b0 01                	mov    $0x1,%al
140551799:	eb e4                	jmp    0x14055177f
14055179b:	e8 04 8a 8d 00       	call   0x140e2a1a4
1405517a0:	90                   	nop
1405517a1:	e8 ea bd c4 ff       	call   0x14019d590
1405517a6:	90                   	nop
1405517a7:	cc                   	int3
1405517a8:	cc                   	int3
1405517a9:	cc                   	int3
1405517aa:	cc                   	int3
1405517ab:	cc                   	int3
1405517ac:	cc                   	int3
1405517ad:	cc                   	int3
1405517ae:	cc                   	int3
1405517af:	cc                   	int3
1405517b0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1405517b5:	55                   	push   %rbp
1405517b6:	56                   	push   %rsi
1405517b7:	57                   	push   %rdi
1405517b8:	41 54                	push   %r12
1405517ba:	41 55                	push   %r13
1405517bc:	41 56                	push   %r14
1405517be:	41 57                	push   %r15
1405517c0:	48 8b ec             	mov    %rsp,%rbp
1405517c3:	48 83 ec 40          	sub    $0x40,%rsp
1405517c7:	48 8b fa             	mov    %rdx,%rdi
1405517ca:	48 8b d9             	mov    %rcx,%rbx
1405517cd:	48 8b 09             	mov    (%rcx),%rcx
1405517d0:	83 79 18 0e          	cmpl   $0xe,0x18(%rcx)
1405517d4:	0f 85 a3 03 00 00    	jne    0x140551b7d
1405517da:	48 8b 01             	mov    (%rcx),%rax
1405517dd:	48 8b 40 40          	mov    0x40(%rax),%rax
1405517e1:	ff 15 39 22 a3 00    	call   *0xa32239(%rip)        # 0x140f83a20
1405517e7:	48 83 38 00          	cmpq   $0x0,(%rax)
1405517eb:	0f 85 8c 03 00 00    	jne    0x140551b7d
1405517f1:	48 8b 0b             	mov    (%rbx),%rcx
1405517f4:	e8 f7 8d 1f 00       	call   0x14074a5f0
1405517f9:	4c 8b e8             	mov    %rax,%r13
1405517fc:	48 89 45 40          	mov    %rax,0x40(%rbp)
140551800:	48 8b 1f             	mov    (%rdi),%rbx
140551803:	48 8b 1b             	mov    (%rbx),%rbx
140551806:	80 7b 19 00          	cmpb   $0x0,0x19(%rbx)
14055180a:	0f 85 87 03 00 00    	jne    0x140551b97
140551810:	49 b9 ff ff ff ff ff 	movabs $0x1fffffffffffffff,%r9
140551817:	ff ff 1f
14055181a:	48 bf ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rdi
140551821:	aa aa 2a
140551824:	4c 8d 43 20          	lea    0x20(%rbx),%r8
140551828:	4d 8b 65 40          	mov    0x40(%r13),%r12
14055182c:	4d 85 c0             	test   %r8,%r8
14055182f:	74 0c                	je     0x14055183d
140551831:	41 80 78 28 0e       	cmpb   $0xe,0x28(%r8)
140551836:	75 05                	jne    0x14055183d
140551838:	49 8b f0             	mov    %r8,%rsi
14055183b:	eb 02                	jmp    0x14055183f
14055183d:	33 f6                	xor    %esi,%esi
14055183f:	0f 57 c0             	xorps  %xmm0,%xmm0
140551842:	f3 0f 7f 45 e0       	movdqu %xmm0,-0x20(%rbp)
140551847:	48 c7 45 f0 00 00 00 	movq   $0x0,-0x10(%rbp)
14055184e:	00
14055184f:	48 85 f6             	test   %rsi,%rsi
140551852:	0f 84 f8 01 00 00    	je     0x140551a50
140551858:	49 8b 4c 24 48       	mov    0x48(%r12),%rcx
14055185d:	49 8b 44 24 50       	mov    0x50(%r12),%rax
140551862:	48 2b c1             	sub    %rcx,%rax
140551865:	48 83 e0 f8          	and    $0xfffffffffffffff8,%rax
140551869:	48 83 f8 08          	cmp    $0x8,%rax
14055186d:	0f 85 0f 01 00 00    	jne    0x140551982
140551873:	48 8b 09             	mov    (%rcx),%rcx
140551876:	8b 51 18             	mov    0x18(%rcx),%edx
140551879:	2b d0                	sub    %eax,%edx
14055187b:	0f 84 cf 01 00 00    	je     0x140551a50
140551881:	83 ea 07             	sub    $0x7,%edx
140551884:	0f 84 c6 01 00 00    	je     0x140551a50
14055188a:	83 ea 02             	sub    $0x2,%edx
14055188d:	0f 84 bd 01 00 00    	je     0x140551a50
140551893:	83 ea 02             	sub    $0x2,%edx
140551896:	0f 84 b4 01 00 00    	je     0x140551a50
14055189c:	83 fa 01             	cmp    $0x1,%edx
14055189f:	0f 84 ab 01 00 00    	je     0x140551a50
1405518a5:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
1405518a9:	48 2b 0e             	sub    (%rsi),%rcx
1405518ac:	48 8b c7             	mov    %rdi,%rax
1405518af:	48 f7 e9             	imul   %rcx
1405518b2:	48 c1 fa 03          	sar    $0x3,%rdx
1405518b6:	48 8b c2             	mov    %rdx,%rax
1405518b9:	48 c1 e8 3f          	shr    $0x3f,%rax
1405518bd:	48 03 d0             	add    %rax,%rdx
1405518c0:	48 89 55 50          	mov    %rdx,0x50(%rbp)
1405518c4:	74 16                	je     0x1405518dc
1405518c6:	49 3b d1             	cmp    %r9,%rdx
1405518c9:	0f 87 d2 02 00 00    	ja     0x140551ba1
1405518cf:	48 8d 55 50          	lea    0x50(%rbp),%rdx
1405518d3:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
1405518d7:	e8 44 3d e7 ff       	call   0x1403c5620
1405518dc:	45 33 ff             	xor    %r15d,%r15d
1405518df:	4c 8b 06             	mov    (%rsi),%r8
1405518e2:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
1405518e6:	49 2b c8             	sub    %r8,%rcx
1405518e9:	48 8b c7             	mov    %rdi,%rax
1405518ec:	48 f7 e9             	imul   %rcx
1405518ef:	48 c1 fa 03          	sar    $0x3,%rdx
1405518f3:	48 8b c2             	mov    %rdx,%rax
1405518f6:	48 c1 e8 3f          	shr    $0x3f,%rax
1405518fa:	48 03 d0             	add    %rax,%rdx
1405518fd:	0f 84 60 01 00 00    	je     0x140551a63
140551903:	45 33 f6             	xor    %r14d,%r14d
140551906:	48 8b 7d e8          	mov    -0x18(%rbp),%rdi
14055190a:	49 bd ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%r13
140551911:	aa aa 2a
140551914:	0f 1f 40 00          	nopl   0x0(%rax)
140551918:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14055191f:	00
140551920:	4b 8d 04 06          	lea    (%r14,%r8,1),%rax
140551924:	48 89 45 50          	mov    %rax,0x50(%rbp)
140551928:	48 3b 7d f0          	cmp    -0x10(%rbp),%rdi
14055192c:	74 0d                	je     0x14055193b
14055192e:	48 89 07             	mov    %rax,(%rdi)
140551931:	48 83 c7 08          	add    $0x8,%rdi
140551935:	48 89 7d e8          	mov    %rdi,-0x18(%rbp)
140551939:	eb 14                	jmp    0x14055194f
14055193b:	4c 8d 45 50          	lea    0x50(%rbp),%r8
14055193f:	48 8b d7             	mov    %rdi,%rdx
140551942:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
140551946:	e8 75 3b e7 ff       	call   0x1403c54c0
14055194b:	48 8b 7d e8          	mov    -0x18(%rbp),%rdi
14055194f:	49 ff c7             	inc    %r15
140551952:	49 83 c6 30          	add    $0x30,%r14
140551956:	4c 8b 06             	mov    (%rsi),%r8
140551959:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
14055195d:	49 2b c8             	sub    %r8,%rcx
140551960:	49 8b c5             	mov    %r13,%rax
140551963:	48 f7 e9             	imul   %rcx
140551966:	48 c1 fa 03          	sar    $0x3,%rdx
14055196a:	48 8b c2             	mov    %rdx,%rax
14055196d:	48 c1 e8 3f          	shr    $0x3f,%rax
140551971:	48 03 d0             	add    %rax,%rdx
140551974:	4c 3b fa             	cmp    %rdx,%r15
140551977:	72 a7                	jb     0x140551920
140551979:	4c 8b 6d 40          	mov    0x40(%rbp),%r13
14055197d:	e9 e5 00 00 00       	jmp    0x140551a67
140551982:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
140551986:	48 2b 0e             	sub    (%rsi),%rcx
140551989:	48 8b c7             	mov    %rdi,%rax
14055198c:	48 f7 e9             	imul   %rcx
14055198f:	48 c1 fa 03          	sar    $0x3,%rdx
140551993:	48 8b c2             	mov    %rdx,%rax
140551996:	48 c1 e8 3f          	shr    $0x3f,%rax
14055199a:	48 03 d0             	add    %rax,%rdx
14055199d:	48 89 55 50          	mov    %rdx,0x50(%rbp)
1405519a1:	74 16                	je     0x1405519b9
1405519a3:	49 3b d1             	cmp    %r9,%rdx
1405519a6:	0f 87 f5 01 00 00    	ja     0x140551ba1
1405519ac:	48 8d 55 50          	lea    0x50(%rbp),%rdx
1405519b0:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
1405519b4:	e8 67 3c e7 ff       	call   0x1403c5620
1405519b9:	45 33 ff             	xor    %r15d,%r15d
1405519bc:	4c 8b 06             	mov    (%rsi),%r8
1405519bf:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
1405519c3:	49 2b c8             	sub    %r8,%rcx
1405519c6:	48 8b c7             	mov    %rdi,%rax
1405519c9:	48 f7 e9             	imul   %rcx
1405519cc:	48 c1 fa 03          	sar    $0x3,%rdx
1405519d0:	48 8b c2             	mov    %rdx,%rax
1405519d3:	48 c1 e8 3f          	shr    $0x3f,%rax
1405519d7:	48 03 d0             	add    %rax,%rdx
1405519da:	0f 84 83 00 00 00    	je     0x140551a63
1405519e0:	45 33 f6             	xor    %r14d,%r14d
1405519e3:	48 8b 7d e8          	mov    -0x18(%rbp),%rdi
1405519e7:	49 bd ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%r13
1405519ee:	aa aa 2a
1405519f1:	4b 8d 04 06          	lea    (%r14,%r8,1),%rax
1405519f5:	48 89 45 50          	mov    %rax,0x50(%rbp)
1405519f9:	48 3b 7d f0          	cmp    -0x10(%rbp),%rdi
1405519fd:	74 0d                	je     0x140551a0c
1405519ff:	48 89 07             	mov    %rax,(%rdi)
140551a02:	48 83 c7 08          	add    $0x8,%rdi
140551a06:	48 89 7d e8          	mov    %rdi,-0x18(%rbp)
140551a0a:	eb 14                	jmp    0x140551a20
140551a0c:	4c 8d 45 50          	lea    0x50(%rbp),%r8
140551a10:	48 8b d7             	mov    %rdi,%rdx
140551a13:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
140551a17:	e8 a4 3a e7 ff       	call   0x1403c54c0
140551a1c:	48 8b 7d e8          	mov    -0x18(%rbp),%rdi
140551a20:	49 ff c7             	inc    %r15
140551a23:	49 83 c6 30          	add    $0x30,%r14
140551a27:	4c 8b 06             	mov    (%rsi),%r8
140551a2a:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
140551a2e:	49 2b c8             	sub    %r8,%rcx
140551a31:	49 8b c5             	mov    %r13,%rax
140551a34:	48 f7 e9             	imul   %rcx
140551a37:	48 c1 fa 03          	sar    $0x3,%rdx
140551a3b:	48 8b c2             	mov    %rdx,%rax
140551a3e:	48 c1 e8 3f          	shr    $0x3f,%rax
140551a42:	48 03 d0             	add    %rax,%rdx
140551a45:	4c 3b fa             	cmp    %rdx,%r15
140551a48:	72 a7                	jb     0x1405519f1
140551a4a:	4c 8b 6d 40          	mov    0x40(%rbp),%r13
140551a4e:	eb 17                	jmp    0x140551a67
140551a50:	4c 89 45 50          	mov    %r8,0x50(%rbp)
140551a54:	4c 8d 45 50          	lea    0x50(%rbp),%r8
140551a58:	33 d2                	xor    %edx,%edx
140551a5a:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
140551a5e:	e8 5d 3a e7 ff       	call   0x1403c54c0
140551a63:	48 8b 7d e8          	mov    -0x18(%rbp),%rdi
140551a67:	4c 8b 75 e0          	mov    -0x20(%rbp),%r14
140551a6b:	49 2b fe             	sub    %r14,%rdi
140551a6e:	48 c1 ff 03          	sar    $0x3,%rdi
140551a72:	49 8b 44 24 50       	mov    0x50(%r12),%rax
140551a77:	49 2b 44 24 48       	sub    0x48(%r12),%rax
140551a7c:	48 c1 f8 03          	sar    $0x3,%rax
140551a80:	48 3b c7             	cmp    %rdi,%rax
140551a83:	0f 85 bb 00 00 00    	jne    0x140551b44
140551a89:	33 f6                	xor    %esi,%esi
140551a8b:	48 85 ff             	test   %rdi,%rdi
140551a8e:	74 22                	je     0x140551ab2
140551a90:	49 8b 44 24 48       	mov    0x48(%r12),%rax
140551a95:	48 8b 14 f0          	mov    (%rax,%rsi,8),%rdx
140551a99:	49 8b 0c f6          	mov    (%r14,%rsi,8),%rcx
140551a9d:	e8 ae 2f 00 00       	call   0x140554a50
140551aa2:	84 c0                	test   %al,%al
140551aa4:	0f 84 9a 00 00 00    	je     0x140551b44
140551aaa:	48 ff c6             	inc    %rsi
140551aad:	48 3b f7             	cmp    %rdi,%rsi
140551ab0:	72 de                	jb     0x140551a90
140551ab2:	4d 85 f6             	test   %r14,%r14
140551ab5:	74 38                	je     0x140551aef