140187b93:	48 83 ec 20          	sub    $0x20,%rsp
140187b97:	48 8b fa             	mov    %rdx,%rdi
140187b9a:	48 8b d9             	mov    %rcx,%rbx
140187b9d:	48 8b cb             	mov    %rbx,%rcx
140187ba0:	e8 ab ce ea ff       	call   0x140034a50
140187ba5:	48 83 c3 48          	add    $0x48,%rbx
140187ba9:	48 3b df             	cmp    %rdi,%rbx
140187bac:	75 ef                	jne    0x140187b9d
140187bae:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140187bb3:	48 83 c4 20          	add    $0x20,%rsp
140187bb7:	5f                   	pop    %rdi
140187bb8:	c3                   	ret
140187bb9:	90                   	nop
140187bba:	90                   	nop
140187bbb:	90                   	nop
140187bbc:	90                   	nop
140187bbd:	90                   	nop
140187bbe:	90                   	nop
140187bbf:	90                   	nop
140187bc0:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
140187bc5:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140187bca:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140187bcf:	53                   	push   %rbx
140187bd0:	56                   	push   %rsi
140187bd1:	57                   	push   %rdi
140187bd2:	41 54                	push   %r12
140187bd4:	41 55                	push   %r13
140187bd6:	41 56                	push   %r14
140187bd8:	41 57                	push   %r15
140187bda:	48 83 ec 40          	sub    $0x40,%rsp
140187bde:	4d 8b f9             	mov    %r9,%r15
140187be1:	49 8b d8             	mov    %r8,%rbx
140187be4:	48 8b fa             	mov    %rdx,%rdi
140187be7:	4c 8d 69 08          	lea    0x8(%rcx),%r13
140187beb:	4c 89 6c 24 20       	mov    %r13,0x20(%rsp)
140187bf0:	48 8b 31             	mov    (%rcx),%rsi
140187bf3:	4d 8b 75 00          	mov    0x0(%r13),%r14
140187bf7:	4c 89 74 24 28       	mov    %r14,0x28(%rsp)
140187bfc:	48 8b 51 10          	mov    0x10(%rcx),%rdx
140187c00:	48 8b c2             	mov    %rdx,%rax
140187c03:	49 2b c6             	sub    %r14,%rax
140187c06:	48 c1 f8 04          	sar    $0x4,%rax
140187c0a:	45 33 c0             	xor    %r8d,%r8d
140187c0d:	4d 85 c9             	test   %r9,%r9
140187c10:	0f 84 0a 02 00 00    	je     0x140187e20
140187c16:	4c 3b c8             	cmp    %rax,%r9
140187c19:	0f 86 11 02 00 00    	jbe    0x140187e30
140187c1f:	49 8b ce             	mov    %r14,%rcx
140187c22:	48 2b ce             	sub    %rsi,%rcx
140187c25:	48 c1 f9 04          	sar    $0x4,%rcx
140187c29:	49 bd ff ff ff ff ff 	movabs $0xfffffffffffffff,%r13
140187c30:	ff ff 0f
140187c33:	49 8b c5             	mov    %r13,%rax
140187c36:	48 2b c1             	sub    %rcx,%rax
140187c39:	4c 3b c8             	cmp    %rax,%r9
140187c3c:	0f 87 6e 03 00 00    	ja     0x140187fb0
140187c42:	4e 8d 04 09          	lea    (%rcx,%r9,1),%r8
140187c46:	4c 89 44 24 30       	mov    %r8,0x30(%rsp)
140187c4b:	48 2b d6             	sub    %rsi,%rdx
140187c4e:	48 c1 fa 04          	sar    $0x4,%rdx
140187c52:	48 8b ca             	mov    %rdx,%rcx
140187c55:	48 d1 e9             	shr    $1,%rcx
140187c58:	49 8b c5             	mov    %r13,%rax
140187c5b:	48 2b c1             	sub    %rcx,%rax
140187c5e:	48 3b d0             	cmp    %rax,%rdx
140187c61:	77 0b                	ja     0x140187c6e
140187c63:	4c 8d 2c 11          	lea    (%rcx,%rdx,1),%r13
140187c67:	4d 3b e8             	cmp    %r8,%r13
140187c6a:	4d 0f 42 e8          	cmovb  %r8,%r13
140187c6e:	4c 89 6c 24 20       	mov    %r13,0x20(%rsp)
140187c73:	4c 89 ac 24 88 00 00 	mov    %r13,0x88(%rsp)
140187c7a:	00
140187c7b:	48 8d 94 24 88 00 00 	lea    0x88(%rsp),%rdx
140187c82:	00
140187c83:	e8 50 a6 e9 ff       	call   0x1400222d8
140187c88:	48 89 84 24 88 00 00 	mov    %rax,0x88(%rsp)
140187c8f:	00
140187c90:	48 8b cf             	mov    %rdi,%rcx
140187c93:	48 2b ce             	sub    %rsi,%rcx
140187c96:	48 c1 f9 04          	sar    $0x4,%rcx
140187c9a:	49 8d 14 0f          	lea    (%r15,%rcx,1),%rdx
140187c9e:	48 c1 e2 04          	shl    $0x4,%rdx
140187ca2:	48 89 54 24 28       	mov    %rdx,0x28(%rsp)
140187ca7:	4c 8d 24 02          	lea    (%rdx,%rax,1),%r12
140187cab:	4c 89 64 24 38       	mov    %r12,0x38(%rsp)
140187cb0:	48 c1 e1 04          	shl    $0x4,%rcx
140187cb4:	48 03 c1             	add    %rcx,%rax
140187cb7:	48 89 84 24 98 00 00 	mov    %rax,0x98(%rsp)
140187cbe:	00
140187cbf:	49 8b d7             	mov    %r15,%rdx
140187cc2:	48 8b c8             	mov    %rax,%rcx
140187cc5:	48 83 c3 f8          	add    $0xfffffffffffffff8,%rbx
140187cc9:	48 83 21 00          	andq   $0x0,(%rcx)
140187ccd:	48 83 61 08 00       	andq   $0x0,0x8(%rcx)
140187cd2:	48 8b 03             	mov    (%rbx),%rax
140187cd5:	48 85 c0             	test   %rax,%rax
140187cd8:	74 04                	je     0x140187cde
140187cda:	f0 ff 40 08          	lock incl 0x8(%rax)
140187cde:	48 8b 43 f8          	mov    -0x8(%rbx),%rax
140187ce2:	48 89 01             	mov    %rax,(%rcx)
140187ce5:	48 8b 03             	mov    (%rbx),%rax
140187ce8:	48 89 41 08          	mov    %rax,0x8(%rcx)
140187cec:	48 83 c1 10          	add    $0x10,%rcx
140187cf0:	48 83 eb 10          	sub    $0x10,%rbx
140187cf4:	48 83 ea 01          	sub    $0x1,%rdx
140187cf8:	75 cf                	jne    0x140187cc9
140187cfa:	48 8b d1             	mov    %rcx,%rdx
140187cfd:	e8 6e 65 e9 ff       	call   0x14001e270
140187d02:	48 8b 84 24 98 00 00 	mov    0x98(%rsp),%rax
140187d09:	00
140187d0a:	48 89 84 24 98 00 00 	mov    %rax,0x98(%rsp)
140187d11:	00
140187d12:	49 83 ff 01          	cmp    $0x1,%r15
140187d16:	75 4f                	jne    0x140187d67
140187d18:	49 3b fe             	cmp    %r14,%rdi
140187d1b:	75 4a                	jne    0x140187d67
140187d1d:	48 8b 9c 24 88 00 00 	mov    0x88(%rsp),%rbx
140187d24:	00
140187d25:	48 8b cb             	mov    %rbx,%rcx
140187d28:	49 3b f6             	cmp    %r14,%rsi
140187d2b:	74 32                	je     0x140187d5f
140187d2d:	48 2b f3             	sub    %rbx,%rsi
140187d30:	33 d2                	xor    %edx,%edx
140187d32:	48 89 11             	mov    %rdx,(%rcx)
140187d35:	48 89 51 08          	mov    %rdx,0x8(%rcx)
140187d39:	48 8b 04 0e          	mov    (%rsi,%rcx,1),%rax
140187d3d:	48 89 01             	mov    %rax,(%rcx)
140187d40:	48 8b 44 0e 08       	mov    0x8(%rsi,%rcx,1),%rax
140187d45:	48 89 41 08          	mov    %rax,0x8(%rcx)
140187d49:	48 89 14 0e          	mov    %rdx,(%rsi,%rcx,1)
140187d4d:	48 89 54 0e 08       	mov    %rdx,0x8(%rsi,%rcx,1)
140187d52:	48 83 c1 10          	add    $0x10,%rcx
140187d56:	48 8d 04 0e          	lea    (%rsi,%rcx,1),%rax
140187d5a:	49 3b c6             	cmp    %r14,%rax
140187d5d:	75 d3                	jne    0x140187d32
140187d5f:	48 8b d1             	mov    %rcx,%rdx
140187d62:	e9 9c 00 00 00       	jmp    0x140187e03
140187d67:	48 8b 9c 24 88 00 00 	mov    0x88(%rsp),%rbx
140187d6e:	00
140187d6f:	48 8b cb             	mov    %rbx,%rcx
140187d72:	48 3b f7             	cmp    %rdi,%rsi
140187d75:	74 35                	je     0x140187dac
140187d77:	48 2b f3             	sub    %rbx,%rsi
140187d7a:	45 33 ff             	xor    %r15d,%r15d
140187d7d:	4c 89 39             	mov    %r15,(%rcx)
140187d80:	4c 89 79 08          	mov    %r15,0x8(%rcx)
140187d84:	48 8b 04 0e          	mov    (%rsi,%rcx,1),%rax
140187d88:	48 89 01             	mov    %rax,(%rcx)
140187d8b:	48 8b 44 0e 08       	mov    0x8(%rsi,%rcx,1),%rax
140187d90:	48 89 41 08          	mov    %rax,0x8(%rcx)
140187d94:	4c 89 3c 31          	mov    %r15,(%rcx,%rsi,1)
140187d98:	4c 89 7c 31 08       	mov    %r15,0x8(%rcx,%rsi,1)
140187d9d:	48 83 c1 10          	add    $0x10,%rcx
140187da1:	48 8d 04 0e          	lea    (%rsi,%rcx,1),%rax
140187da5:	48 3b c7             	cmp    %rdi,%rax
140187da8:	75 d3                	jne    0x140187d7d
140187daa:	eb 03                	jmp    0x140187daf
140187dac:	45 33 ff             	xor    %r15d,%r15d
140187daf:	48 8b d1             	mov    %rcx,%rdx
140187db2:	e8 b9 64 e9 ff       	call   0x14001e270
140187db7:	48 89 9c 24 98 00 00 	mov    %rbx,0x98(%rsp)
140187dbe:	00
140187dbf:	49 3b fe             	cmp    %r14,%rdi
140187dc2:	74 39                	je     0x140187dfd
140187dc4:	48 2b 7c 24 28       	sub    0x28(%rsp),%rdi
140187dc9:	48 2b fb             	sub    %rbx,%rdi
140187dcc:	4d 89 3c 24          	mov    %r15,(%r12)
140187dd0:	4d 89 7c 24 08       	mov    %r15,0x8(%r12)
140187dd5:	49 8b 04 3c          	mov    (%r12,%rdi,1),%rax
140187dd9:	49 89 04 24          	mov    %rax,(%r12)
140187ddd:	49 8b 44 3c 08       	mov    0x8(%r12,%rdi,1),%rax
140187de2:	49 89 44 24 08       	mov    %rax,0x8(%r12)
140187de7:	4d 89 3c 3c          	mov    %r15,(%r12,%rdi,1)
140187deb:	4d 89 7c 3c 08       	mov    %r15,0x8(%r12,%rdi,1)
140187df0:	49 83 c4 10          	add    $0x10,%r12
140187df4:	49 8d 04 3c          	lea    (%r12,%rdi,1),%rax
140187df8:	49 3b c6             	cmp    %r14,%rax
140187dfb:	75 cf                	jne    0x140187dcc
140187dfd:	49 8b d4             	mov    %r12,%rdx
140187e00:	49 8b cc             	mov    %r12,%rcx
140187e03:	e8 68 64 e9 ff       	call   0x14001e270
140187e08:	4d 8b cd             	mov    %r13,%r9
140187e0b:	4c 8b 44 24 30       	mov    0x30(%rsp),%r8
140187e10:	48 8b d3             	mov    %rbx,%rdx
140187e13:	48 8b 8c 24 80 00 00 	mov    0x80(%rsp),%rcx
140187e1a:	00
140187e1b:	e8 a8 a7 e9 ff       	call   0x1400225c8
140187e20:	48 83 c4 40          	add    $0x40,%rsp
140187e24:	41 5f                	pop    %r15
140187e26:	41 5e                	pop    %r14
140187e28:	41 5d                	pop    %r13
140187e2a:	41 5c                	pop    %r12
140187e2c:	5f                   	pop    %rdi
140187e2d:	5e                   	pop    %rsi
140187e2e:	5b                   	pop    %rbx
140187e2f:	c3                   	ret
140187e30:	49 8b c6             	mov    %r14,%rax
140187e33:	48 2b c7             	sub    %rdi,%rax
140187e36:	48 c1 f8 04          	sar    $0x4,%rax
140187e3a:	4d 8b e7             	mov    %r15,%r12
140187e3d:	49 c1 e4 04          	shl    $0x4,%r12
140187e41:	4c 3b f8             	cmp    %rax,%r15
140187e44:	0f 83 c2 00 00 00    	jae    0x140187f0c
140187e4a:	49 8b f6             	mov    %r14,%rsi
140187e4d:	49 2b f4             	sub    %r12,%rsi
140187e50:	4d 8b ee             	mov    %r14,%r13
140187e53:	49 3b f6             	cmp    %r14,%rsi
140187e56:	74 35                	je     0x140187e8d
140187e58:	48 8b ce             	mov    %rsi,%rcx
140187e5b:	49 2b ce             	sub    %r14,%rcx
140187e5e:	4d 89 45 00          	mov    %r8,0x0(%r13)
140187e62:	4d 89 45 08          	mov    %r8,0x8(%r13)
140187e66:	4a 8b 04 29          	mov    (%rcx,%r13,1),%rax
140187e6a:	49 89 45 00          	mov    %rax,0x0(%r13)
140187e6e:	4a 8b 44 29 08       	mov    0x8(%rcx,%r13,1),%rax
140187e73:	49 89 45 08          	mov    %rax,0x8(%r13)
140187e77:	4e 89 04 29          	mov    %r8,(%rcx,%r13,1)
140187e7b:	4e 89 44 29 08       	mov    %r8,0x8(%rcx,%r13,1)
140187e80:	49 83 c5 10          	add    $0x10,%r13
140187e84:	4a 8d 04 29          	lea    (%rcx,%r13,1),%rax
140187e88:	49 3b c6             	cmp    %r14,%rax
140187e8b:	75 d1                	jne    0x140187e5e
140187e8d:	49 8b d5             	mov    %r13,%rdx
140187e90:	49 8b cd             	mov    %r13,%rcx
140187e93:	e8 d8 63 e9 ff       	call   0x14001e270
140187e98:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
140187e9f:	00
140187ea0:	4c 89 68 08          	mov    %r13,0x8(%rax)
140187ea4:	eb 10                	jmp    0x140187eb6
140187ea6:	48 83 ee 10          	sub    $0x10,%rsi
140187eaa:	49 8d 0c 34          	lea    (%r12,%rsi,1),%rcx
140187eae:	48 8b d6             	mov    %rsi,%rdx
140187eb1:	e8 2e e4 e7 ff       	call   0x1400062e4
140187eb6:	48 3b f7             	cmp    %rdi,%rsi
140187eb9:	75 eb                	jne    0x140187ea6
140187ebb:	4a 8d 14 27          	lea    (%rdi,%r12,1),%rdx
140187ebf:	48 8b cf             	mov    %rdi,%rcx
140187ec2:	e8 a9 63 e9 ff       	call   0x14001e270
140187ec7:	48 83 c3 f8          	add    $0xfffffffffffffff8,%rbx
140187ecb:	48 83 27 00          	andq   $0x0,(%rdi)
140187ecf:	48 83 67 08 00       	andq   $0x0,0x8(%rdi)
140187ed4:	48 8b 03             	mov    (%rbx),%rax
140187ed7:	48 85 c0             	test   %rax,%rax
140187eda:	74 04                	je     0x140187ee0
140187edc:	f0 ff 40 08          	lock incl 0x8(%rax)
140187ee0:	48 8b 43 f8          	mov    -0x8(%rbx),%rax
140187ee4:	48 89 07             	mov    %rax,(%rdi)
140187ee7:	48 8b 03             	mov    (%rbx),%rax
140187eea:	48 89 47 08          	mov    %rax,0x8(%rdi)
140187eee:	48 83 c7 10          	add    $0x10,%rdi
140187ef2:	48 83 eb 10          	sub    $0x10,%rbx
140187ef6:	49 83 ef 01          	sub    $0x1,%r15
140187efa:	75 cf                	jne    0x140187ecb
140187efc:	48 8b d7             	mov    %rdi,%rdx
140187eff:	48 8b cf             	mov    %rdi,%rcx
140187f02:	e8 69 63 e9 ff       	call   0x14001e270
140187f07:	e9 9f 00 00 00       	jmp    0x140187fab
140187f0c:	49 8d 34 3c          	lea    (%r12,%rdi,1),%rsi
140187f10:	48 89 b4 24 80 00 00 	mov    %rsi,0x80(%rsp)
140187f17:	00
140187f18:	49 3b fe             	cmp    %r14,%rdi
140187f1b:	74 33                	je     0x140187f50
140187f1d:	48 8b cf             	mov    %rdi,%rcx
140187f20:	48 2b ce             	sub    %rsi,%rcx
140187f23:	4c 89 06             	mov    %r8,(%rsi)
140187f26:	4c 89 46 08          	mov    %r8,0x8(%rsi)
140187f2a:	48 8b 04 0e          	mov    (%rsi,%rcx,1),%rax
140187f2e:	48 89 06             	mov    %rax,(%rsi)
140187f31:	48 8b 44 0e 08       	mov    0x8(%rsi,%rcx,1),%rax
140187f36:	48 89 46 08          	mov    %rax,0x8(%rsi)
140187f3a:	4c 89 04 0e          	mov    %r8,(%rsi,%rcx,1)
140187f3e:	4c 89 44 0e 08       	mov    %r8,0x8(%rsi,%rcx,1)
140187f43:	48 83 c6 10          	add    $0x10,%rsi
140187f47:	48 8d 04 0e          	lea    (%rsi,%rcx,1),%rax
140187f4b:	49 3b c6             	cmp    %r14,%rax
140187f4e:	75 d3                	jne    0x140187f23
140187f50:	48 8b d6             	mov    %rsi,%rdx
140187f53:	48 8b ce             	mov    %rsi,%rcx
140187f56:	e8 15 63 e9 ff       	call   0x14001e270
140187f5b:	49 89 75 00          	mov    %rsi,0x0(%r13)
140187f5f:	49 8b d6             	mov    %r14,%rdx
140187f62:	48 8b cf             	mov    %rdi,%rcx
140187f65:	e8 06 63 e9 ff       	call   0x14001e270
140187f6a:	48 83 c3 f8          	add    $0xfffffffffffffff8,%rbx
140187f6e:	48 83 27 00          	andq   $0x0,(%rdi)
140187f72:	48 83 67 08 00       	andq   $0x0,0x8(%rdi)
140187f77:	48 8b 03             	mov    (%rbx),%rax
140187f7a:	48 85 c0             	test   %rax,%rax
140187f7d:	74 04                	je     0x140187f83
140187f7f:	f0 ff 40 08          	lock incl 0x8(%rax)
140187f83:	48 8b 43 f8          	mov    -0x8(%rbx),%rax
140187f87:	48 89 07             	mov    %rax,(%rdi)
140187f8a:	48 8b 03             	mov    (%rbx),%rax
140187f8d:	48 89 47 08          	mov    %rax,0x8(%rdi)
140187f91:	48 83 c7 10          	add    $0x10,%rdi
140187f95:	48 83 eb 10          	sub    $0x10,%rbx
140187f99:	49 83 ef 01          	sub    $0x1,%r15
140187f9d:	75 cf                	jne    0x140187f6e
140187f9f:	48 8b d7             	mov    %rdi,%rdx
140187fa2:	48 8b cf             	mov    %rdi,%rcx
140187fa5:	e8 c6 62 e9 ff       	call   0x14001e270
140187faa:	90                   	nop
140187fab:	e9 70 fe ff ff       	jmp    0x140187e20
140187fb0:	e8 b3 3d e9 ff       	call   0x14001bd68
140187fb5:	cc                   	int3
140187fb6:	90                   	nop
140187fb7:	90                   	nop
140187fb8:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140187fbd:	53                   	push   %rbx
140187fbe:	56                   	push   %rsi
140187fbf:	57                   	push   %rdi
140187fc0:	41 54                	push   %r12
140187fc2:	41 55                	push   %r13
140187fc4:	41 56                	push   %r14
140187fc6:	41 57                	push   %r15
140187fc8:	48 83 ec 30          	sub    $0x30,%rsp
140187fcc:	4c 8b fa             	mov    %rdx,%r15
140187fcf:	48 8b f9             	mov    %rcx,%rdi
140187fd2:	4c 8b ca             	mov    %rdx,%r9
140187fd5:	4c 2b 09             	sub    (%rcx),%r9
140187fd8:	48 b8 39 8e e3 38 8e 	movabs $0xe38e38e38e38e39,%rax
140187fdf:	e3 38 0e
140187fe2:	49 f7 e9             	imul   %r9
140187fe5:	48 8b f2             	mov    %rdx,%rsi
140187fe8:	48 c1 fe 02          	sar    $0x2,%rsi
140187fec:	48 8b c6             	mov    %rsi,%rax
140187fef:	48 c1 e8 3f          	shr    $0x3f,%rax
140187ff3:	48 03 f0             	add    %rax,%rsi
140187ff6:	48 8b 41 08          	mov    0x8(%rcx),%rax
140187ffa:	48 2b 01             	sub    (%rcx),%rax
140187ffd:	48 c1 f8 03          	sar    $0x3,%rax
140188001:	48 ba 39 8e e3 38 8e 	movabs $0x8e38e38e38e38e39,%rdx
140188008:	e3 38 8e
14018800b:	48 0f af c2          	imul   %rdx,%rax
14018800f:	49 b9 8e e3 38 8e e3 	movabs $0x38e38e38e38e38e,%r9
140188016:	38 8e 03
140188019:	49 3b c1             	cmp    %r9,%rax
14018801c:	0f 84 a5 01 00 00    	je     0x1401881c7
140188022:	4c 8d 60 01          	lea    0x1(%rax),%r12
140188026:	48 8b 49 10          	mov    0x10(%rcx),%rcx
14018802a:	48 2b 0f             	sub    (%rdi),%rcx
14018802d:	48 c1 f9 03          	sar    $0x3,%rcx
140188031:	48 0f af ca          	imul   %rdx,%rcx
140188035:	48 8b d1             	mov    %rcx,%rdx
140188038:	48 d1 ea             	shr    $1,%rdx
14018803b:	49 8b c1             	mov    %r9,%rax
14018803e:	48 2b c2             	sub    %rdx,%rax
140188041:	48 3b c8             	cmp    %rax,%rcx
140188044:	76 05                	jbe    0x14018804b
140188046:	49 8b c1             	mov    %r9,%rax