140de7b97:	49 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%r8
140de7b9e:	aa aa 2a
140de7ba1:	49 8b c0             	mov    %r8,%rax
140de7ba4:	48 f7 e9             	imul   %rcx
140de7ba7:	48 c1 fa 02          	sar    $0x2,%rdx
140de7bab:	48 8b c2             	mov    %rdx,%rax
140de7bae:	48 c1 e8 3f          	shr    $0x3f,%rax
140de7bb2:	48 03 d0             	add    %rax,%rdx
140de7bb5:	89 56 28             	mov    %edx,0x28(%rsi)
140de7bb8:	e9 03 fc ff ff       	jmp    0x140de77c0
140de7bbd:	8b 7e 08             	mov    0x8(%rsi),%edi
140de7bc0:	4d 85 f6             	test   %r14,%r14
140de7bc3:	74 6f                	je     0x140de7c34
140de7bc5:	49 8b de             	mov    %r14,%rbx
140de7bc8:	4d 3b f4             	cmp    %r12,%r14
140de7bcb:	74 1f                	je     0x140de7bec
140de7bcd:	0f 1f 00             	nopl   (%rax)
140de7bd0:	48 8d 4b 10          	lea    0x10(%rbx),%rcx
140de7bd4:	e8 e7 0d 40 ff       	call   0x1401e89c0
140de7bd9:	48 83 c3 30          	add    $0x30,%rbx
140de7bdd:	49 3b dc             	cmp    %r12,%rbx
140de7be0:	75 ee                	jne    0x140de7bd0
140de7be2:	49 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%r8
140de7be9:	aa aa 2a
140de7bec:	4d 2b fe             	sub    %r14,%r15
140de7bef:	49 8b c0             	mov    %r8,%rax
140de7bf2:	49 f7 ef             	imul   %r15
140de7bf5:	48 c1 fa 03          	sar    $0x3,%rdx
140de7bf9:	48 8b c2             	mov    %rdx,%rax
140de7bfc:	48 c1 e8 3f          	shr    $0x3f,%rax
140de7c00:	48 03 d0             	add    %rax,%rdx
140de7c03:	48 8d 14 52          	lea    (%rdx,%rdx,2),%rdx
140de7c07:	48 c1 e2 04          	shl    $0x4,%rdx
140de7c0b:	49 8b c6             	mov    %r14,%rax
140de7c0e:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140de7c15:	72 15                	jb     0x140de7c2c
140de7c17:	48 83 c2 27          	add    $0x27,%rdx
140de7c1b:	4d 8b 76 f8          	mov    -0x8(%r14),%r14
140de7c1f:	49 2b c6             	sub    %r14,%rax
140de7c22:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140de7c26:	48 83 f8 1f          	cmp    $0x1f,%rax
140de7c2a:	77 1e                	ja     0x140de7c4a
140de7c2c:	49 8b ce             	mov    %r14,%rcx
140de7c2f:	e8 10 35 03 00       	call   0x140e1b144
140de7c34:	8b c7                	mov    %edi,%eax
140de7c36:	48 81 c4 58 01 00 00 	add    $0x158,%rsp
140de7c3d:	41 5f                	pop    %r15
140de7c3f:	41 5e                	pop    %r14
140de7c41:	41 5d                	pop    %r13
140de7c43:	41 5c                	pop    %r12
140de7c45:	5f                   	pop    %rdi
140de7c46:	5e                   	pop    %rsi
140de7c47:	5b                   	pop    %rbx
140de7c48:	5d                   	pop    %rbp
140de7c49:	c3                   	ret
140de7c4a:	e8 55 25 04 00       	call   0x140e2a1a4
140de7c4f:	cc                   	int3
140de7c50:	40 57                	rex push %rdi
140de7c52:	48 83 ec 20          	sub    $0x20,%rsp
140de7c56:	33 c0                	xor    %eax,%eax
140de7c58:	48 8b fa             	mov    %rdx,%rdi
140de7c5b:	48 85 d2             	test   %rdx,%rdx
140de7c5e:	0f 84 a0 00 00 00    	je     0x140de7d04
140de7c64:	80 3a 14             	cmpb   $0x14,(%rdx)
140de7c67:	48 89 42 10          	mov    %rax,0x10(%rdx)
140de7c6b:	0f 85 90 00 00 00    	jne    0x140de7d01
140de7c71:	48 89 6c 24 38       	mov    %rbp,0x38(%rsp)
140de7c76:	48 8b 6a 20          	mov    0x20(%rdx),%rbp
140de7c7a:	48 85 ed             	test   %rbp,%rbp
140de7c7d:	74 7d                	je     0x140de7cfc
140de7c7f:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
140de7c84:	48 8b cd             	mov    %rbp,%rcx
140de7c87:	48 89 74 24 40       	mov    %rsi,0x40(%rsp)
140de7c8c:	48 89 42 20          	mov    %rax,0x20(%rdx)
140de7c90:	e8 ab ba ff ff       	call   0x140de3740
140de7c95:	48 89 47 18          	mov    %rax,0x18(%rdi)
140de7c99:	48 8b 45 10          	mov    0x10(%rbp),%rax
140de7c9d:	48 8b 58 08          	mov    0x8(%rax),%rbx
140de7ca1:	80 7b 19 00          	cmpb   $0x0,0x19(%rbx)
140de7ca5:	75 30                	jne    0x140de7cd7
140de7ca7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140de7cae:	00 00
140de7cb0:	4c 8b 43 10          	mov    0x10(%rbx),%r8
140de7cb4:	48 8d 55 10          	lea    0x10(%rbp),%rdx
140de7cb8:	48 8d 4d 10          	lea    0x10(%rbp),%rcx
140de7cbc:	e8 0f 90 60 ff       	call   0x1403f0cd0
140de7cc1:	48 8b cb             	mov    %rbx,%rcx
140de7cc4:	ba 28 00 00 00       	mov    $0x28,%edx
140de7cc9:	48 8b 1b             	mov    (%rbx),%rbx
140de7ccc:	e8 73 34 03 00       	call   0x140e1b144
140de7cd1:	80 7b 19 00          	cmpb   $0x0,0x19(%rbx)
140de7cd5:	74 d9                	je     0x140de7cb0
140de7cd7:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
140de7cdb:	ba 28 00 00 00       	mov    $0x28,%edx
140de7ce0:	e8 5f 34 03 00       	call   0x140e1b144
140de7ce5:	ba 20 00 00 00       	mov    $0x20,%edx
140de7cea:	48 8b cd             	mov    %rbp,%rcx
140de7ced:	e8 52 34 03 00       	call   0x140e1b144
140de7cf2:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140de7cf7:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140de7cfc:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140de7d01:	48 8b c7             	mov    %rdi,%rax
140de7d04:	48 83 c4 20          	add    $0x20,%rsp
140de7d08:	5f                   	pop    %rdi
140de7d09:	c3                   	ret
140de7d0a:	cc                   	int3
140de7d0b:	cc                   	int3
140de7d0c:	cc                   	int3
140de7d0d:	cc                   	int3
140de7d0e:	cc                   	int3
140de7d0f:	cc                   	int3
140de7d10:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140de7d15:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140de7d1a:	57                   	push   %rdi
140de7d1b:	48 83 ec 30          	sub    $0x30,%rsp
140de7d1f:	0f 10 01             	movups (%rcx),%xmm0
140de7d22:	48 8b 59 08          	mov    0x8(%rcx),%rbx
140de7d26:	48 8b f2             	mov    %rdx,%rsi
140de7d29:	0f 11 44 24 20       	movups %xmm0,0x20(%rsp)
140de7d2e:	48 85 db             	test   %rbx,%rbx
140de7d31:	74 5c                	je     0x140de7d8f
140de7d33:	48 8b 7c 24 20       	mov    0x20(%rsp),%rdi
140de7d38:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140de7d3f:	00
140de7d40:	ba 04 00 00 00       	mov    $0x4,%edx
140de7d45:	48 8b cf             	mov    %rdi,%rcx
140de7d48:	48 3b da             	cmp    %rdx,%rbx
140de7d4b:	0f 42 d3             	cmovb  %ebx,%edx
140de7d4e:	e8 bd ad fe ff       	call   0x140dd2b10
140de7d53:	85 c0                	test   %eax,%eax
140de7d55:	74 4a                	je     0x140de7da1
140de7d57:	48 8b d7             	mov    %rdi,%rdx
140de7d5a:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140de7d5f:	e8 dc ac fe ff       	call   0x140dd2a40
140de7d64:	8b 4c 24 40          	mov    0x40(%rsp),%ecx
140de7d68:	81 f9 ff ff 10 00    	cmp    $0x10ffff,%ecx
140de7d6e:	7f 31                	jg     0x140de7da1
140de7d70:	83 f8 01             	cmp    $0x1,%eax
140de7d73:	75 08                	jne    0x140de7d7d
140de7d75:	81 f9 fd ff 00 00    	cmp    $0xfffd,%ecx
140de7d7b:	74 24                	je     0x140de7da1
140de7d7d:	48 63 c8             	movslq %eax,%rcx
140de7d80:	48 03 f9             	add    %rcx,%rdi
140de7d83:	48 2b d9             	sub    %rcx,%rbx
140de7d86:	85 c0                	test   %eax,%eax
140de7d88:	78 2c                	js     0x140de7db6
140de7d8a:	48 85 db             	test   %rbx,%rbx
140de7d8d:	75 b1                	jne    0x140de7d40
140de7d8f:	b0 01                	mov    $0x1,%al
140de7d91:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
140de7d96:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140de7d9b:	48 83 c4 30          	add    $0x30,%rsp
140de7d9f:	5f                   	pop    %rdi
140de7da0:	c3                   	ret
140de7da1:	48 85 f6             	test   %rsi,%rsi
140de7da4:	74 10                	je     0x140de7db6
140de7da6:	33 c0                	xor    %eax,%eax
140de7da8:	c7 06 0d 00 00 00    	movl   $0xd,(%rsi)
140de7dae:	48 89 46 08          	mov    %rax,0x8(%rsi)
140de7db2:	48 89 46 10          	mov    %rax,0x10(%rsi)
140de7db6:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
140de7dbb:	32 c0                	xor    %al,%al
140de7dbd:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140de7dc2:	48 83 c4 30          	add    $0x30,%rsp
140de7dc6:	5f                   	pop    %rdi
140de7dc7:	c3                   	ret
140de7dc8:	cc                   	int3
140de7dc9:	cc                   	int3
140de7dca:	cc                   	int3
140de7dcb:	cc                   	int3
140de7dcc:	cc                   	int3
140de7dcd:	cc                   	int3
140de7dce:	cc                   	int3
140de7dcf:	cc                   	int3
140de7dd0:	40 53                	rex push %rbx
140de7dd2:	57                   	push   %rdi
140de7dd3:	41 54                	push   %r12
140de7dd5:	41 56                	push   %r14
140de7dd7:	41 57                	push   %r15
140de7dd9:	48 83 ec 20          	sub    $0x20,%rsp
140de7ddd:	48 8b 59 20          	mov    0x20(%rcx),%rbx
140de7de1:	45 8b e0             	mov    %r8d,%r12d
140de7de4:	44 8b f2             	mov    %edx,%r14d
140de7de7:	4c 8b f9             	mov    %rcx,%r15
140de7dea:	48 85 db             	test   %rbx,%rbx
140de7ded:	0f 84 f3 00 00 00    	je     0x140de7ee6
140de7df3:	48 8b 7b 10          	mov    0x10(%rbx),%rdi
140de7df7:	48 85 ff             	test   %rdi,%rdi
140de7dfa:	0f 84 e6 00 00 00    	je     0x140de7ee6
140de7e00:	0f b6 03             	movzbl (%rbx),%eax
140de7e03:	2c 03                	sub    $0x3,%al
140de7e05:	3c 01                	cmp    $0x1,%al
140de7e07:	0f 87 d9 00 00 00    	ja     0x140de7ee6
140de7e0d:	0f b6 0f             	movzbl (%rdi),%ecx
140de7e10:	8d 41 fd             	lea    -0x3(%rcx),%eax
140de7e13:	3c 01                	cmp    $0x1,%al
140de7e15:	0f 87 cb 00 00 00    	ja     0x140de7ee6
140de7e1b:	0f b6 47 02          	movzbl 0x2(%rdi),%eax
140de7e1f:	32 43 02             	xor    0x2(%rbx),%al
140de7e22:	a8 01                	test   $0x1,%al
140de7e24:	0f 85 bc 00 00 00    	jne    0x140de7ee6
140de7e2a:	4c 89 6c 24 60       	mov    %r13,0x60(%rsp)
140de7e2f:	45 33 ed             	xor    %r13d,%r13d
140de7e32:	80 f9 03             	cmp    $0x3,%cl
140de7e35:	75 16                	jne    0x140de7e4d
140de7e37:	8b 57 18             	mov    0x18(%rdi),%edx
140de7e3a:	48 8b cf             	mov    %rdi,%rcx
140de7e3d:	44 89 6f 18          	mov    %r13d,0x18(%rdi)
140de7e41:	c6 07 04             	movb   $0x4,(%rdi)
140de7e44:	4c 89 6f 20          	mov    %r13,0x20(%rdi)
140de7e48:	e8 d3 ab ff ff       	call   0x140de2a20
140de7e4d:	80 3b 03             	cmpb   $0x3,(%rbx)
140de7e50:	8b 43 18             	mov    0x18(%rbx),%eax
140de7e53:	75 0c                	jne    0x140de7e61
140de7e55:	8b d0                	mov    %eax,%edx
140de7e57:	48 8b cf             	mov    %rdi,%rcx
140de7e5a:	e8 c1 ab ff ff       	call   0x140de2a20
140de7e5f:	eb 54                	jmp    0x140de7eb5
140de7e61:	48 89 6c 24 50       	mov    %rbp,0x50(%rsp)
140de7e66:	41 8b ed             	mov    %r13d,%ebp
140de7e69:	85 c0                	test   %eax,%eax
140de7e6b:	7e 32                	jle    0x140de7e9f
140de7e6d:	48 89 74 24 58       	mov    %rsi,0x58(%rsp)
140de7e72:	49 8b f5             	mov    %r13,%rsi
140de7e75:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
140de7e7c:	00 00 00 00
140de7e80:	48 8b 53 20          	mov    0x20(%rbx),%rdx
140de7e84:	48 8b cf             	mov    %rdi,%rcx
140de7e87:	8b 14 16             	mov    (%rsi,%rdx,1),%edx
140de7e8a:	e8 91 ab ff ff       	call   0x140de2a20
140de7e8f:	ff c5                	inc    %ebp
140de7e91:	48 8d 76 04          	lea    0x4(%rsi),%rsi
140de7e95:	3b 6b 18             	cmp    0x18(%rbx),%ebp
140de7e98:	7c e6                	jl     0x140de7e80
140de7e9a:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
140de7e9f:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
140de7ea3:	44 89 6b 18          	mov    %r13d,0x18(%rbx)
140de7ea7:	e8 98 32 03 00       	call   0x140e1b144
140de7eac:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
140de7eb1:	4c 89 6b 20          	mov    %r13,0x20(%rbx)
140de7eb5:	4c 8b 6c 24 60       	mov    0x60(%rsp),%r13
140de7eba:	45 85 f6             	test   %r14d,%r14d
140de7ebd:	78 1b                	js     0x140de7eda
140de7ebf:	c6 03 03             	movb   $0x3,(%rbx)
140de7ec2:	b0 01                	mov    $0x1,%al
140de7ec4:	44 89 73 18          	mov    %r14d,0x18(%rbx)
140de7ec8:	66 44 89 63 02       	mov    %r12w,0x2(%rbx)
140de7ecd:	48 83 c4 20          	add    $0x20,%rsp
140de7ed1:	41 5f                	pop    %r15
140de7ed3:	41 5e                	pop    %r14
140de7ed5:	41 5c                	pop    %r12
140de7ed7:	5f                   	pop    %rdi
140de7ed8:	5b                   	pop    %rbx
140de7ed9:	c3                   	ret
140de7eda:	48 8b cb             	mov    %rbx,%rcx
140de7edd:	49 89 7f 20          	mov    %rdi,0x20(%r15)
140de7ee1:	e8 1a b2 ff ff       	call   0x140de3100
140de7ee6:	32 c0                	xor    %al,%al
140de7ee8:	48 83 c4 20          	add    $0x20,%rsp
140de7eec:	41 5f                	pop    %r15
140de7eee:	41 5e                	pop    %r14
140de7ef0:	41 5c                	pop    %r12
140de7ef2:	5f                   	pop    %rdi
140de7ef3:	5b                   	pop    %rbx
140de7ef4:	c3                   	ret
140de7ef5:	cc                   	int3
140de7ef6:	cc                   	int3
140de7ef7:	cc                   	int3
140de7ef8:	cc                   	int3
140de7ef9:	cc                   	int3
140de7efa:	cc                   	int3
140de7efb:	cc                   	int3
140de7efc:	cc                   	int3
140de7efd:	cc                   	int3
140de7efe:	cc                   	int3
140de7eff:	cc                   	int3
140de7f00:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140de7f05:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140de7f0a:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
140de7f0f:	4c 8b d9             	mov    %rcx,%r11
140de7f12:	84 d2                	test   %dl,%dl
140de7f14:	79 6c                	jns    0x140de7f82
140de7f16:	48 8b 79 08          	mov    0x8(%rcx),%rdi
140de7f1a:	48 83 ff 02          	cmp    $0x2,%rdi
140de7f1e:	72 62                	jb     0x140de7f82
140de7f20:	4c 8b 09             	mov    (%rcx),%r9
140de7f23:	41 80 39 5c          	cmpb   $0x5c,(%r9)
140de7f27:	75 59                	jne    0x140de7f82
140de7f29:	48 63 05 64 59 3d 00 	movslq 0x3d5964(%rip),%rax        # 0x1411bd894
140de7f30:	45 33 d2             	xor    %r10d,%r10d
140de7f33:	85 c0                	test   %eax,%eax
140de7f35:	7e 4b                	jle    0x140de7f82
140de7f37:	48 8d 35 62 59 3d 00 	lea    0x3d5962(%rip),%rsi        # 0x1411bd8a0
140de7f3e:	48 8b d8             	mov    %rax,%rbx
140de7f41:	48 8b d6             	mov    %rsi,%rdx
140de7f44:	45 8b c2             	mov    %r10d,%r8d
140de7f47:	48 8b 0a             	mov    (%rdx),%rcx
140de7f4a:	48 85 c9             	test   %rcx,%rcx
140de7f4d:	74 24                	je     0x140de7f73
140de7f4f:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
140de7f56:	48 ff c0             	inc    %rax
140de7f59:	80 3c 01 00          	cmpb   $0x0,(%rcx,%rax,1)
140de7f5d:	75 f7                	jne    0x140de7f56
140de7f5f:	48 83 f8 02          	cmp    $0x2,%rax
140de7f63:	75 0e                	jne    0x140de7f73
140de7f65:	49 3b c9             	cmp    %r9,%rcx
140de7f68:	74 2a                	je     0x140de7f94
140de7f6a:	0f b7 01             	movzwl (%rcx),%eax
140de7f6d:	66 41 3b 01          	cmp    (%r9),%ax
140de7f71:	74 21                	je     0x140de7f94
140de7f73:	41 ff c2             	inc    %r10d
140de7f76:	49 ff c0             	inc    %r8
140de7f79:	48 83 c2 30          	add    $0x30,%rdx
140de7f7d:	4c 3b c3             	cmp    %rbx,%r8
140de7f80:	7c c5                	jl     0x140de7f47
140de7f82:	33 c0                	xor    %eax,%eax
140de7f84:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140de7f89:	48 8b 74 24 10       	mov    0x10(%rsp),%rsi
140de7f8e:	48 8b 7c 24 18       	mov    0x18(%rsp),%rdi
140de7f93:	c3                   	ret
140de7f94:	49 63 c2             	movslq %r10d,%rax
140de7f97:	48 8d 04 40          	lea    (%rax,%rax,2),%rax
140de7f9b:	48 c1 e0 04          	shl    $0x4,%rax
140de7f9f:	48 03 c6             	add    %rsi,%rax
140de7fa2:	74 de                	je     0x140de7f82
140de7fa4:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140de7fa9:	49 8d 49 02          	lea    0x2(%r9),%rcx
140de7fad:	48 8b 74 24 10       	mov    0x10(%rsp),%rsi
140de7fb2:	49 89 0b             	mov    %rcx,(%r11)
140de7fb5:	48 8d 4f fe          	lea    -0x2(%rdi),%rcx
140de7fb9:	48 8b 7c 24 18       	mov    0x18(%rsp),%rdi
140de7fbe:	49 89 4b 08          	mov    %rcx,0x8(%r11)
140de7fc2:	c3                   	ret
140de7fc3:	cc                   	int3
140de7fc4:	cc                   	int3
140de7fc5:	cc                   	int3
140de7fc6:	cc                   	int3
140de7fc7:	cc                   	int3
140de7fc8:	cc                   	int3
140de7fc9:	cc                   	int3
140de7fca:	cc                   	int3
140de7fcb:	cc                   	int3
140de7fcc:	cc                   	int3
140de7fcd:	cc                   	int3
140de7fce:	cc                   	int3
140de7fcf:	cc                   	int3
140de7fd0:	89 54 24 10          	mov    %edx,0x10(%rsp)
140de7fd4:	55                   	push   %rbp
140de7fd5:	53                   	push   %rbx
140de7fd6:	56                   	push   %rsi