140595b40:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
140595b45:	48 8b 0a             	mov    (%rdx),%rcx
140595b48:	49 89 08             	mov    %rcx,(%r8)
140595b4b:	48 85 c9             	test   %rcx,%rcx
140595b4e:	74 1c                	je     0x140595b6c
140595b50:	8b 41 10             	mov    0x10(%rcx),%eax
140595b53:	ff c0                	inc    %eax
140595b55:	89 41 10             	mov    %eax,0x10(%rcx)
140595b58:	83 f8 01             	cmp    $0x1,%eax
140595b5b:	0f 8e 11 01 00 00    	jle    0x140595c72
140595b61:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140595b66:	0f 84 fb 00 00 00    	je     0x140595c67
140595b6c:	49 83 c0 08          	add    $0x8,%r8
140595b70:	48 83 c2 08          	add    $0x8,%rdx
140595b74:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
140595b79:	48 3b d0             	cmp    %rax,%rdx
140595b7c:	75 c7                	jne    0x140595b45
140595b7e:	4c 89 44 24 48       	mov    %r8,0x48(%rsp)
140595b83:	4c 8d 0d 66 89 c0 ff 	lea    -0x3f769a(%rip),%r9        # 0x14019e4f0
140595b8a:	ba 08 00 00 00       	mov    $0x8,%edx
140595b8f:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140595b95:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140595b9a:	e8 ad 59 88 00       	call   0x140e1b54c
140595b9f:	48 8b 03             	mov    (%rbx),%rax
140595ba2:	45 33 c9             	xor    %r9d,%r9d
140595ba5:	4c 8d 44 24 40       	lea    0x40(%rsp),%r8
140595baa:	48 8b d6             	mov    %rsi,%rdx
140595bad:	48 8b cb             	mov    %rbx,%rcx
140595bb0:	48 8b 40 38          	mov    0x38(%rax),%rax
140595bb4:	ff 15 66 de 9e 00    	call   *0x9ede66(%rip)        # 0x140f83a20
140595bba:	90                   	nop
140595bbb:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140595bc0:	48 85 db             	test   %rbx,%rbx
140595bc3:	74 76                	je     0x140595c3b
140595bc5:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
140595bca:	48 3b df             	cmp    %rdi,%rbx
140595bcd:	74 37                	je     0x140595c06
140595bcf:	90                   	nop
140595bd0:	48 8b 0b             	mov    (%rbx),%rcx
140595bd3:	48 85 c9             	test   %rcx,%rcx
140595bd6:	74 20                	je     0x140595bf8
140595bd8:	8b 41 10             	mov    0x10(%rcx),%eax
140595bdb:	ff c8                	dec    %eax
140595bdd:	89 41 10             	mov    %eax,0x10(%rcx)
140595be0:	85 c0                	test   %eax,%eax
140595be2:	7f 14                	jg     0x140595bf8
140595be4:	78 70                	js     0x140595c56
140595be6:	48 8b 01             	mov    (%rcx),%rax
140595be9:	ba 01 00 00 00       	mov    $0x1,%edx
140595bee:	48 8b 00             	mov    (%rax),%rax
140595bf1:	ff 15 29 de 9e 00    	call   *0x9ede29(%rip)        # 0x140f83a20
140595bf7:	90                   	nop
140595bf8:	48 83 c3 08          	add    $0x8,%rbx
140595bfc:	48 3b df             	cmp    %rdi,%rbx
140595bff:	75 cf                	jne    0x140595bd0
140595c01:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140595c06:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
140595c0b:	48 2b d3             	sub    %rbx,%rdx
140595c0e:	48 83 e2 f8          	and    $0xfffffffffffffff8,%rdx
140595c12:	48 8b c3             	mov    %rbx,%rax
140595c15:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140595c1c:	72 15                	jb     0x140595c33
140595c1e:	48 83 c2 27          	add    $0x27,%rdx
140595c22:	48 8b 5b f8          	mov    -0x8(%rbx),%rbx
140595c26:	48 2b c3             	sub    %rbx,%rax
140595c29:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140595c2d:	48 83 f8 1f          	cmp    $0x1f,%rax
140595c31:	77 2e                	ja     0x140595c61
140595c33:	48 8b cb             	mov    %rbx,%rcx
140595c36:	e8 09 55 88 00       	call   0x140e1b144
140595c3b:	48 8b c6             	mov    %rsi,%rax
140595c3e:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
140595c43:	48 8b 6c 24 78       	mov    0x78(%rsp),%rbp
140595c48:	48 8b b4 24 80 00 00 	mov    0x80(%rsp),%rsi
140595c4f:	00
140595c50:	48 83 c4 60          	add    $0x60,%rsp
140595c54:	5f                   	pop    %rdi
140595c55:	c3                   	ret
140595c56:	b9 02 00 00 00       	mov    $0x2,%ecx
140595c5b:	e8 a0 4a 1f 00       	call   0x14078a700
140595c60:	90                   	nop
140595c61:	e8 3e 45 89 00       	call   0x140e2a1a4
140595c66:	90                   	nop
140595c67:	b9 01 00 00 00       	mov    $0x1,%ecx
140595c6c:	e8 8f 4a 1f 00       	call   0x14078a700
140595c71:	cc                   	int3
140595c72:	33 c9                	xor    %ecx,%ecx
140595c74:	e8 87 4a 1f 00       	call   0x14078a700
140595c79:	cc                   	int3
140595c7a:	cc                   	int3
140595c7b:	cc                   	int3
140595c7c:	cc                   	int3
140595c7d:	cc                   	int3
140595c7e:	cc                   	int3
140595c7f:	cc                   	int3
140595c80:	48 3b ca             	cmp    %rdx,%rcx
140595c83:	74 7c                	je     0x140595d01
140595c85:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140595c8a:	57                   	push   %rdi
140595c8b:	48 83 ec 20          	sub    $0x20,%rsp
140595c8f:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
140595c94:	48 8b f2             	mov    %rdx,%rsi
140595c97:	48 89 6c 24 38       	mov    %rbp,0x38(%rsp)
140595c9c:	48 8b f9             	mov    %rcx,%rdi
140595c9f:	33 ed                	xor    %ebp,%ebp
140595ca1:	0f 1f 40 00          	nopl   0x0(%rax)
140595ca5:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
140595cac:	00 00 00 00
140595cb0:	48 8b 0f             	mov    (%rdi),%rcx
140595cb3:	48 8b 41 08          	mov    0x8(%rcx),%rax
140595cb7:	48 89 28             	mov    %rbp,(%rax)
140595cba:	48 8b 09             	mov    (%rcx),%rcx
140595cbd:	48 85 c9             	test   %rcx,%rcx
140595cc0:	74 15                	je     0x140595cd7
140595cc2:	48 8b 19             	mov    (%rcx),%rbx
140595cc5:	ba 18 00 00 00       	mov    $0x18,%edx
140595cca:	e8 75 54 88 00       	call   0x140e1b144
140595ccf:	48 8b cb             	mov    %rbx,%rcx
140595cd2:	48 85 db             	test   %rbx,%rbx
140595cd5:	75 eb                	jne    0x140595cc2
140595cd7:	48 8b 0f             	mov    (%rdi),%rcx
140595cda:	ba 18 00 00 00       	mov    $0x18,%edx
140595cdf:	e8 60 54 88 00       	call   0x140e1b144
140595ce4:	48 83 c7 10          	add    $0x10,%rdi
140595ce8:	48 3b fe             	cmp    %rsi,%rdi
140595ceb:	75 c3                	jne    0x140595cb0
140595ced:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140595cf2:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140595cf7:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140595cfc:	48 83 c4 20          	add    $0x20,%rsp
140595d00:	5f                   	pop    %rdi
140595d01:	c3                   	ret
140595d02:	cc                   	int3
140595d03:	cc                   	int3
140595d04:	cc                   	int3
140595d05:	cc                   	int3
140595d06:	cc                   	int3
140595d07:	cc                   	int3
140595d08:	cc                   	int3
140595d09:	cc                   	int3
140595d0a:	cc                   	int3
140595d0b:	cc                   	int3
140595d0c:	cc                   	int3
140595d0d:	cc                   	int3
140595d0e:	cc                   	int3
140595d0f:	cc                   	int3
140595d10:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140595d15:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140595d1a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140595d1f:	57                   	push   %rdi
140595d20:	41 54                	push   %r12
140595d22:	41 55                	push   %r13
140595d24:	41 56                	push   %r14
140595d26:	41 57                	push   %r15
140595d28:	48 83 ec 50          	sub    $0x50,%rsp
140595d2c:	49 8b f0             	mov    %r8,%rsi
140595d2f:	4c 8b fa             	mov    %rdx,%r15
140595d32:	4c 8b e1             	mov    %rcx,%r12
140595d35:	4c 8b 29             	mov    (%rcx),%r13
140595d38:	49 8b 5d 08          	mov    0x8(%r13),%rbx
140595d3c:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
140595d41:	c7 44 24 38 00 00 00 	movl   $0x0,0x38(%rsp)
140595d48:	00
140595d49:	49 8b fd             	mov    %r13,%rdi
140595d4c:	ba 01 00 00 00       	mov    $0x1,%edx
140595d51:	41 be ff 00 00 00    	mov    $0xff,%r14d
140595d57:	80 7b 19 00          	cmpb   $0x0,0x19(%rbx)
140595d5b:	75 49                	jne    0x140595da6
140595d5d:	41 8b 28             	mov    (%r8),%ebp
140595d60:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
140595d65:	39 6b 20             	cmp    %ebp,0x20(%rbx)
140595d68:	75 14                	jne    0x140595d7e
140595d6a:	48 8d 56 08          	lea    0x8(%rsi),%rdx
140595d6e:	48 8d 4b 28          	lea    0x28(%rbx),%rcx
140595d72:	e8 99 a8 c3 ff       	call   0x1401d0610
140595d77:	ba 01 00 00 00       	mov    $0x1,%edx
140595d7c:	eb 06                	jmp    0x140595d84
140595d7e:	41 8b c6             	mov    %r14d,%eax
140595d81:	0f 4d c2             	cmovge %edx,%eax
140595d84:	84 c0                	test   %al,%al
140595d86:	79 0e                	jns    0x140595d96
140595d88:	c7 44 24 38 00 00 00 	movl   $0x0,0x38(%rsp)
140595d8f:	00
140595d90:	48 8b 5b 10          	mov    0x10(%rbx),%rbx
140595d94:	eb 0a                	jmp    0x140595da0
140595d96:	89 54 24 38          	mov    %edx,0x38(%rsp)
140595d9a:	48 8b fb             	mov    %rbx,%rdi
140595d9d:	48 8b 1b             	mov    (%rbx),%rbx
140595da0:	80 7b 19 00          	cmpb   $0x0,0x19(%rbx)
140595da4:	74 ba                	je     0x140595d60
140595da6:	48 8d 6e 08          	lea    0x8(%rsi),%rbp
140595daa:	80 7f 19 00          	cmpb   $0x0,0x19(%rdi)
140595dae:	75 2f                	jne    0x140595ddf
140595db0:	8b 06                	mov    (%rsi),%eax
140595db2:	3b 47 20             	cmp    0x20(%rdi),%eax
140595db5:	75 12                	jne    0x140595dc9
140595db7:	48 8d 57 28          	lea    0x28(%rdi),%rdx
140595dbb:	48 8b cd             	mov    %rbp,%rcx
140595dbe:	e8 4d a8 c3 ff       	call   0x1401d0610
140595dc3:	44 0f b6 f0          	movzbl %al,%r14d
140595dc7:	eb 04                	jmp    0x140595dcd
140595dc9:	44 0f 4d f2          	cmovge %edx,%r14d
140595dcd:	45 84 f6             	test   %r14b,%r14b
140595dd0:	78 0d                	js     0x140595ddf
140595dd2:	49 89 3f             	mov    %rdi,(%r15)
140595dd5:	41 c6 47 08 00       	movb   $0x0,0x8(%r15)
140595dda:	e9 81 00 00 00       	jmp    0x140595e60
140595ddf:	48 b8 33 33 33 33 33 	movabs $0x333333333333333,%rax
140595de6:	33 33 03
140595de9:	49 39 44 24 08       	cmp    %rax,0x8(%r12)
140595dee:	0f 84 8d 00 00 00    	je     0x140595e81
140595df4:	4c 89 64 24 20       	mov    %r12,0x20(%rsp)
140595df9:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140595e00:	00 00
140595e02:	b9 50 00 00 00       	mov    $0x50,%ecx
140595e07:	e8 fc 52 88 00       	call   0x140e1b108
140595e0c:	48 8b d8             	mov    %rax,%rbx
140595e0f:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140595e14:	8b 0e                	mov    (%rsi),%ecx
140595e16:	89 48 20             	mov    %ecx,0x20(%rax)
140595e19:	48 8d 48 28          	lea    0x28(%rax),%rcx
140595e1d:	48 8b d5             	mov    %rbp,%rdx
140595e20:	e8 1b 2c c1 ff       	call   0x1401a8a40
140595e25:	48 8b 4e 28          	mov    0x28(%rsi),%rcx
140595e29:	48 89 4b 48          	mov    %rcx,0x48(%rbx)
140595e2d:	4c 89 2b             	mov    %r13,(%rbx)
140595e30:	4c 89 6b 08          	mov    %r13,0x8(%rbx)
140595e34:	4c 89 6b 10          	mov    %r13,0x10(%rbx)
140595e38:	66 c7 43 18 00 00    	movw   $0x0,0x18(%rbx)
140595e3e:	0f 10 44 24 30       	movups 0x30(%rsp),%xmm0
140595e43:	0f 29 44 24 20       	movaps %xmm0,0x20(%rsp)
140595e48:	4c 8b c3             	mov    %rbx,%r8
140595e4b:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140595e50:	49 8b cc             	mov    %r12,%rcx
140595e53:	e8 38 1c c5 ff       	call   0x1401e7a90
140595e58:	49 89 07             	mov    %rax,(%r15)
140595e5b:	41 c6 47 08 01       	movb   $0x1,0x8(%r15)
140595e60:	49 8b c7             	mov    %r15,%rax
140595e63:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
140595e68:	49 8b 5b 30          	mov    0x30(%r11),%rbx
140595e6c:	49 8b 6b 38          	mov    0x38(%r11),%rbp
140595e70:	49 8b 73 40          	mov    0x40(%r11),%rsi
140595e74:	49 8b e3             	mov    %r11,%rsp
140595e77:	41 5f                	pop    %r15
140595e79:	41 5e                	pop    %r14
140595e7b:	41 5d                	pop    %r13
140595e7d:	41 5c                	pop    %r12
140595e7f:	5f                   	pop    %rdi
140595e80:	c3                   	ret
140595e81:	e8 6a 29 c5 ff       	call   0x1401e87f0
140595e86:	cc                   	int3
140595e87:	cc                   	int3
140595e88:	cc                   	int3
140595e89:	cc                   	int3
140595e8a:	cc                   	int3
140595e8b:	cc                   	int3
140595e8c:	cc                   	int3
140595e8d:	cc                   	int3
140595e8e:	cc                   	int3
140595e8f:	cc                   	int3
140595e90:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140595e95:	53                   	push   %rbx
140595e96:	56                   	push   %rsi
140595e97:	57                   	push   %rdi
140595e98:	41 54                	push   %r12
140595e9a:	41 55                	push   %r13
140595e9c:	41 56                	push   %r14
140595e9e:	41 57                	push   %r15
140595ea0:	48 83 ec 60          	sub    $0x60,%rsp
140595ea4:	4d 8b e0             	mov    %r8,%r12
140595ea7:	48 8b da             	mov    %rdx,%rbx
140595eaa:	48 8b f1             	mov    %rcx,%rsi
140595ead:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
140595eb2:	4c 8b 09             	mov    (%rcx),%r9
140595eb5:	49 2b d9             	sub    %r9,%rbx
140595eb8:	48 8b 41 08          	mov    0x8(%rcx),%rax
140595ebc:	49 2b c1             	sub    %r9,%rax
140595ebf:	48 c1 f8 04          	sar    $0x4,%rax
140595ec3:	49 b8 ff ff ff ff ff 	movabs $0xfffffffffffffff,%r8
140595eca:	ff ff 0f
140595ecd:	49 3b c0             	cmp    %r8,%rax
140595ed0:	0f 84 d3 01 00 00    	je     0x1405960a9
140595ed6:	4c 8d 68 01          	lea    0x1(%rax),%r13
140595eda:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140595ede:	49 2b c9             	sub    %r9,%rcx
140595ee1:	48 c1 f9 04          	sar    $0x4,%rcx
140595ee5:	48 8b d1             	mov    %rcx,%rdx
140595ee8:	48 d1 ea             	shr    $1,%rdx
140595eeb:	49 8b c0             	mov    %r8,%rax
140595eee:	48 2b c2             	sub    %rdx,%rax
140595ef1:	48 3b c8             	cmp    %rax,%rcx
140595ef4:	0f 87 a9 01 00 00    	ja     0x1405960a3
140595efa:	48 8d 04 0a          	lea    (%rdx,%rcx,1),%rax
140595efe:	49 8b cd             	mov    %r13,%rcx
140595f01:	49 3b c5             	cmp    %r13,%rax
140595f04:	48 0f 43 c8          	cmovae %rax,%rcx
140595f08:	49 3b c8             	cmp    %r8,%rcx
140595f0b:	0f 87 92 01 00 00    	ja     0x1405960a3
140595f11:	4c 8b f9             	mov    %rcx,%r15
140595f14:	49 c1 e7 04          	shl    $0x4,%r15
140595f18:	48 89 8c 24 b8 00 00 	mov    %rcx,0xb8(%rsp)
140595f1f:	00
140595f20:	4d 85 ff             	test   %r15,%r15
140595f23:	75 0d                	jne    0x140595f32
140595f25:	45 33 f6             	xor    %r14d,%r14d
140595f28:	48 89 8c 24 b8 00 00 	mov    %rcx,0xb8(%rsp)
140595f2f:	00
140595f30:	eb 3d                	jmp    0x140595f6f
140595f32:	49 81 ff 00 10 00 00 	cmp    $0x1000,%r15
140595f39:	72 29                	jb     0x140595f64
140595f3b:	49 8d 4f 27          	lea    0x27(%r15),%rcx
140595f3f:	49 3b cf             	cmp    %r15,%rcx
140595f42:	0f 86 5b 01 00 00    	jbe    0x1405960a3
140595f48:	e8 bb 51 88 00       	call   0x140e1b108
140595f4d:	48 85 c0             	test   %rax,%rax
140595f50:	0f 84 59 01 00 00    	je     0x1405960af
140595f56:	4c 8d 70 27          	lea    0x27(%rax),%r14
140595f5a:	49 83 e6 e0          	and    $0xffffffffffffffe0,%r14
140595f5e:	49 89 46 f8          	mov    %rax,-0x8(%r14)
140595f62:	eb 0b                	jmp    0x140595f6f
140595f64:	49 8b cf             	mov    %r15,%rcx
140595f67:	e8 9c 51 88 00       	call   0x140e1b108
140595f6c:	4c 8b f0             	mov    %rax,%r14
140595f6f:	4c 89 74 24 38       	mov    %r14,0x38(%rsp)
140595f74:	48 83 e3 f0          	and    $0xfffffffffffffff0,%rbx
140595f78:	4a 8d 3c 33          	lea    (%rbx,%r14,1),%rdi
140595f7c:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140595f81:	48 8d 5f 10          	lea    0x10(%rdi),%rbx
140595f85:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
140595f8a:	48 89 9c 24 a0 00 00 	mov    %rbx,0xa0(%rsp)
140595f91:	00
140595f92:	49 8b d4             	mov    %r12,%rdx
140595f95:	48 8b cf             	mov    %rdi,%rcx
140595f98:	e8 13 09 00 00       	call   0x1405968b0
140595f9d:	48 89 bc 24 a0 00 00 	mov    %rdi,0xa0(%rsp)
140595fa4:	00
140595fa5:	4c 8b 66 08          	mov    0x8(%rsi),%r12
140595fa9:	48 8b 3e             	mov    (%rsi),%rdi
140595fac:	48 8b 84 24 a8 00 00 	mov    0xa8(%rsp),%rax
140595fb3:	00
140595fb4:	49 3b c4             	cmp    %r12,%rax
140595fb7:	75 46                	jne    0x140595fff
140595fb9:	4c 89 74 24 40       	mov    %r14,0x40(%rsp)
140595fbe:	49 8b de             	mov    %r14,%rbx
140595fc1:	48 89 5c 24 48       	mov    %rbx,0x48(%rsp)
140595fc6:	48 89 74 24 50       	mov    %rsi,0x50(%rsp)
140595fcb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140595fd0:	49 3b fc             	cmp    %r12,%rdi
140595fd3:	74 1a                	je     0x140595fef
140595fd5:	48 8b d7             	mov    %rdi,%rdx