140386d58:	4c 8d 68 01          	lea    0x1(%rax),%r13
140386d5c:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140386d60:	48 2b ca             	sub    %rdx,%rcx
140386d63:	48 c1 f9 03          	sar    $0x3,%rcx
140386d67:	48 8b d1             	mov    %rcx,%rdx
140386d6a:	48 d1 ea             	shr    $1,%rdx
140386d6d:	49 8b c0             	mov    %r8,%rax
140386d70:	48 2b c2             	sub    %rdx,%rax
140386d73:	48 3b c8             	cmp    %rax,%rcx
140386d76:	0f 87 6c 01 00 00    	ja     0x140386ee8
140386d7c:	48 8d 04 0a          	lea    (%rdx,%rcx,1),%rax
140386d80:	49 8b fd             	mov    %r13,%rdi
140386d83:	49 3b c5             	cmp    %r13,%rax
140386d86:	48 0f 43 f8          	cmovae %rax,%rdi
140386d8a:	49 3b f8             	cmp    %r8,%rdi
140386d8d:	0f 87 55 01 00 00    	ja     0x140386ee8
140386d93:	48 8d 0c fd 00 00 00 	lea    0x0(,%rdi,8),%rcx
140386d9a:	00
140386d9b:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140386da0:	48 85 c9             	test   %rcx,%rcx
140386da3:	75 11                	jne    0x140386db6
140386da5:	33 d2                	xor    %edx,%edx
140386da7:	44 8b d2             	mov    %edx,%r10d
140386daa:	48 89 54 24 78       	mov    %rdx,0x78(%rsp)
140386daf:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140386db4:	eb 49                	jmp    0x140386dff
140386db6:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
140386dbd:	72 31                	jb     0x140386df0
140386dbf:	48 8d 41 27          	lea    0x27(%rcx),%rax
140386dc3:	48 3b c1             	cmp    %rcx,%rax
140386dc6:	0f 86 1c 01 00 00    	jbe    0x140386ee8
140386dcc:	48 8b c8             	mov    %rax,%rcx
140386dcf:	e8 34 43 a9 00       	call   0x140e1b108
140386dd4:	48 85 c0             	test   %rax,%rax
140386dd7:	0f 84 17 01 00 00    	je     0x140386ef4
140386ddd:	4c 8d 50 27          	lea    0x27(%rax),%r10
140386de1:	49 83 e2 e0          	and    $0xffffffffffffffe0,%r10
140386de5:	49 89 42 f8          	mov    %rax,-0x8(%r10)
140386de9:	4c 89 54 24 78       	mov    %r10,0x78(%rsp)
140386dee:	eb 0d                	jmp    0x140386dfd
140386df0:	e8 13 43 a9 00       	call   0x140e1b108
140386df5:	4c 8b d0             	mov    %rax,%r10
140386df8:	48 89 44 24 78       	mov    %rax,0x78(%rsp)
140386dfd:	33 d2                	xor    %edx,%edx
140386dff:	4e 8d 3c f5 00 00 00 	lea    0x0(,%r14,8),%r15
140386e06:	00
140386e07:	4f 8d 34 17          	lea    (%r15,%r10,1),%r14
140386e0b:	49 8d 4e 08          	lea    0x8(%r14),%rcx
140386e0f:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
140386e14:	49 8b 0c 24          	mov    (%r12),%rcx
140386e18:	48 85 c9             	test   %rcx,%rcx
140386e1b:	74 1c                	je     0x140386e39
140386e1d:	8b 41 10             	mov    0x10(%rcx),%eax
140386e20:	ff c0                	inc    %eax
140386e22:	89 41 10             	mov    %eax,0x10(%rcx)
140386e25:	83 f8 01             	cmp    $0x1,%eax
140386e28:	0f 8e cc 00 00 00    	jle    0x140386efa
140386e2e:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140386e33:	0f 84 c9 00 00 00    	je     0x140386f02
140386e39:	49 89 0e             	mov    %rcx,(%r14)
140386e3c:	4c 89 b4 24 88 00 00 	mov    %r14,0x88(%rsp)
140386e43:	00
140386e44:	4c 8b 4e 08          	mov    0x8(%rsi),%r9
140386e48:	48 8b 06             	mov    (%rsi),%rax
140386e4b:	4d 8b c2             	mov    %r10,%r8
140386e4e:	49 3b d9             	cmp    %r9,%rbx
140386e51:	75 25                	jne    0x140386e78
140386e53:	49 3b c1             	cmp    %r9,%rax
140386e56:	74 6c                	je     0x140386ec4
140386e58:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140386e5f:	00
140386e60:	48 8b 08             	mov    (%rax),%rcx
140386e63:	48 89 10             	mov    %rdx,(%rax)
140386e66:	49 89 08             	mov    %rcx,(%r8)
140386e69:	4d 8d 40 08          	lea    0x8(%r8),%r8
140386e6d:	48 83 c0 08          	add    $0x8,%rax
140386e71:	49 3b c1             	cmp    %r9,%rax
140386e74:	75 ea                	jne    0x140386e60
140386e76:	eb 4c                	jmp    0x140386ec4
140386e78:	48 3b c3             	cmp    %rbx,%rax
140386e7b:	74 19                	je     0x140386e96
140386e7d:	0f 1f 00             	nopl   (%rax)
140386e80:	48 8b 08             	mov    (%rax),%rcx
140386e83:	48 89 10             	mov    %rdx,(%rax)
140386e86:	49 89 08             	mov    %rcx,(%r8)
140386e89:	4d 8d 40 08          	lea    0x8(%r8),%r8
140386e8d:	48 83 c0 08          	add    $0x8,%rax
140386e91:	48 3b c3             	cmp    %rbx,%rax
140386e94:	75 ea                	jne    0x140386e80
140386e96:	4c 89 94 24 88 00 00 	mov    %r10,0x88(%rsp)
140386e9d:	00
140386e9e:	4c 8b 5e 08          	mov    0x8(%rsi),%r11
140386ea2:	49 3b db             	cmp    %r11,%rbx
140386ea5:	74 1d                	je     0x140386ec4
140386ea7:	49 8b ca             	mov    %r10,%rcx
140386eaa:	48 2b cb             	sub    %rbx,%rcx
140386ead:	49 03 cf             	add    %r15,%rcx
140386eb0:	48 8b 03             	mov    (%rbx),%rax
140386eb3:	48 89 13             	mov    %rdx,(%rbx)
140386eb6:	48 89 44 19 08       	mov    %rax,0x8(%rcx,%rbx,1)
140386ebb:	48 83 c3 08          	add    $0x8,%rbx
140386ebf:	49 3b db             	cmp    %r11,%rbx
140386ec2:	75 ec                	jne    0x140386eb0
140386ec4:	4c 8b cf             	mov    %rdi,%r9
140386ec7:	4d 8b c5             	mov    %r13,%r8
140386eca:	49 8b d2             	mov    %r10,%rdx
140386ecd:	48 8b ce             	mov    %rsi,%rcx
140386ed0:	e8 fb 81 e8 ff       	call   0x14020f0d0
140386ed5:	49 8b c6             	mov    %r14,%rax
140386ed8:	48 83 c4 30          	add    $0x30,%rsp
140386edc:	41 5f                	pop    %r15
140386ede:	41 5e                	pop    %r14
140386ee0:	41 5d                	pop    %r13
140386ee2:	41 5c                	pop    %r12
140386ee4:	5f                   	pop    %rdi
140386ee5:	5e                   	pop    %rsi
140386ee6:	5b                   	pop    %rbx
140386ee7:	c3                   	ret
140386ee8:	e8 a3 62 e1 ff       	call   0x14019d190
140386eed:	cc                   	int3
140386eee:	e8 9d 66 e1 ff       	call   0x14019d590
140386ef3:	cc                   	int3
140386ef4:	e8 ab 32 aa 00       	call   0x140e2a1a4
140386ef9:	90                   	nop
140386efa:	33 c9                	xor    %ecx,%ecx
140386efc:	e8 ff 37 40 00       	call   0x14078a700
140386f01:	cc                   	int3
140386f02:	b9 01 00 00 00       	mov    $0x1,%ecx
140386f07:	e8 f4 37 40 00       	call   0x14078a700
140386f0c:	cc                   	int3
140386f0d:	cc                   	int3
140386f0e:	cc                   	int3
140386f0f:	cc                   	int3
140386f10:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140386f15:	53                   	push   %rbx
140386f16:	56                   	push   %rsi
140386f17:	57                   	push   %rdi
140386f18:	41 54                	push   %r12
140386f1a:	41 55                	push   %r13
140386f1c:	41 56                	push   %r14
140386f1e:	41 57                	push   %r15
140386f20:	48 83 ec 30          	sub    $0x30,%rsp
140386f24:	4d 8b e0             	mov    %r8,%r12
140386f27:	48 8b da             	mov    %rdx,%rbx
140386f2a:	48 8b f1             	mov    %rcx,%rsi
140386f2d:	48 8b 11             	mov    (%rcx),%rdx
140386f30:	4c 8b f3             	mov    %rbx,%r14
140386f33:	4c 2b f2             	sub    %rdx,%r14
140386f36:	49 c1 fe 03          	sar    $0x3,%r14
140386f3a:	48 8b 41 08          	mov    0x8(%rcx),%rax
140386f3e:	48 2b c2             	sub    %rdx,%rax
140386f41:	48 c1 f8 03          	sar    $0x3,%rax
140386f45:	49 b8 ff ff ff ff ff 	movabs $0x1fffffffffffffff,%r8
140386f4c:	ff ff 1f
140386f4f:	49 3b c0             	cmp    %r8,%rax
140386f52:	0f 84 76 01 00 00    	je     0x1403870ce
140386f58:	4c 8d 68 01          	lea    0x1(%rax),%r13
140386f5c:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140386f60:	48 2b ca             	sub    %rdx,%rcx
140386f63:	48 c1 f9 03          	sar    $0x3,%rcx
140386f67:	48 8b d1             	mov    %rcx,%rdx
140386f6a:	48 d1 ea             	shr    $1,%rdx
140386f6d:	49 8b c0             	mov    %r8,%rax
140386f70:	48 2b c2             	sub    %rdx,%rax
140386f73:	48 3b c8             	cmp    %rax,%rcx
140386f76:	0f 87 4c 01 00 00    	ja     0x1403870c8
140386f7c:	48 8d 04 0a          	lea    (%rdx,%rcx,1),%rax
140386f80:	49 8b fd             	mov    %r13,%rdi
140386f83:	49 3b c5             	cmp    %r13,%rax
140386f86:	48 0f 43 f8          	cmovae %rax,%rdi
140386f8a:	49 3b f8             	cmp    %r8,%rdi
140386f8d:	0f 87 35 01 00 00    	ja     0x1403870c8
140386f93:	48 8d 0c fd 00 00 00 	lea    0x0(,%rdi,8),%rcx
140386f9a:	00
140386f9b:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140386fa0:	48 85 c9             	test   %rcx,%rcx
140386fa3:	75 11                	jne    0x140386fb6
140386fa5:	33 d2                	xor    %edx,%edx
140386fa7:	44 8b d2             	mov    %edx,%r10d
140386faa:	48 89 54 24 78       	mov    %rdx,0x78(%rsp)
140386faf:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140386fb4:	eb 49                	jmp    0x140386fff
140386fb6:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
140386fbd:	72 31                	jb     0x140386ff0
140386fbf:	48 8d 41 27          	lea    0x27(%rcx),%rax
140386fc3:	48 3b c1             	cmp    %rcx,%rax
140386fc6:	0f 86 fc 00 00 00    	jbe    0x1403870c8
140386fcc:	48 8b c8             	mov    %rax,%rcx
140386fcf:	e8 34 41 a9 00       	call   0x140e1b108
140386fd4:	48 85 c0             	test   %rax,%rax
140386fd7:	0f 84 f7 00 00 00    	je     0x1403870d4
140386fdd:	4c 8d 50 27          	lea    0x27(%rax),%r10
140386fe1:	49 83 e2 e0          	and    $0xffffffffffffffe0,%r10
140386fe5:	49 89 42 f8          	mov    %rax,-0x8(%r10)
140386fe9:	4c 89 54 24 78       	mov    %r10,0x78(%rsp)
140386fee:	eb 0d                	jmp    0x140386ffd
140386ff0:	e8 13 41 a9 00       	call   0x140e1b108
140386ff5:	4c 8b d0             	mov    %rax,%r10
140386ff8:	48 89 44 24 78       	mov    %rax,0x78(%rsp)
140386ffd:	33 d2                	xor    %edx,%edx
140386fff:	4e 8d 3c f5 00 00 00 	lea    0x0(,%r14,8),%r15
140387006:	00
140387007:	4f 8d 34 17          	lea    (%r15,%r10,1),%r14
14038700b:	49 8d 4e 08          	lea    0x8(%r14),%rcx
14038700f:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
140387014:	49 8b 04 24          	mov    (%r12),%rax
140387018:	49 89 14 24          	mov    %rdx,(%r12)
14038701c:	49 89 06             	mov    %rax,(%r14)
14038701f:	4c 89 b4 24 88 00 00 	mov    %r14,0x88(%rsp)
140387026:	00
140387027:	4c 8b 4e 08          	mov    0x8(%rsi),%r9
14038702b:	48 8b 06             	mov    (%rsi),%rax
14038702e:	4d 8b c2             	mov    %r10,%r8
140387031:	49 3b d9             	cmp    %r9,%rbx
140387034:	75 22                	jne    0x140387058
140387036:	49 3b c1             	cmp    %r9,%rax
140387039:	74 69                	je     0x1403870a4
14038703b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140387040:	48 8b 08             	mov    (%rax),%rcx
140387043:	48 89 10             	mov    %rdx,(%rax)
140387046:	49 89 08             	mov    %rcx,(%r8)
140387049:	4d 8d 40 08          	lea    0x8(%r8),%r8
14038704d:	48 83 c0 08          	add    $0x8,%rax
140387051:	49 3b c1             	cmp    %r9,%rax
140387054:	75 ea                	jne    0x140387040
140387056:	eb 4c                	jmp    0x1403870a4
140387058:	48 3b c3             	cmp    %rbx,%rax
14038705b:	74 19                	je     0x140387076
14038705d:	0f 1f 00             	nopl   (%rax)
140387060:	48 8b 08             	mov    (%rax),%rcx
140387063:	48 89 10             	mov    %rdx,(%rax)
140387066:	49 89 08             	mov    %rcx,(%r8)
140387069:	4d 8d 40 08          	lea    0x8(%r8),%r8
14038706d:	48 83 c0 08          	add    $0x8,%rax
140387071:	48 3b c3             	cmp    %rbx,%rax
140387074:	75 ea                	jne    0x140387060
140387076:	4c 89 94 24 88 00 00 	mov    %r10,0x88(%rsp)
14038707d:	00
14038707e:	4c 8b 5e 08          	mov    0x8(%rsi),%r11
140387082:	49 3b db             	cmp    %r11,%rbx
140387085:	74 1d                	je     0x1403870a4
140387087:	49 8b ca             	mov    %r10,%rcx
14038708a:	48 2b cb             	sub    %rbx,%rcx
14038708d:	49 03 cf             	add    %r15,%rcx
140387090:	48 8b 03             	mov    (%rbx),%rax
140387093:	48 89 13             	mov    %rdx,(%rbx)
140387096:	48 89 44 0b 08       	mov    %rax,0x8(%rbx,%rcx,1)
14038709b:	48 83 c3 08          	add    $0x8,%rbx
14038709f:	49 3b db             	cmp    %r11,%rbx
1403870a2:	75 ec                	jne    0x140387090
1403870a4:	4c 8b cf             	mov    %rdi,%r9
1403870a7:	4d 8b c5             	mov    %r13,%r8
1403870aa:	49 8b d2             	mov    %r10,%rdx
1403870ad:	48 8b ce             	mov    %rsi,%rcx
1403870b0:	e8 1b 80 e8 ff       	call   0x14020f0d0
1403870b5:	49 8b c6             	mov    %r14,%rax
1403870b8:	48 83 c4 30          	add    $0x30,%rsp
1403870bc:	41 5f                	pop    %r15
1403870be:	41 5e                	pop    %r14
1403870c0:	41 5d                	pop    %r13
1403870c2:	41 5c                	pop    %r12
1403870c4:	5f                   	pop    %rdi
1403870c5:	5e                   	pop    %rsi
1403870c6:	5b                   	pop    %rbx
1403870c7:	c3                   	ret
1403870c8:	e8 c3 60 e1 ff       	call   0x14019d190
1403870cd:	cc                   	int3
1403870ce:	e8 bd 64 e1 ff       	call   0x14019d590
1403870d3:	cc                   	int3
1403870d4:	e8 cb 30 aa 00       	call   0x140e2a1a4
1403870d9:	cc                   	int3
1403870da:	cc                   	int3
1403870db:	cc                   	int3
1403870dc:	cc                   	int3
1403870dd:	cc                   	int3
1403870de:	cc                   	int3
1403870df:	cc                   	int3
1403870e0:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
1403870e5:	53                   	push   %rbx
1403870e6:	56                   	push   %rsi
1403870e7:	41 57                	push   %r15
1403870e9:	48 83 ec 40          	sub    $0x40,%rsp
1403870ed:	4c 8b 79 10          	mov    0x10(%rcx),%r15
1403870f1:	48 bb fe ff ff ff ff 	movabs $0x7ffffffffffffffe,%rbx
1403870f8:	ff ff 7f
1403870fb:	48 8b c3             	mov    %rbx,%rax
1403870fe:	48 8b f1             	mov    %rcx,%rsi
140387101:	49 2b c7             	sub    %r15,%rax
140387104:	48 3b c2             	cmp    %rdx,%rax
140387107:	0f 82 bd 01 00 00    	jb     0x1403872ca
14038710d:	48 89 6c 24 68       	mov    %rbp,0x68(%rsp)
140387112:	48 8b 69 18          	mov    0x18(%rcx),%rbp
140387116:	48 89 7c 24 38       	mov    %rdi,0x38(%rsp)
14038711b:	4c 89 64 24 30       	mov    %r12,0x30(%rsp)
140387120:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
140387125:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
14038712a:	4d 8d 34 17          	lea    (%r15,%rdx,1),%r14
14038712e:	49 8b d6             	mov    %r14,%rdx
140387131:	48 83 ca 07          	or     $0x7,%rdx
140387135:	48 3b d3             	cmp    %rbx,%rdx
140387138:	77 3f                	ja     0x140387179
14038713a:	48 8b cd             	mov    %rbp,%rcx
14038713d:	48 8b c3             	mov    %rbx,%rax
140387140:	48 d1 e9             	shr    $1,%rcx
140387143:	48 2b c1             	sub    %rcx,%rax
140387146:	48 3b e8             	cmp    %rax,%rbp
140387149:	77 2e                	ja     0x140387179
14038714b:	48 8d 04 29          	lea    (%rcx,%rbp,1),%rax
14038714f:	48 8b da             	mov    %rdx,%rbx
140387152:	48 3b d0             	cmp    %rax,%rdx
140387155:	48 0f 42 d8          	cmovb  %rax,%rbx
140387159:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
140387160:	ff ff 7f
140387163:	48 8d 4b 01          	lea    0x1(%rbx),%rcx
140387167:	48 3b c8             	cmp    %rax,%rcx
14038716a:	0f 87 54 01 00 00    	ja     0x1403872c4
140387170:	48 03 c9             	add    %rcx,%rcx
140387173:	75 12                	jne    0x140387187
140387175:	33 ff                	xor    %edi,%edi
140387177:	eb 4b                	jmp    0x1403871c4
140387179:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
140387180:	ff ff 7f
140387183:	48 8d 0c 00          	lea    (%rax,%rax,1),%rcx
140387187:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
14038718e:	72 2c                	jb     0x1403871bc
140387190:	48 8d 41 27          	lea    0x27(%rcx),%rax
140387194:	48 3b c1             	cmp    %rcx,%rax
140387197:	0f 86 27 01 00 00    	jbe    0x1403872c4
14038719d:	48 8b c8             	mov    %rax,%rcx
1403871a0:	e8 63 3f a9 00       	call   0x140e1b108
1403871a5:	48 85 c0             	test   %rax,%rax
1403871a8:	0f 84 10 01 00 00    	je     0x1403872be
1403871ae:	48 8d 78 27          	lea    0x27(%rax),%rdi
1403871b2:	48 83 e7 e0          	and    $0xffffffffffffffe0,%rdi
1403871b6:	48 89 47 f8          	mov    %rax,-0x8(%rdi)
1403871ba:	eb 08                	jmp    0x1403871c4
1403871bc:	e8 47 3f a9 00       	call   0x140e1b108
1403871c1:	48 8b f8             	mov    %rax,%rdi
1403871c4:	48 8b 44 24 78       	mov    0x78(%rsp),%rax
1403871c9:	48 8b 8c 24 88 00 00 	mov    0x88(%rsp),%rcx
1403871d0:	00
1403871d1:	4c 2b f8             	sub    %rax,%r15
1403871d4:	4c 89 76 10          	mov    %r14,0x10(%rsi)
1403871d8:	48 89 5e 18          	mov    %rbx,0x18(%rsi)
1403871dc:	4c 8d 34 00          	lea    (%rax,%rax,1),%r14
1403871e0:	4c 8d 24 09          	lea    (%rcx,%rcx,1),%r12
1403871e4:	4d 8b c6             	mov    %r14,%r8
1403871e7:	48 03 c8             	add    %rax,%rcx
1403871ea:	4d 8d 2c 3e          	lea    (%r14,%rdi,1),%r13
1403871ee:	48 8d 1c 4f          	lea    (%rdi,%rcx,2),%rbx