140940ca2:	48 03 fb             	add    %rbx,%rdi
140940ca5:	c6 07 2e             	movb   $0x2e,(%rdi)
140940ca8:	48 ff c7             	inc    %rdi
140940cab:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140940cb0:	b8 67 66 66 66       	mov    $0x66666667,%eax
140940cb5:	f7 ee                	imul   %esi
140940cb7:	c1 fa 02             	sar    $0x2,%edx
140940cba:	8b c2                	mov    %edx,%eax
140940cbc:	c1 e8 1f             	shr    $0x1f,%eax
140940cbf:	03 d0                	add    %eax,%edx
140940cc1:	0f b6 c2             	movzbl %dl,%eax
140940cc4:	c0 e0 02             	shl    $0x2,%al
140940cc7:	8d 0c 10             	lea    (%rax,%rdx,1),%ecx
140940cca:	02 c9                	add    %cl,%cl
140940ccc:	40 2a f1             	sub    %cl,%sil
140940ccf:	40 80 c6 30          	add    $0x30,%sil
140940cd3:	40 88 37             	mov    %sil,(%rdi)
140940cd6:	48 ff c7             	inc    %rdi
140940cd9:	8b f2                	mov    %edx,%esi
140940cdb:	85 d2                	test   %edx,%edx
140940cdd:	75 d1                	jne    0x140940cb0
140940cdf:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140940ce4:	85 ed                	test   %ebp,%ebp
140940ce6:	74 06                	je     0x140940cee
140940ce8:	c6 07 2d             	movb   $0x2d,(%rdi)
140940ceb:	48 ff c7             	inc    %rdi
140940cee:	48 8d 47 ff          	lea    -0x1(%rdi),%rax
140940cf2:	c6 07 00             	movb   $0x0,(%rdi)
140940cf5:	4d 8b c6             	mov    %r14,%r8
140940cf8:	49 3b c6             	cmp    %r14,%rax
140940cfb:	76 1a                	jbe    0x140940d17
140940cfd:	0f 1f 00             	nopl   (%rax)
140940d00:	41 0f b6 08          	movzbl (%r8),%ecx
140940d04:	0f b6 10             	movzbl (%rax),%edx
140940d07:	88 08                	mov    %cl,(%rax)
140940d09:	48 ff c8             	dec    %rax
140940d0c:	41 88 10             	mov    %dl,(%r8)
140940d0f:	49 ff c0             	inc    %r8
140940d12:	49 3b c0             	cmp    %r8,%rax
140940d15:	77 e9                	ja     0x140940d00
140940d17:	49 2b fe             	sub    %r14,%rdi
140940d1a:	48 8b c7             	mov    %rdi,%rax
140940d1d:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140940d22:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140940d27:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
140940d2c:	48 83 c4 30          	add    $0x30,%rsp
140940d30:	41 5e                	pop    %r14
140940d32:	c3                   	ret
140940d33:	cc                   	int3
140940d34:	cc                   	int3
140940d35:	cc                   	int3
140940d36:	cc                   	int3
140940d37:	cc                   	int3
140940d38:	cc                   	int3
140940d39:	cc                   	int3
140940d3a:	cc                   	int3
140940d3b:	cc                   	int3
140940d3c:	cc                   	int3
140940d3d:	cc                   	int3
140940d3e:	cc                   	int3
140940d3f:	cc                   	int3
140940d40:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140940d45:	4c 8b da             	mov    %rdx,%r11
140940d48:	4c 8b c9             	mov    %rcx,%r9
140940d4b:	4c 8b d2             	mov    %rdx,%r10
140940d4e:	48 85 c9             	test   %rcx,%rcx
140940d51:	79 17                	jns    0x140940d6a
140940d53:	49 b8 00 00 00 00 00 	movabs $0x8000000000000000,%r8
140940d5a:	00 00 80
140940d5d:	49 3b c8             	cmp    %r8,%rcx
140940d60:	74 0b                	je     0x140940d6d
140940d62:	4c 8b c1             	mov    %rcx,%r8
140940d65:	49 f7 d8             	neg    %r8
140940d68:	eb 03                	jmp    0x140940d6d
140940d6a:	4d 8b c1             	mov    %r9,%r8
140940d6d:	48 bb cd cc cc cc cc 	movabs $0xcccccccccccccccd,%rbx
140940d74:	cc cc cc
140940d77:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140940d7e:	00 00
140940d80:	48 8b c3             	mov    %rbx,%rax
140940d83:	49 f7 e0             	mul    %r8
140940d86:	48 c1 ea 03          	shr    $0x3,%rdx
140940d8a:	0f b6 c2             	movzbl %dl,%eax
140940d8d:	c0 e0 02             	shl    $0x2,%al
140940d90:	8d 0c 10             	lea    (%rax,%rdx,1),%ecx
140940d93:	02 c9                	add    %cl,%cl
140940d95:	44 2a c1             	sub    %cl,%r8b
140940d98:	41 80 c0 30          	add    $0x30,%r8b
140940d9c:	45 88 02             	mov    %r8b,(%r10)
140940d9f:	49 ff c2             	inc    %r10
140940da2:	4c 8b c2             	mov    %rdx,%r8
140940da5:	48 85 d2             	test   %rdx,%rdx
140940da8:	75 d6                	jne    0x140940d80
140940daa:	4d 85 c9             	test   %r9,%r9
140940dad:	79 07                	jns    0x140940db6
140940daf:	41 c6 02 2d          	movb   $0x2d,(%r10)
140940db3:	49 ff c2             	inc    %r10
140940db6:	49 8d 4a ff          	lea    -0x1(%r10),%rcx
140940dba:	41 c6 02 00          	movb   $0x0,(%r10)
140940dbe:	4d 8b cb             	mov    %r11,%r9
140940dc1:	49 3b cb             	cmp    %r11,%rcx
140940dc4:	76 22                	jbe    0x140940de8
140940dc6:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
140940dcd:	00 00 00
140940dd0:	41 0f b6 11          	movzbl (%r9),%edx
140940dd4:	44 0f b6 01          	movzbl (%rcx),%r8d
140940dd8:	88 11                	mov    %dl,(%rcx)
140940dda:	48 ff c9             	dec    %rcx
140940ddd:	45 88 01             	mov    %r8b,(%r9)
140940de0:	49 ff c1             	inc    %r9
140940de3:	49 3b c9             	cmp    %r9,%rcx
140940de6:	77 e8                	ja     0x140940dd0
140940de8:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140940ded:	4d 2b d3             	sub    %r11,%r10
140940df0:	49 8b c2             	mov    %r10,%rax
140940df3:	c3                   	ret
140940df4:	cc                   	int3
140940df5:	cc                   	int3
140940df6:	cc                   	int3
140940df7:	cc                   	int3
140940df8:	cc                   	int3
140940df9:	cc                   	int3
140940dfa:	cc                   	int3
140940dfb:	cc                   	int3
140940dfc:	cc                   	int3
140940dfd:	cc                   	int3
140940dfe:	cc                   	int3
140940dff:	cc                   	int3
140940e00:	4c 8b da             	mov    %rdx,%r11
140940e03:	4c 8b d2             	mov    %rdx,%r10
140940e06:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
140940e0d:	00 00 00
140940e10:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
140940e15:	4d 8b c2             	mov    %r10,%r8
140940e18:	f7 e1                	mul    %ecx
140940e1a:	c1 ea 03             	shr    $0x3,%edx
140940e1d:	0f b6 c2             	movzbl %dl,%eax
140940e20:	c0 e0 02             	shl    $0x2,%al
140940e23:	44 8d 0c 10          	lea    (%rax,%rdx,1),%r9d
140940e27:	45 02 c9             	add    %r9b,%r9b
140940e2a:	41 2a c9             	sub    %r9b,%cl
140940e2d:	80 c1 30             	add    $0x30,%cl
140940e30:	41 88 0a             	mov    %cl,(%r10)
140940e33:	49 ff c2             	inc    %r10
140940e36:	8b ca                	mov    %edx,%ecx
140940e38:	85 d2                	test   %edx,%edx
140940e3a:	75 d4                	jne    0x140940e10
140940e3c:	41 88 12             	mov    %dl,(%r10)
140940e3f:	4d 8b cb             	mov    %r11,%r9
140940e42:	4d 3b c3             	cmp    %r11,%r8
140940e45:	76 22                	jbe    0x140940e69
140940e47:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140940e4e:	00 00
140940e50:	41 0f b6 09          	movzbl (%r9),%ecx
140940e54:	41 0f b6 10          	movzbl (%r8),%edx
140940e58:	41 88 08             	mov    %cl,(%r8)
140940e5b:	49 ff c8             	dec    %r8
140940e5e:	41 88 11             	mov    %dl,(%r9)
140940e61:	49 ff c1             	inc    %r9
140940e64:	4d 3b c1             	cmp    %r9,%r8
140940e67:	77 e7                	ja     0x140940e50
140940e69:	4d 2b d3             	sub    %r11,%r10
140940e6c:	49 8b c2             	mov    %r10,%rax
140940e6f:	c3                   	ret
140940e70:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140940e75:	4c 8b da             	mov    %rdx,%r11
140940e78:	4c 8b d2             	mov    %rdx,%r10
140940e7b:	48 bb cd cc cc cc cc 	movabs $0xcccccccccccccccd,%rbx
140940e82:	cc cc cc
140940e85:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
140940e8c:	00 00 00 00
140940e90:	48 8b c3             	mov    %rbx,%rax
140940e93:	4d 8b c2             	mov    %r10,%r8
140940e96:	48 f7 e1             	mul    %rcx
140940e99:	48 c1 ea 03          	shr    $0x3,%rdx
140940e9d:	0f b6 c2             	movzbl %dl,%eax
140940ea0:	c0 e0 02             	shl    $0x2,%al
140940ea3:	44 8d 0c 10          	lea    (%rax,%rdx,1),%r9d
140940ea7:	45 02 c9             	add    %r9b,%r9b
140940eaa:	41 2a c9             	sub    %r9b,%cl
140940ead:	80 c1 30             	add    $0x30,%cl
140940eb0:	41 88 0a             	mov    %cl,(%r10)
140940eb3:	49 ff c2             	inc    %r10
140940eb6:	48 8b ca             	mov    %rdx,%rcx
140940eb9:	48 85 d2             	test   %rdx,%rdx
140940ebc:	75 d2                	jne    0x140940e90
140940ebe:	41 88 12             	mov    %dl,(%r10)
140940ec1:	4d 8b cb             	mov    %r11,%r9
140940ec4:	4d 3b c3             	cmp    %r11,%r8
140940ec7:	76 20                	jbe    0x140940ee9
140940ec9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140940ed0:	41 0f b6 09          	movzbl (%r9),%ecx
140940ed4:	41 0f b6 10          	movzbl (%r8),%edx
140940ed8:	41 88 08             	mov    %cl,(%r8)
140940edb:	49 ff c8             	dec    %r8
140940ede:	41 88 11             	mov    %dl,(%r9)
140940ee1:	49 ff c1             	inc    %r9
140940ee4:	4d 3b c1             	cmp    %r9,%r8
140940ee7:	77 e7                	ja     0x140940ed0
140940ee9:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140940eee:	4d 2b d3             	sub    %r11,%r10
140940ef1:	49 8b c2             	mov    %r10,%rax
140940ef4:	c3                   	ret
140940ef5:	cc                   	int3
140940ef6:	cc                   	int3
140940ef7:	cc                   	int3
140940ef8:	cc                   	int3
140940ef9:	cc                   	int3
140940efa:	cc                   	int3
140940efb:	cc                   	int3
140940efc:	cc                   	int3
140940efd:	cc                   	int3
140940efe:	cc                   	int3
140940eff:	cc                   	int3
140940f00:	0f b6 01             	movzbl (%rcx),%eax
140940f03:	3c 2e                	cmp    $0x2e,%al
140940f05:	74 13                	je     0x140940f1a
140940f07:	84 c0                	test   %al,%al
140940f09:	0f 84 a7 00 00 00    	je     0x140940fb6
140940f0f:	0f b6 41 01          	movzbl 0x1(%rcx),%eax
140940f13:	48 ff c1             	inc    %rcx
140940f16:	3c 2e                	cmp    $0x2e,%al
140940f18:	75 ed                	jne    0x140940f07
140940f1a:	48 8d 51 01          	lea    0x1(%rcx),%rdx
140940f1e:	48 85 d2             	test   %rdx,%rdx
140940f21:	0f 84 8f 00 00 00    	je     0x140940fb6
140940f27:	44 0f b6 0a          	movzbl (%rdx),%r9d
140940f2b:	33 c0                	xor    %eax,%eax
140940f2d:	4c 8b d2             	mov    %rdx,%r10
140940f30:	44 8b c0             	mov    %eax,%r8d
140940f33:	45 84 c9             	test   %r9b,%r9b
140940f36:	74 39                	je     0x140940f71
140940f38:	41 0f b6 c9          	movzbl %r9b,%ecx
140940f3c:	0f 1f 40 00          	nopl   0x0(%rax)
140940f40:	41 80 f9 65          	cmp    $0x65,%r9b
140940f44:	74 28                	je     0x140940f6e
140940f46:	80 f9 30             	cmp    $0x30,%cl
140940f49:	75 0f                	jne    0x140940f5a
140940f4b:	4d 85 c0             	test   %r8,%r8
140940f4e:	48 8b ca             	mov    %rdx,%rcx
140940f51:	49 0f 45 c8          	cmovne %r8,%rcx
140940f55:	4c 8b c1             	mov    %rcx,%r8
140940f58:	eb 03                	jmp    0x140940f5d
140940f5a:	4c 8b c0             	mov    %rax,%r8
140940f5d:	0f b6 4a 01          	movzbl 0x1(%rdx),%ecx
140940f61:	48 ff c2             	inc    %rdx
140940f64:	44 0f b6 c9          	movzbl %cl,%r9d
140940f68:	84 c9                	test   %cl,%cl
140940f6a:	75 d4                	jne    0x140940f40
140940f6c:	eb 03                	jmp    0x140940f71
140940f6e:	48 8b c2             	mov    %rdx,%rax
140940f71:	4d 3b c2             	cmp    %r10,%r8
140940f74:	49 8d 50 ff          	lea    -0x1(%r8),%rdx
140940f78:	49 0f 45 d0          	cmovne %r8,%rdx
140940f7c:	48 85 d2             	test   %rdx,%rdx
140940f7f:	74 35                	je     0x140940fb6
140940f81:	48 85 c0             	test   %rax,%rax
140940f84:	74 30                	je     0x140940fb6
140940f86:	0f b6 08             	movzbl (%rax),%ecx
140940f89:	4c 8b c0             	mov    %rax,%r8
140940f8c:	88 0a                	mov    %cl,(%rdx)
140940f8e:	80 38 00             	cmpb   $0x0,(%rax)
140940f91:	74 1f                	je     0x140940fb2
140940f93:	0f 1f 40 00          	nopl   0x0(%rax)
140940f97:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140940f9e:	00 00
140940fa0:	0f b6 48 01          	movzbl 0x1(%rax),%ecx
140940fa4:	48 8d 52 01          	lea    0x1(%rdx),%rdx
140940fa8:	48 ff c0             	inc    %rax
140940fab:	88 0a                	mov    %cl,(%rdx)
140940fad:	80 38 00             	cmpb   $0x0,(%rax)
140940fb0:	75 ee                	jne    0x140940fa0
140940fb2:	49 2b c0             	sub    %r8,%rax
140940fb5:	c3                   	ret
140940fb6:	33 c0                	xor    %eax,%eax
140940fb8:	c3                   	ret
140940fb9:	cc                   	int3
140940fba:	cc                   	int3
140940fbb:	cc                   	int3
140940fbc:	cc                   	int3
140940fbd:	cc                   	int3
140940fbe:	cc                   	int3
140940fbf:	cc                   	int3
140940fc0:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140940fc5:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140940fca:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
140940fcf:	53                   	push   %rbx
140940fd0:	56                   	push   %rsi
140940fd1:	57                   	push   %rdi
140940fd2:	48 83 ec 30          	sub    $0x30,%rsp
140940fd6:	48 8b da             	mov    %rdx,%rbx
140940fd9:	48 8d 74 24 60       	lea    0x60(%rsp),%rsi
140940fde:	48 8b f9             	mov    %rcx,%rdi
140940fe1:	e8 fa d4 85 ff       	call   0x14019e4e0
140940fe6:	4c 8b cb             	mov    %rbx,%r9
140940fe9:	48 89 74 24 28       	mov    %rsi,0x28(%rsp)
140940fee:	48 c7 c3 ff ff ff ff 	mov    $0xffffffffffffffff,%rbx
140940ff5:	48 c7 44 24 20 00 00 	movq   $0x0,0x20(%rsp)
140940ffc:	00 00
140940ffe:	4c 8b c3             	mov    %rbx,%r8
140941001:	48 8b d7             	mov    %rdi,%rdx
140941004:	48 8b 08             	mov    (%rax),%rcx
140941007:	48 83 c9 01          	or     $0x1,%rcx
14094100b:	e8 58 e5 4e 00       	call   0x140e2f568
140941010:	85 c0                	test   %eax,%eax
140941012:	0f 48 c3             	cmovs  %ebx,%eax
140941015:	48 83 c4 30          	add    $0x30,%rsp
140941019:	5f                   	pop    %rdi
14094101a:	5e                   	pop    %rsi
14094101b:	5b                   	pop    %rbx
14094101c:	c3                   	ret
14094101d:	cc                   	int3
14094101e:	cc                   	int3
14094101f:	cc                   	int3
140941020:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140941025:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14094102a:	57                   	push   %rdi
14094102b:	45 33 c9             	xor    %r9d,%r9d
14094102e:	45 33 db             	xor    %r11d,%r11d
140941031:	33 ff                	xor    %edi,%edi
140941033:	8b f2                	mov    %edx,%esi
140941035:	48 8b d9             	mov    %rcx,%rbx
140941038:	85 d2                	test   %edx,%edx
14094103a:	0f 84 19 02 00 00    	je     0x140941259
140941040:	44 8b 53 08          	mov    0x8(%rbx),%r10d
140941044:	45 85 d2             	test   %r10d,%r10d
140941047:	0f 84 ec 01 00 00    	je     0x140941239
14094104d:	48 8b 03             	mov    (%rbx),%rax
140941050:	41 83 fb ff          	cmp    $0xffffffff,%r11d
140941054:	75 15                	jne    0x14094106b
140941056:	0f b6 08             	movzbl (%rax),%ecx
140941059:	48 ff c0             	inc    %rax
14094105c:	88 4c 24 19          	mov    %cl,0x19(%rsp)
140941060:	0f b7 4c 24 18       	movzwl 0x18(%rsp),%ecx
140941065:	44 03 c9             	add    %ecx,%r9d
140941068:	41 ff ca             	dec    %r10d
14094106b:	a8 01                	test   $0x1,%al
14094106d:	74 3b                	je     0x1409410aa
14094106f:	45 85 d2             	test   %r10d,%r10d
140941072:	7e 36                	jle    0x1409410aa
140941074:	41 0f b7 c9          	movzwl %r9w,%ecx
140941078:	45 8b c1             	mov    %r9d,%r8d
14094107b:	41 c1 e8 10          	shr    $0x10,%r8d
14094107f:	bf 01 00 00 00       	mov    $0x1,%edi
140941084:	44 03 c1             	add    %ecx,%r8d
140941087:	0f b6 08             	movzbl (%rax),%ecx
14094108a:	41 81 f8 ff ff 00 00 	cmp    $0xffff,%r8d
140941091:	88 4c 24 18          	mov    %cl,0x18(%rsp)
140941095:	45 8d 88 01 00 ff ff 	lea    -0xffff(%r8),%r9d
14094109c:	45 0f 46 c8          	cmovbe %r8d,%r9d