140a997e4:	33 c0                	xor    %eax,%eax
140a997e6:	4d 85 c0             	test   %r8,%r8
140a997e9:	74 17                	je     0x140a99802
140a997eb:	4c 8b 49 18          	mov    0x18(%rcx),%r9
140a997ef:	49 8b c9             	mov    %r9,%rcx
140a997f2:	38 11                	cmp    %dl,(%rcx)
140a997f4:	74 0f                	je     0x140a99805
140a997f6:	48 ff c0             	inc    %rax
140a997f9:	48 83 c1 10          	add    $0x10,%rcx
140a997fd:	49 3b c0             	cmp    %r8,%rax
140a99800:	72 f0                	jb     0x140a997f2
140a99802:	33 c0                	xor    %eax,%eax
140a99804:	c3                   	ret
140a99805:	48 03 c0             	add    %rax,%rax
140a99808:	49 8b 44 c1 08       	mov    0x8(%r9,%rax,8),%rax
140a9980d:	c3                   	ret
140a9980e:	cc                   	int3
140a9980f:	cc                   	int3
140a99810:	44 8b 41 28          	mov    0x28(%rcx),%r8d
140a99814:	45 33 c9             	xor    %r9d,%r9d
140a99817:	41 83 e8 01          	sub    $0x1,%r8d
140a9981b:	78 36                	js     0x140a99853
140a9981d:	4c 8b 59 18          	mov    0x18(%rcx),%r11
140a99821:	0f 1f 40 00          	nopl   0x0(%rax)
140a99825:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
140a9982c:	00 00 00 00
140a99830:	43 8d 04 08          	lea    (%r8,%r9,1),%eax
140a99834:	d1 f8                	sar    $1,%eax
140a99836:	4c 63 d0             	movslq %eax,%r10
140a99839:	4d 03 d2             	add    %r10,%r10
140a9983c:	43 3a 14 d3          	cmp    (%r11,%r10,8),%dl
140a99840:	7e 06                	jle    0x140a99848
140a99842:	44 8d 48 01          	lea    0x1(%rax),%r9d
140a99846:	eb 06                	jmp    0x140a9984e
140a99848:	7d 0c                	jge    0x140a99856
140a9984a:	44 8d 40 ff          	lea    -0x1(%rax),%r8d
140a9984e:	45 3b c8             	cmp    %r8d,%r9d
140a99851:	7e dd                	jle    0x140a99830
140a99853:	33 c0                	xor    %eax,%eax
140a99855:	c3                   	ret
140a99856:	4b 8b 44 d3 08       	mov    0x8(%r11,%r10,8),%rax
140a9985b:	c3                   	ret
140a9985c:	cc                   	int3
140a9985d:	cc                   	int3
140a9985e:	cc                   	int3
140a9985f:	cc                   	int3
140a99860:	40 53                	rex push %rbx
140a99862:	48 83 ec 20          	sub    $0x20,%rsp
140a99866:	48 8b d9             	mov    %rcx,%rbx
140a99869:	48 8b 49 30          	mov    0x30(%rcx),%rcx
140a9986d:	e8 1e 78 39 00       	call   0x140e31090
140a99872:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
140a99876:	48 83 c4 20          	add    $0x20,%rsp
140a9987a:	5b                   	pop    %rbx
140a9987b:	e9 10 78 39 00       	jmp    0x140e31090
140a99880:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140a99885:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140a9988a:	57                   	push   %rdi
140a9988b:	48 83 ec 20          	sub    $0x20,%rsp
140a9988f:	48 8b d9             	mov    %rcx,%rbx
140a99892:	b9 08 00 00 00       	mov    $0x8,%ecx
140a99897:	e8 90 8e 39 00       	call   0x140e3272c
140a9989c:	48 85 db             	test   %rbx,%rbx
140a9989f:	bf 00 60 00 00       	mov    $0x6000,%edi
140a998a4:	b9 20 00 00 00       	mov    $0x20,%ecx
140a998a9:	48 8b f0             	mov    %rax,%rsi
140a998ac:	48 0f 45 fb          	cmovne %rbx,%rdi
140a998b0:	e8 77 8e 39 00       	call   0x140e3272c
140a998b5:	48 8b cf             	mov    %rdi,%rcx
140a998b8:	48 8b d8             	mov    %rax,%rbx
140a998bb:	e8 6c 8e 39 00       	call   0x140e3272c
140a998c0:	48 89 43 10          	mov    %rax,0x10(%rbx)
140a998c4:	48 89 43 08          	mov    %rax,0x8(%rbx)
140a998c8:	48 8b c6             	mov    %rsi,%rax
140a998cb:	48 89 3b             	mov    %rdi,(%rbx)
140a998ce:	48 c7 43 18 00 00 00 	movq   $0x0,0x18(%rbx)
140a998d5:	00
140a998d6:	48 89 1e             	mov    %rbx,(%rsi)
140a998d9:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140a998de:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140a998e3:	48 83 c4 20          	add    $0x20,%rsp
140a998e7:	5f                   	pop    %rdi
140a998e8:	c3                   	ret
140a998e9:	cc                   	int3
140a998ea:	cc                   	int3
140a998eb:	cc                   	int3
140a998ec:	cc                   	int3
140a998ed:	cc                   	int3
140a998ee:	cc                   	int3
140a998ef:	cc                   	int3
140a998f0:	48 85 c9             	test   %rcx,%rcx
140a998f3:	74 4f                	je     0x140a99944
140a998f5:	56                   	push   %rsi
140a998f6:	48 83 ec 20          	sub    $0x20,%rsp
140a998fa:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
140a998ff:	48 8b f1             	mov    %rcx,%rsi
140a99902:	48 8b 19             	mov    (%rcx),%rbx
140a99905:	48 85 db             	test   %rbx,%rbx
140a99908:	74 28                	je     0x140a99932
140a9990a:	48 89 7c 24 38       	mov    %rdi,0x38(%rsp)
140a9990f:	90                   	nop
140a99910:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140a99914:	48 8b 7b 18          	mov    0x18(%rbx),%rdi
140a99918:	e8 73 77 39 00       	call   0x140e31090
140a9991d:	48 8b cb             	mov    %rbx,%rcx
140a99920:	e8 6b 77 39 00       	call   0x140e31090
140a99925:	48 8b df             	mov    %rdi,%rbx
140a99928:	48 85 ff             	test   %rdi,%rdi
140a9992b:	75 e3                	jne    0x140a99910
140a9992d:	48 8b 7c 24 38       	mov    0x38(%rsp),%rdi
140a99932:	48 8b ce             	mov    %rsi,%rcx
140a99935:	e8 56 77 39 00       	call   0x140e31090
140a9993a:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140a9993f:	48 83 c4 20          	add    $0x20,%rsp
140a99943:	5e                   	pop    %rsi
140a99944:	c3                   	ret
140a99945:	cc                   	int3
140a99946:	cc                   	int3
140a99947:	cc                   	int3
140a99948:	cc                   	int3
140a99949:	cc                   	int3
140a9994a:	cc                   	int3
140a9994b:	cc                   	int3
140a9994c:	cc                   	int3
140a9994d:	cc                   	int3
140a9994e:	cc                   	int3
140a9994f:	cc                   	int3
140a99950:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140a99955:	57                   	push   %rdi
140a99956:	48 83 ec 20          	sub    $0x20,%rsp
140a9995a:	48 8b f9             	mov    %rcx,%rdi
140a9995d:	48 85 c9             	test   %rcx,%rcx
140a99960:	74 62                	je     0x140a999c4
140a99962:	48 8b 19             	mov    (%rcx),%rbx
140a99965:	48 85 db             	test   %rbx,%rbx
140a99968:	74 5a                	je     0x140a999c4
140a9996a:	48 85 d2             	test   %rdx,%rdx
140a9996d:	74 55                	je     0x140a999c4
140a9996f:	48 8b 43 08          	mov    0x8(%rbx),%rax
140a99973:	48 2b 43 10          	sub    0x10(%rbx),%rax
140a99977:	48 89 74 24 30       	mov    %rsi,0x30(%rsp)
140a9997c:	48 8d 72 0f          	lea    0xf(%rdx),%rsi
140a99980:	48 8b 13             	mov    (%rbx),%rdx
140a99983:	48 83 e6 f0          	and    $0xfffffffffffffff0,%rsi
140a99987:	48 03 c2             	add    %rdx,%rax
140a9998a:	48 3b c6             	cmp    %rsi,%rax
140a9998d:	73 19                	jae    0x140a999a8
140a9998f:	48 3b f2             	cmp    %rdx,%rsi
140a99992:	48 8b ce             	mov    %rsi,%rcx
140a99995:	48 0f 46 ca          	cmovbe %rdx,%rcx
140a99999:	e8 42 00 00 00       	call   0x140a999e0
140a9999e:	48 89 58 18          	mov    %rbx,0x18(%rax)
140a999a2:	48 8b d8             	mov    %rax,%rbx
140a999a5:	48 89 07             	mov    %rax,(%rdi)
140a999a8:	48 8b 43 10          	mov    0x10(%rbx),%rax
140a999ac:	48 8d 0c 30          	lea    (%rax,%rsi,1),%rcx
140a999b0:	48 8b 74 24 30       	mov    0x30(%rsp),%rsi
140a999b5:	48 89 4b 10          	mov    %rcx,0x10(%rbx)
140a999b9:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140a999be:	48 83 c4 20          	add    $0x20,%rsp
140a999c2:	5f                   	pop    %rdi
140a999c3:	c3                   	ret
140a999c4:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140a999c9:	33 c0                	xor    %eax,%eax
140a999cb:	48 83 c4 20          	add    $0x20,%rsp
140a999cf:	5f                   	pop    %rdi
140a999d0:	c3                   	ret
140a999d1:	cc                   	int3
140a999d2:	cc                   	int3
140a999d3:	cc                   	int3
140a999d4:	cc                   	int3
140a999d5:	cc                   	int3
140a999d6:	cc                   	int3
140a999d7:	cc                   	int3
140a999d8:	cc                   	int3
140a999d9:	cc                   	int3
140a999da:	cc                   	int3
140a999db:	cc                   	int3
140a999dc:	cc                   	int3
140a999dd:	cc                   	int3
140a999de:	cc                   	int3
140a999df:	cc                   	int3
140a999e0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140a999e5:	57                   	push   %rdi
140a999e6:	48 83 ec 20          	sub    $0x20,%rsp
140a999ea:	48 85 c9             	test   %rcx,%rcx
140a999ed:	bf 00 60 00 00       	mov    $0x6000,%edi
140a999f2:	48 0f 45 f9          	cmovne %rcx,%rdi
140a999f6:	b9 20 00 00 00       	mov    $0x20,%ecx
140a999fb:	e8 2c 8d 39 00       	call   0x140e3272c
140a99a00:	48 8b cf             	mov    %rdi,%rcx
140a99a03:	48 8b d8             	mov    %rax,%rbx
140a99a06:	e8 21 8d 39 00       	call   0x140e3272c
140a99a0b:	48 89 43 10          	mov    %rax,0x10(%rbx)
140a99a0f:	48 89 43 08          	mov    %rax,0x8(%rbx)
140a99a13:	48 8b c3             	mov    %rbx,%rax
140a99a16:	48 89 3b             	mov    %rdi,(%rbx)
140a99a19:	48 c7 43 18 00 00 00 	movq   $0x0,0x18(%rbx)
140a99a20:	00
140a99a21:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140a99a26:	48 83 c4 20          	add    $0x20,%rsp
140a99a2a:	5f                   	pop    %rdi
140a99a2b:	c3                   	ret
140a99a2c:	cc                   	int3
140a99a2d:	cc                   	int3
140a99a2e:	cc                   	int3
140a99a2f:	cc                   	int3
140a99a30:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140a99a35:	57                   	push   %rdi
140a99a36:	48 83 ec 20          	sub    $0x20,%rsp
140a99a3a:	48 8b f2             	mov    %rdx,%rsi
140a99a3d:	48 8b f9             	mov    %rcx,%rdi
140a99a40:	48 85 d2             	test   %rdx,%rdx
140a99a43:	75 0d                	jne    0x140a99a52
140a99a45:	33 c0                	xor    %eax,%eax
140a99a47:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
140a99a4c:	48 83 c4 20          	add    $0x20,%rsp
140a99a50:	5f                   	pop    %rdi
140a99a51:	c3                   	ret
140a99a52:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
140a99a57:	48 c7 c3 ff ff ff ff 	mov    $0xffffffffffffffff,%rbx
140a99a5e:	48 89 6c 24 38       	mov    %rbp,0x38(%rsp)
140a99a63:	48 ff c3             	inc    %rbx
140a99a66:	80 3c 1a 00          	cmpb   $0x0,(%rdx,%rbx,1)
140a99a6a:	75 f7                	jne    0x140a99a63
140a99a6c:	4c 89 74 24 40       	mov    %r14,0x40(%rsp)
140a99a71:	48 8d 6b 01          	lea    0x1(%rbx),%rbp
140a99a75:	48 85 ff             	test   %rdi,%rdi
140a99a78:	74 66                	je     0x140a99ae0
140a99a7a:	4c 8b 31             	mov    (%rcx),%r14
140a99a7d:	4d 85 f6             	test   %r14,%r14
140a99a80:	74 5e                	je     0x140a99ae0
140a99a82:	48 85 ed             	test   %rbp,%rbp
140a99a85:	74 59                	je     0x140a99ae0
140a99a87:	49 8b 46 08          	mov    0x8(%r14),%rax
140a99a8b:	48 83 c5 0f          	add    $0xf,%rbp
140a99a8f:	49 2b 46 10          	sub    0x10(%r14),%rax
140a99a93:	48 83 e5 f0          	and    $0xfffffffffffffff0,%rbp
140a99a97:	49 8b 16             	mov    (%r14),%rdx
140a99a9a:	48 03 c2             	add    %rdx,%rax
140a99a9d:	48 3b c5             	cmp    %rbp,%rax
140a99aa0:	73 19                	jae    0x140a99abb
140a99aa2:	48 3b ea             	cmp    %rdx,%rbp
140a99aa5:	48 8b cd             	mov    %rbp,%rcx
140a99aa8:	48 0f 46 ca          	cmovbe %rdx,%rcx
140a99aac:	e8 2f ff ff ff       	call   0x140a999e0
140a99ab1:	4c 89 70 18          	mov    %r14,0x18(%rax)
140a99ab5:	4c 8b f0             	mov    %rax,%r14
140a99ab8:	48 89 07             	mov    %rax,(%rdi)
140a99abb:	49 8b 7e 10          	mov    0x10(%r14),%rdi
140a99abf:	48 8d 04 2f          	lea    (%rdi,%rbp,1),%rax
140a99ac3:	49 89 46 10          	mov    %rax,0x10(%r14)
140a99ac7:	48 85 ff             	test   %rdi,%rdi
140a99aca:	74 16                	je     0x140a99ae2
140a99acc:	4c 8b c3             	mov    %rbx,%r8
140a99acf:	48 8b d6             	mov    %rsi,%rdx
140a99ad2:	48 8b cf             	mov    %rdi,%rcx
140a99ad5:	e8 36 55 44 00       	call   0x140edf010
140a99ada:	c6 04 1f 00          	movb   $0x0,(%rdi,%rbx,1)
140a99ade:	eb 02                	jmp    0x140a99ae2
140a99ae0:	33 ff                	xor    %edi,%edi
140a99ae2:	4c 8b 74 24 40       	mov    0x40(%rsp),%r14
140a99ae7:	48 8b c7             	mov    %rdi,%rax
140a99aea:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140a99aef:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140a99af4:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
140a99af9:	48 83 c4 20          	add    $0x20,%rsp
140a99afd:	5f                   	pop    %rdi
140a99afe:	c3                   	ret
140a99aff:	cc                   	int3
140a99b00:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140a99b05:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140a99b0a:	41 56                	push   %r14
140a99b0c:	48 83 ec 20          	sub    $0x20,%rsp
140a99b10:	49 8b f0             	mov    %r8,%rsi
140a99b13:	4c 8b f2             	mov    %rdx,%r14
140a99b16:	48 8b d9             	mov    %rcx,%rbx
140a99b19:	48 85 d2             	test   %rdx,%rdx
140a99b1c:	75 13                	jne    0x140a99b31
140a99b1e:	33 c0                	xor    %eax,%eax
140a99b20:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140a99b25:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
140a99b2a:	48 83 c4 20          	add    $0x20,%rsp
140a99b2e:	41 5e                	pop    %r14
140a99b30:	c3                   	ret
140a99b31:	48 89 6c 24 30       	mov    %rbp,0x30(%rsp)
140a99b36:	49 8d 68 01          	lea    0x1(%r8),%rbp
140a99b3a:	48 89 7c 24 38       	mov    %rdi,0x38(%rsp)
140a99b3f:	48 85 db             	test   %rbx,%rbx
140a99b42:	74 66                	je     0x140a99baa
140a99b44:	48 8b 39             	mov    (%rcx),%rdi
140a99b47:	48 85 ff             	test   %rdi,%rdi
140a99b4a:	74 5e                	je     0x140a99baa
140a99b4c:	48 85 ed             	test   %rbp,%rbp
140a99b4f:	74 59                	je     0x140a99baa
140a99b51:	48 8b 47 08          	mov    0x8(%rdi),%rax
140a99b55:	48 83 c5 0f          	add    $0xf,%rbp
140a99b59:	48 2b 47 10          	sub    0x10(%rdi),%rax
140a99b5d:	48 83 e5 f0          	and    $0xfffffffffffffff0,%rbp
140a99b61:	48 8b 17             	mov    (%rdi),%rdx
140a99b64:	48 03 c2             	add    %rdx,%rax
140a99b67:	48 3b c5             	cmp    %rbp,%rax
140a99b6a:	73 19                	jae    0x140a99b85
140a99b6c:	48 3b ea             	cmp    %rdx,%rbp
140a99b6f:	48 8b cd             	mov    %rbp,%rcx
140a99b72:	48 0f 46 ca          	cmovbe %rdx,%rcx
140a99b76:	e8 65 fe ff ff       	call   0x140a999e0
140a99b7b:	48 89 78 18          	mov    %rdi,0x18(%rax)
140a99b7f:	48 8b f8             	mov    %rax,%rdi
140a99b82:	48 89 03             	mov    %rax,(%rbx)
140a99b85:	48 8b 5f 10          	mov    0x10(%rdi),%rbx
140a99b89:	48 8d 04 2b          	lea    (%rbx,%rbp,1),%rax
140a99b8d:	48 89 47 10          	mov    %rax,0x10(%rdi)
140a99b91:	48 85 db             	test   %rbx,%rbx
140a99b94:	74 16                	je     0x140a99bac
140a99b96:	4c 8b c6             	mov    %rsi,%r8
140a99b99:	49 8b d6             	mov    %r14,%rdx
140a99b9c:	48 8b cb             	mov    %rbx,%rcx
140a99b9f:	e8 6c 54 44 00       	call   0x140edf010
140a99ba4:	c6 04 33 00          	movb   $0x0,(%rbx,%rsi,1)
140a99ba8:	eb 02                	jmp    0x140a99bac
140a99baa:	33 db                	xor    %ebx,%ebx
140a99bac:	48 8b 7c 24 38       	mov    0x38(%rsp),%rdi
140a99bb1:	48 8b c3             	mov    %rbx,%rax
140a99bb4:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140a99bb9:	48 8b 6c 24 30       	mov    0x30(%rsp),%rbp
140a99bbe:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
140a99bc3:	48 83 c4 20          	add    $0x20,%rsp
140a99bc7:	41 5e                	pop    %r14
140a99bc9:	c3                   	ret
140a99bca:	cc                   	int3
140a99bcb:	cc                   	int3
140a99bcc:	cc                   	int3
140a99bcd:	cc                   	int3
140a99bce:	cc                   	int3
140a99bcf:	cc                   	int3
140a99bd0:	40 53                	rex push %rbx
140a99bd2:	48 83 ec 20          	sub    $0x20,%rsp
140a99bd6:	48 8b d9             	mov    %rcx,%rbx
140a99bd9:	48 8b 49 60          	mov    0x60(%rcx),%rcx
140a99bdd:	48 8b 09             	mov    (%rcx),%rcx
140a99be0:	e8 2b 00 00 00       	call   0x140a99c10
140a99be5:	89 43 20             	mov    %eax,0x20(%rbx)
140a99be8:	85 c0                	test   %eax,%eax
140a99bea:	74 1b                	je     0x140a99c07
140a99bec:	b9 00 08 00 00       	mov    $0x800,%ecx
140a99bf1:	e8 36 8b 39 00       	call   0x140e3272c
140a99bf6:	b9 00 04 00 00       	mov    $0x400,%ecx
140a99bfb:	48 89 03             	mov    %rax,(%rbx)
140a99bfe:	e8 29 8b 39 00       	call   0x140e3272c