140e54653:	4c 8d 47 01          	lea    0x1(%rdi),%r8
140e54657:	48 8b d6             	mov    %rsi,%rdx
140e5465a:	48 8d 0c 33          	lea    (%rbx,%rsi,1),%rcx
140e5465e:	e8 ad a9 08 00       	call   0x140edf010
140e54663:	4c 8b c3             	mov    %rbx,%r8
140e54666:	ba 30 00 00 00       	mov    $0x30,%edx
140e5466b:	48 8b ce             	mov    %rsi,%rcx
140e5466e:	e8 3d b0 08 00       	call   0x140edf6b0
140e54673:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140e54678:	33 c0                	xor    %eax,%eax
140e5467a:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140e5467f:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140e54684:	48 83 c4 20          	add    $0x20,%rsp
140e54688:	41 5f                	pop    %r15
140e5468a:	41 5e                	pop    %r14
140e5468c:	5f                   	pop    %rdi
140e5468d:	c3                   	ret
140e5468e:	cc                   	int3
140e5468f:	cc                   	int3
140e54690:	4c 8b dc             	mov    %rsp,%r11
140e54693:	49 89 5b 08          	mov    %rbx,0x8(%r11)
140e54697:	49 89 6b 10          	mov    %rbp,0x10(%r11)
140e5469b:	49 89 7b 18          	mov    %rdi,0x18(%r11)
140e5469f:	4d 89 73 20          	mov    %r14,0x20(%r11)
140e546a3:	41 57                	push   %r15
140e546a5:	48 83 ec 50          	sub    $0x50,%rsp
140e546a9:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
140e546b0:	00
140e546b1:	49 8b e8             	mov    %r8,%rbp
140e546b4:	48 8b 09             	mov    (%rcx),%rcx
140e546b7:	48 8b fa             	mov    %rdx,%rdi
140e546ba:	8b 94 24 88 00 00 00 	mov    0x88(%rsp),%edx
140e546c1:	0f 57 c0             	xorps  %xmm0,%xmm0
140e546c4:	49 89 43 d0          	mov    %rax,-0x30(%r11)
140e546c8:	45 33 c0             	xor    %r8d,%r8d
140e546cb:	4d 89 4b c8          	mov    %r9,-0x38(%r11)
140e546cf:	4d 8d 4b e8          	lea    -0x18(%r11),%r9
140e546d3:	0f 11 44 24 40       	movups %xmm0,0x40(%rsp)
140e546d8:	e8 8b bf 00 00       	call   0x140e60668
140e546dd:	44 8b 7c 24 44       	mov    0x44(%rsp),%r15d
140e546e2:	45 33 c0             	xor    %r8d,%r8d
140e546e5:	83 7c 24 40 2d       	cmpl   $0x2d,0x40(%rsp)
140e546ea:	44 8b c8             	mov    %eax,%r9d
140e546ed:	8b 84 24 a0 00 00 00 	mov    0xa0(%rsp),%eax
140e546f4:	48 8b d5             	mov    %rbp,%rdx
140e546f7:	4c 8b b4 24 a8 00 00 	mov    0xa8(%rsp),%r14
140e546fe:	00
140e546ff:	41 0f 94 c0          	sete   %r8b
140e54703:	49 2b d0             	sub    %r8,%rdx
140e54706:	4c 89 74 24 30       	mov    %r14,0x30(%rsp)
140e5470b:	89 44 24 28          	mov    %eax,0x28(%rsp)
140e5470f:	41 ff cf             	dec    %r15d
140e54712:	44 89 4c 24 20       	mov    %r9d,0x20(%rsp)
140e54717:	48 83 fd ff          	cmp    $0xffffffffffffffff,%rbp
140e5471b:	49 8d 1c 38          	lea    (%r8,%rdi,1),%rbx
140e5471f:	44 8b 84 24 88 00 00 	mov    0x88(%rsp),%r8d
140e54726:	00
140e54727:	48 0f 44 d5          	cmove  %rbp,%rdx
140e5472b:	4c 8d 4c 24 40       	lea    0x40(%rsp),%r9
140e54730:	48 8b cb             	mov    %rbx,%rcx
140e54733:	e8 20 be 00 00       	call   0x140e60558
140e54738:	85 c0                	test   %eax,%eax
140e5473a:	74 08                	je     0x140e54744
140e5473c:	c6 07 00             	movb   $0x0,(%rdi)
140e5473f:	e9 83 00 00 00       	jmp    0x140e547c7
140e54744:	8b 44 24 44          	mov    0x44(%rsp),%eax
140e54748:	ff c8                	dec    %eax
140e5474a:	83 f8 fc             	cmp    $0xfffffffc,%eax
140e5474d:	7c 3e                	jl     0x140e5478d
140e5474f:	3b 84 24 88 00 00 00 	cmp    0x88(%rsp),%eax
140e54756:	7d 35                	jge    0x140e5478d
140e54758:	44 3b f8             	cmp    %eax,%r15d
140e5475b:	7d 0c                	jge    0x140e54769
140e5475d:	8a 03                	mov    (%rbx),%al
140e5475f:	48 ff c3             	inc    %rbx
140e54762:	84 c0                	test   %al,%al
140e54764:	75 f7                	jne    0x140e5475d
140e54766:	88 43 fe             	mov    %al,-0x2(%rbx)
140e54769:	44 8b 84 24 88 00 00 	mov    0x88(%rsp),%r8d
140e54770:	00
140e54771:	4c 8d 4c 24 40       	lea    0x40(%rsp),%r9
140e54776:	4c 89 74 24 28       	mov    %r14,0x28(%rsp)
140e5477b:	48 8b d5             	mov    %rbp,%rdx
140e5477e:	48 8b cf             	mov    %rdi,%rcx
140e54781:	c6 44 24 20 01       	movb   $0x1,0x20(%rsp)
140e54786:	e8 ad fd ff ff       	call   0x140e54538
140e5478b:	eb 3a                	jmp    0x140e547c7
140e5478d:	44 8a 8c 24 90 00 00 	mov    0x90(%rsp),%r9b
140e54794:	00
140e54795:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
140e5479a:	44 8b 84 24 88 00 00 	mov    0x88(%rsp),%r8d
140e547a1:	00
140e547a2:	48 8b d5             	mov    %rbp,%rdx
140e547a5:	4c 89 74 24 38       	mov    %r14,0x38(%rsp)
140e547aa:	48 8b cf             	mov    %rdi,%rcx
140e547ad:	c6 44 24 30 01       	movb   $0x1,0x30(%rsp)
140e547b2:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140e547b7:	8b 84 24 98 00 00 00 	mov    0x98(%rsp),%eax
140e547be:	89 44 24 20          	mov    %eax,0x20(%rsp)
140e547c2:	e8 b5 fa ff ff       	call   0x140e5427c
140e547c7:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140e547cc:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140e547d1:	48 8b 7c 24 70       	mov    0x70(%rsp),%rdi
140e547d6:	4c 8b 74 24 78       	mov    0x78(%rsp),%r14
140e547db:	48 83 c4 50          	add    $0x50,%rsp
140e547df:	41 5f                	pop    %r15
140e547e1:	c3                   	ret
140e547e2:	cc                   	int3
140e547e3:	cc                   	int3
140e547e4:	48 8b c4             	mov    %rsp,%rax
140e547e7:	48 89 58 08          	mov    %rbx,0x8(%rax)
140e547eb:	48 89 68 10          	mov    %rbp,0x10(%rax)
140e547ef:	48 89 70 18          	mov    %rsi,0x18(%rax)
140e547f3:	48 89 78 20          	mov    %rdi,0x20(%rax)
140e547f7:	41 54                	push   %r12
140e547f9:	41 56                	push   %r14
140e547fb:	41 57                	push   %r15
140e547fd:	48 83 ec 20          	sub    $0x20,%rsp
140e54801:	48 8b 19             	mov    (%rcx),%rbx
140e54804:	49 bc ff ff ff ff ff 	movabs $0xfffffffffffff,%r12
140e5480b:	ff 0f 00
140e5480e:	48 23 da             	and    %rdx,%rbx
140e54811:	45 0f bf f0          	movswl %r8w,%r14d
140e54815:	49 23 dc             	and    %r12,%rbx
140e54818:	48 8b f9             	mov    %rcx,%rdi
140e5481b:	41 8b ce             	mov    %r14d,%ecx
140e5481e:	45 33 ff             	xor    %r15d,%r15d
140e54821:	48 d3 eb             	shr    %cl,%rbx
140e54824:	48 8b ea             	mov    %rdx,%rbp
140e54827:	45 85 c9             	test   %r9d,%r9d
140e5482a:	75 0c                	jne    0x140e54838
140e5482c:	66 83 fb 08          	cmp    $0x8,%bx
140e54830:	0f 93 c0             	setae  %al
140e54833:	e9 a3 00 00 00       	jmp    0x140e548db
140e54838:	e8 cb 3a 00 00       	call   0x140e58308
140e5483d:	85 c0                	test   %eax,%eax
140e5483f:	75 72                	jne    0x140e548b3
140e54841:	4c 8b 07             	mov    (%rdi),%r8
140e54844:	41 8b ce             	mov    %r14d,%ecx
140e54847:	49 8b c0             	mov    %r8,%rax
140e5484a:	48 23 c5             	and    %rbp,%rax
140e5484d:	49 23 c4             	and    %r12,%rax
140e54850:	48 d3 e8             	shr    %cl,%rax
140e54853:	66 83 f8 08          	cmp    $0x8,%ax
140e54857:	76 07                	jbe    0x140e54860
140e54859:	ba 01 00 00 00       	mov    $0x1,%edx
140e5485e:	eb 4f                	jmp    0x140e548af
140e54860:	73 05                	jae    0x140e54867
140e54862:	41 8a d7             	mov    %r15b,%dl
140e54865:	eb 48                	jmp    0x140e548af
140e54867:	ba 01 00 00 00       	mov    $0x1,%edx
140e5486c:	8b c2                	mov    %edx,%eax
140e5486e:	48 d3 e0             	shl    %cl,%rax
140e54871:	48 2b c2             	sub    %rdx,%rax
140e54874:	49 23 c0             	and    %r8,%rax
140e54877:	49 85 c4             	test   %rax,%r12
140e5487a:	75 33                	jne    0x140e548af
140e5487c:	41 83 fe 30          	cmp    $0x30,%r14d
140e54880:	74 19                	je     0x140e5489b
140e54882:	49 c1 e8 04          	shr    $0x4,%r8
140e54886:	48 b8 ff ff ff ff ff 	movabs $0xffffffffffff,%rax
140e5488d:	ff 00 00
140e54890:	4c 23 c5             	and    %rbp,%r8
140e54893:	4c 23 c0             	and    %rax,%r8
140e54896:	49 d3 e8             	shr    %cl,%r8
140e54899:	eb 11                	jmp    0x140e548ac
140e5489b:	48 b8 00 00 00 00 00 	movabs $0x7ff0000000000000,%rax
140e548a2:	00 f0 7f
140e548a5:	4c 85 c0             	test   %r8,%rax
140e548a8:	41 0f 95 c0          	setne  %r8b
140e548ac:	41 22 d0             	and    %r8b,%dl
140e548af:	8a c2                	mov    %dl,%al
140e548b1:	eb 28                	jmp    0x140e548db
140e548b3:	3d 00 02 00 00       	cmp    $0x200,%eax
140e548b8:	75 0c                	jne    0x140e548c6
140e548ba:	66 85 db             	test   %bx,%bx
140e548bd:	74 a3                	je     0x140e54862
140e548bf:	4c 39 3f             	cmp    %r15,(%rdi)
140e548c2:	7c 9e                	jl     0x140e54862
140e548c4:	eb 93                	jmp    0x140e54859
140e548c6:	3d 00 01 00 00       	cmp    $0x100,%eax
140e548cb:	75 0c                	jne    0x140e548d9
140e548cd:	66 85 db             	test   %bx,%bx
140e548d0:	74 90                	je     0x140e54862
140e548d2:	4c 39 3f             	cmp    %r15,(%rdi)
140e548d5:	7d 8b                	jge    0x140e54862
140e548d7:	eb 80                	jmp    0x140e54859
140e548d9:	32 c0                	xor    %al,%al
140e548db:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140e548e0:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140e548e5:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140e548ea:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
140e548ef:	48 83 c4 20          	add    $0x20,%rsp
140e548f3:	41 5f                	pop    %r15
140e548f5:	41 5e                	pop    %r14
140e548f7:	41 5c                	pop    %r12
140e548f9:	c3                   	ret
140e548fa:	cc                   	int3
140e548fb:	cc                   	int3
140e548fc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140e54901:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140e54906:	57                   	push   %rdi
140e54907:	48 83 ec 50          	sub    $0x50,%rsp
140e5490b:	4d 8b d8             	mov    %r8,%r11
140e5490e:	4c 8b d2             	mov    %rdx,%r10
140e54911:	48 8b f9             	mov    %rcx,%rdi
140e54914:	48 85 d2             	test   %rdx,%rdx
140e54917:	75 33                	jne    0x140e5494c
140e54919:	48 8b 8c 24 a8 00 00 	mov    0xa8(%rsp),%rcx
140e54920:	00
140e54921:	8d 5a 16             	lea    0x16(%rdx),%ebx
140e54924:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
140e54929:	c6 41 30 01          	movb   $0x1,0x30(%rcx)
140e5492d:	89 59 2c             	mov    %ebx,0x2c(%rcx)
140e54930:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
140e54936:	45 33 c9             	xor    %r9d,%r9d
140e54939:	45 33 c0             	xor    %r8d,%r8d
140e5493c:	33 d2                	xor    %edx,%edx
140e5493e:	33 c9                	xor    %ecx,%ecx
140e54940:	e8 73 57 fd ff       	call   0x140e2a0b8
140e54945:	8b c3                	mov    %ebx,%eax
140e54947:	e9 6f 02 00 00       	jmp    0x140e54bbb
140e5494c:	4d 85 db             	test   %r11,%r11
140e5494f:	75 1b                	jne    0x140e5496c
140e54951:	48 8b 84 24 a8 00 00 	mov    0xa8(%rsp),%rax
140e54958:	00
140e54959:	bb 16 00 00 00       	mov    $0x16,%ebx
140e5495e:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140e54963:	c6 40 30 01          	movb   $0x1,0x30(%rax)
140e54967:	89 58 2c             	mov    %ebx,0x2c(%rax)
140e5496a:	eb c4                	jmp    0x140e54930
140e5496c:	4d 85 c9             	test   %r9,%r9
140e5496f:	74 e0                	je     0x140e54951
140e54971:	4c 8b 84 24 80 00 00 	mov    0x80(%rsp),%r8
140e54978:	00
140e54979:	4d 85 c0             	test   %r8,%r8
140e5497c:	74 d3                	je     0x140e54951
140e5497e:	8b 8c 24 88 00 00 00 	mov    0x88(%rsp),%ecx
140e54985:	83 f9 41             	cmp    $0x41,%ecx
140e54988:	74 0d                	je     0x140e54997
140e5498a:	8d 41 bb             	lea    -0x45(%rcx),%eax
140e5498d:	83 f8 02             	cmp    $0x2,%eax
140e54990:	76 05                	jbe    0x140e54997
140e54992:	40 32 f6             	xor    %sil,%sil
140e54995:	eb 03                	jmp    0x140e5499a
140e54997:	40 b6 01             	mov    $0x1,%sil
140e5499a:	48 8b 9c 24 98 00 00 	mov    0x98(%rsp),%rbx
140e549a1:	00
140e549a2:	f6 c3 08             	test   $0x8,%bl
140e549a5:	0f 85 e6 00 00 00    	jne    0x140e54a91
140e549ab:	48 8b 17             	mov    (%rdi),%rdx
140e549ae:	48 8b c2             	mov    %rdx,%rax
140e549b1:	48 c1 e8 34          	shr    $0x34,%rax
140e549b5:	25 ff 07 00 00       	and    $0x7ff,%eax
140e549ba:	48 3d ff 07 00 00    	cmp    $0x7ff,%rax
140e549c0:	0f 85 cb 00 00 00    	jne    0x140e54a91
140e549c6:	48 b9 ff ff ff ff ff 	movabs $0xfffffffffffff,%rcx
140e549cd:	ff 0f 00
140e549d0:	48 8b c2             	mov    %rdx,%rax
140e549d3:	41 b8 0c 00 00 00    	mov    $0xc,%r8d
140e549d9:	48 23 c1             	and    %rcx,%rax
140e549dc:	75 04                	jne    0x140e549e2
140e549de:	33 c9                	xor    %ecx,%ecx
140e549e0:	eb 2d                	jmp    0x140e54a0f
140e549e2:	48 b9 00 00 00 00 00 	movabs $0x8000000000000,%rcx
140e549e9:	00 08 00
140e549ec:	48 85 d2             	test   %rdx,%rdx
140e549ef:	79 0a                	jns    0x140e549fb
140e549f1:	48 3b c1             	cmp    %rcx,%rax
140e549f4:	75 05                	jne    0x140e549fb
140e549f6:	49 8b c8             	mov    %r8,%rcx
140e549f9:	eb 14                	jmp    0x140e54a0f
140e549fb:	48 8b c2             	mov    %rdx,%rax
140e549fe:	48 23 c1             	and    %rcx,%rax
140e54a01:	48 f7 d8             	neg    %rax
140e54a04:	48 1b c9             	sbb    %rcx,%rcx
140e54a07:	48 83 e1 fc          	and    $0xfffffffffffffffc,%rcx
140e54a0b:	48 83 c1 08          	add    $0x8,%rcx
140e54a0f:	48 c1 ea 3f          	shr    $0x3f,%rdx
140e54a13:	48 8d 42 04          	lea    0x4(%rdx),%rax
140e54a17:	4c 3b d8             	cmp    %rax,%r11
140e54a1a:	73 06                	jae    0x140e54a22
140e54a1c:	41 c6 02 00          	movb   $0x0,(%r10)
140e54a20:	eb 67                	jmp    0x140e54a89
140e54a22:	49 83 c8 ff          	or     $0xffffffffffffffff,%r8
140e54a26:	84 d2                	test   %dl,%dl
140e54a28:	74 13                	je     0x140e54a3d
140e54a2a:	41 c6 02 2d          	movb   $0x2d,(%r10)
140e54a2e:	49 ff c2             	inc    %r10
140e54a31:	41 c6 02 00          	movb   $0x0,(%r10)
140e54a35:	4d 3b d8             	cmp    %r8,%r11
140e54a38:	74 03                	je     0x140e54a3d
140e54a3a:	49 ff cb             	dec    %r11
140e54a3d:	40 0f b6 d6          	movzbl %sil,%edx
140e54a41:	48 8d 1d 78 1d 39 00 	lea    0x391d78(%rip),%rbx        # 0x1411e67c0
140e54a48:	83 f2 01             	xor    $0x1,%edx
140e54a4b:	03 d2                	add    %edx,%edx
140e54a4d:	8b c2                	mov    %edx,%eax
140e54a4f:	48 03 c1             	add    %rcx,%rax
140e54a52:	4c 8b 0c c3          	mov    (%rbx,%rax,8),%r9
140e54a56:	49 ff c0             	inc    %r8
140e54a59:	43 80 3c 01 00       	cmpb   $0x0,(%r9,%r8,1)
140e54a5e:	75 f6                	jne    0x140e54a56
140e54a60:	33 c0                	xor    %eax,%eax
140e54a62:	4d 3b d8             	cmp    %r8,%r11
140e54a65:	0f 96 c0             	setbe  %al
140e54a68:	44 8d 04 02          	lea    (%rdx,%rax,1),%r8d
140e54a6c:	49 8b d3             	mov    %r11,%rdx
140e54a6f:	4c 03 c1             	add    %rcx,%r8
140e54a72:	49 8b ca             	mov    %r10,%rcx
140e54a75:	4e 8b 04 c3          	mov    (%rbx,%r8,8),%r8
140e54a79:	e8 86 29 ff ff       	call   0x140e47404
140e54a7e:	85 c0                	test   %eax,%eax
140e54a80:	0f 85 45 01 00 00    	jne    0x140e54bcb
140e54a86:	45 33 c0             	xor    %r8d,%r8d
140e54a89:	41 8b c0             	mov    %r8d,%eax
140e54a8c:	e9 2a 01 00 00       	jmp    0x140e54bbb
140e54a91:	48 8b d3             	mov    %rbx,%rdx
140e54a94:	80 e3 20             	and    $0x20,%bl
140e54a97:	48 c1 ea 04          	shr    $0x4,%rdx
140e54a9b:	83 e2 01             	and    $0x1,%edx
140e54a9e:	83 ca 02             	or     $0x2,%edx
140e54aa1:	f6 db                	neg    %bl
140e54aa3:	1b db                	sbb    %ebx,%ebx
140e54aa5:	23 9c 24 a0 00 00 00 	and    0xa0(%rsp),%ebx
140e54aac:	83 e9 41             	sub    $0x41,%ecx
140e54aaf:	0f 84 ce 00 00 00    	je     0x140e54b83
140e54ab5:	83 e9 04             	sub    $0x4,%ecx
140e54ab8:	0f 84 8b 00 00 00    	je     0x140e54b49
140e54abe:	83 e9 01             	sub    $0x1,%ecx
140e54ac1:	74 55                	je     0x140e54b18
140e54ac3:	83 e9 01             	sub    $0x1,%ecx
140e54ac6:	74 13                	je     0x140e54adb
140e54ac8:	83 e9 1a             	sub    $0x1a,%ecx
140e54acb:	0f 84 b2 00 00 00    	je     0x140e54b83
140e54ad1:	83 e9 04             	sub    $0x4,%ecx
140e54ad4:	74 73                	je     0x140e54b49
140e54ad6:	83 f9 01             	cmp    $0x1,%ecx
140e54ad9:	74 3d                	je     0x140e54b18
140e54adb:	48 8b 84 24 a8 00 00 	mov    0xa8(%rsp),%rax
140e54ae2:	00
140e54ae3:	48 8b cf             	mov    %rdi,%rcx
140e54ae6:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
140e54aeb:	8b 84 24 90 00 00 00 	mov    0x90(%rsp),%eax
140e54af2:	89 5c 24 40          	mov    %ebx,0x40(%rsp)
140e54af6:	89 54 24 38          	mov    %edx,0x38(%rsp)
140e54afa:	49 8b d2             	mov    %r10,%rdx
140e54afd:	40 88 74 24 30       	mov    %sil,0x30(%rsp)
140e54b02:	89 44 24 28          	mov    %eax,0x28(%rsp)
140e54b06:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)