140096d8b:	4c 8b 3a             	mov    (%rdx),%r15
140096d8e:	49 3b df             	cmp    %r15,%rbx
140096d91:	75 08                	jne    0x140096d9b
140096d93:	49 8b df             	mov    %r15,%rbx
140096d96:	4d 8b f7             	mov    %r15,%r14
140096d99:	eb 48                	jmp    0x140096de3
140096d9b:	48 8b 14 c1          	mov    (%rcx,%rax,8),%rdx
140096d9f:	41 8b 00             	mov    (%r8),%eax
140096da2:	eb 09                	jmp    0x140096dad
140096da4:	48 3b da             	cmp    %rdx,%rbx
140096da7:	74 30                	je     0x140096dd9
140096da9:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
140096dad:	3b 43 10             	cmp    0x10(%rbx),%eax
140096db0:	75 f2                	jne    0x140096da4
140096db2:	48 89 1e             	mov    %rbx,(%rsi)
140096db5:	c6 46 08 00          	movb   $0x0,0x8(%rsi)
140096db9:	48 8b c6             	mov    %rsi,%rax
140096dbc:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140096dc1:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140096dc6:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140096dcb:	48 83 c4 30          	add    $0x30,%rsp
140096dcf:	41 5f                	pop    %r15
140096dd1:	41 5e                	pop    %r14
140096dd3:	41 5d                	pop    %r13
140096dd5:	41 5c                	pop    %r12
140096dd7:	5f                   	pop    %rdi
140096dd8:	c3                   	ret
140096dd9:	4c 8b fb             	mov    %rbx,%r15
140096ddc:	4c 8b f3             	mov    %rbx,%r14
140096ddf:	48 8d 55 08          	lea    0x8(%rbp),%rdx
140096de3:	48 b8 aa aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaa,%rax
140096dea:	aa aa 0a
140096ded:	48 39 45 10          	cmp    %rax,0x10(%rbp)
140096df1:	75 0e                	jne    0x140096e01
140096df3:	48 8d 0d 06 14 1b 00 	lea    0x1b1406(%rip),%rcx        # 0x140248200
140096dfa:	ff 15 28 b9 17 00    	call   *0x17b928(%rip)        # 0x140212728
140096e00:	cc                   	int3
140096e01:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140096e06:	48 83 64 24 28 00    	andq   $0x0,0x28(%rsp)
140096e0c:	0f ae e8             	lfence
140096e0f:	b9 18 00 00 00       	mov    $0x18,%ecx
140096e14:	ff 15 36 bd 17 00    	call   *0x17bd36(%rip)        # 0x140212b50
140096e1a:	48 8b f8             	mov    %rax,%rdi
140096e1d:	48 85 c0             	test   %rax,%rax
140096e20:	75 07                	jne    0x140096e29
140096e22:	ff 15 08 bd 17 00    	call   *0x17bd08(%rip)        # 0x140212b30
140096e28:	cc                   	int3
140096e29:	48 89 7c 24 28       	mov    %rdi,0x28(%rsp)
140096e2e:	41 8b 45 00          	mov    0x0(%r13),%eax
140096e32:	89 47 10             	mov    %eax,0x10(%rdi)
140096e35:	48 8b 55 10          	mov    0x10(%rbp),%rdx
140096e39:	48 83 c2 01          	add    $0x1,%rdx
140096e3d:	0f 57 c0             	xorps  %xmm0,%xmm0
140096e40:	78 07                	js     0x140096e49
140096e42:	f3 48 0f 2a c2       	cvtsi2ss %rdx,%xmm0
140096e47:	eb 18                	jmp    0x140096e61
140096e49:	48 8b ca             	mov    %rdx,%rcx
140096e4c:	48 d1 e9             	shr    $1,%rcx
140096e4f:	48 8b c2             	mov    %rdx,%rax
140096e52:	83 e0 01             	and    $0x1,%eax
140096e55:	48 0b c8             	or     %rax,%rcx
140096e58:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
140096e5d:	f3 0f 58 c0          	addss  %xmm0,%xmm0
140096e61:	48 8b 4d 38          	mov    0x38(%rbp),%rcx
140096e65:	0f 57 c9             	xorps  %xmm1,%xmm1
140096e68:	48 85 c9             	test   %rcx,%rcx
140096e6b:	78 07                	js     0x140096e74
140096e6d:	f3 48 0f 2a c9       	cvtsi2ss %rcx,%xmm1
140096e72:	eb 15                	jmp    0x140096e89
140096e74:	48 8b c1             	mov    %rcx,%rax
140096e77:	48 d1 e8             	shr    $1,%rax
140096e7a:	83 e1 01             	and    $0x1,%ecx
140096e7d:	48 0b c1             	or     %rcx,%rax
140096e80:	f3 48 0f 2a c8       	cvtsi2ss %rax,%xmm1
140096e85:	f3 0f 58 c9          	addss  %xmm1,%xmm1
140096e89:	f3 0f 5e c1          	divss  %xmm1,%xmm0
140096e8d:	0f 2f 45 00          	comiss 0x0(%rbp),%xmm0
140096e91:	76 59                	jbe    0x140096eec
140096e93:	48 8b cd             	mov    %rbp,%rcx
140096e96:	e8 41 02 00 00       	call   0x1400970dc
140096e9b:	48 8b d0             	mov    %rax,%rdx
140096e9e:	48 8b cd             	mov    %rbp,%rcx
140096ea1:	e8 a6 00 00 00       	call   0x140096f4c
140096ea6:	48 8b 4d 30          	mov    0x30(%rbp),%rcx
140096eaa:	49 23 cc             	and    %r12,%rcx
140096ead:	48 03 c9             	add    %rcx,%rcx
140096eb0:	48 8b 55 18          	mov    0x18(%rbp),%rdx
140096eb4:	48 8b 44 ca 08       	mov    0x8(%rdx,%rcx,8),%rax
140096eb9:	48 8b 5d 08          	mov    0x8(%rbp),%rbx
140096ebd:	48 3b c3             	cmp    %rbx,%rax
140096ec0:	74 1d                	je     0x140096edf
140096ec2:	48 8b 14 ca          	mov    (%rdx,%rcx,8),%rdx
140096ec6:	8b 4f 10             	mov    0x10(%rdi),%ecx
140096ec9:	eb 0c                	jmp    0x140096ed7
140096ecb:	48 8b d8             	mov    %rax,%rbx
140096ece:	48 3b c2             	cmp    %rdx,%rax
140096ed1:	74 4d                	je     0x140096f20
140096ed3:	48 8b 40 08          	mov    0x8(%rax),%rax
140096ed7:	3b 48 10             	cmp    0x10(%rax),%ecx
140096eda:	75 ef                	jne    0x140096ecb
140096edc:	48 8b 18             	mov    (%rax),%rbx
140096edf:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140096ee4:	4c 8b f3             	mov    %rbx,%r14
140096ee7:	4c 8b 7c 24 20       	mov    0x20(%rsp),%r15
140096eec:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140096ef0:	48 ff 45 10          	incq   0x10(%rbp)
140096ef4:	4c 89 3f             	mov    %r15,(%rdi)
140096ef7:	48 89 57 08          	mov    %rdx,0x8(%rdi)
140096efb:	48 89 3a             	mov    %rdi,(%rdx)
140096efe:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
140096f02:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
140096f06:	48 8b 45 30          	mov    0x30(%rbp),%rax
140096f0a:	49 23 c4             	and    %r12,%rax
140096f0d:	48 03 c0             	add    %rax,%rax
140096f10:	4c 8b 04 c1          	mov    (%rcx,%rax,8),%r8
140096f14:	4c 3b 45 08          	cmp    0x8(%rbp),%r8
140096f18:	75 0d                	jne    0x140096f27
140096f1a:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
140096f1e:	eb 19                	jmp    0x140096f39
140096f20:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140096f25:	eb bd                	jmp    0x140096ee4
140096f27:	4d 3b c6             	cmp    %r14,%r8
140096f2a:	75 06                	jne    0x140096f32
140096f2c:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
140096f30:	eb 0c                	jmp    0x140096f3e
140096f32:	48 39 54 c1 08       	cmp    %rdx,0x8(%rcx,%rax,8)
140096f37:	75 05                	jne    0x140096f3e
140096f39:	48 89 7c c1 08       	mov    %rdi,0x8(%rcx,%rax,8)
140096f3e:	48 89 3e             	mov    %rdi,(%rsi)
140096f41:	c6 46 08 01          	movb   $0x1,0x8(%rsi)
140096f45:	e9 6f fe ff ff       	jmp    0x140096db9
140096f4a:	cc                   	int3
140096f4b:	90                   	nop
140096f4c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140096f51:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140096f56:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140096f5b:	41 56                	push   %r14
140096f5d:	48 83 ec 20          	sub    $0x20,%rsp
140096f61:	48 b8 ff ff ff ff ff 	movabs $0xfffffffffffffff,%rax
140096f68:	ff ff 0f
140096f6b:	48 8b f9             	mov    %rcx,%rdi
140096f6e:	48 0f bd c8          	bsr    %rax,%rcx
140096f72:	b8 01 00 00 00       	mov    $0x1,%eax
140096f77:	48 d3 e0             	shl    %cl,%rax
140096f7a:	48 3b d0             	cmp    %rax,%rdx
140096f7d:	76 0e                	jbe    0x140096f8d
140096f7f:	48 8d 0d 4a 12 1b 00 	lea    0x1b124a(%rip),%rcx        # 0x1402481d0
140096f86:	ff 15 9c b7 17 00    	call   *0x17b79c(%rip)        # 0x140212728
140096f8c:	cc                   	int3
140096f8d:	48 8b 77 08          	mov    0x8(%rdi),%rsi
140096f91:	48 8d 42 ff          	lea    -0x1(%rdx),%rax
140096f95:	48 83 c8 01          	or     $0x1,%rax
140096f99:	bb 01 00 00 00       	mov    $0x1,%ebx
140096f9e:	48 0f bd c8          	bsr    %rax,%rcx
140096fa2:	4c 8b c6             	mov    %rsi,%r8
140096fa5:	ff c1                	inc    %ecx
140096fa7:	48 d3 e3             	shl    %cl,%rbx
140096faa:	48 8d 4f 18          	lea    0x18(%rdi),%rcx
140096fae:	48 8d 14 1b          	lea    (%rbx,%rbx,1),%rdx
140096fb2:	e8 8d 68 f7 ff       	call   0x14000d844
140096fb7:	48 89 5f 38          	mov    %rbx,0x38(%rdi)
140096fbb:	48 8d 43 ff          	lea    -0x1(%rbx),%rax
140096fbf:	48 89 47 30          	mov    %rax,0x30(%rdi)
140096fc3:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
140096fc7:	48 8b 09             	mov    (%rcx),%rcx
140096fca:	48 3b ce             	cmp    %rsi,%rcx
140096fcd:	0f 84 cc 00 00 00    	je     0x14009709f
140096fd3:	48 8b c1             	mov    %rcx,%rax
140096fd6:	48 8b 09             	mov    (%rcx),%rcx
140096fd9:	49 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%r8
140096fe0:	9c f2 cb
140096fe3:	45 33 c9             	xor    %r9d,%r9d
140096fe6:	42 0f b6 54 08 10    	movzbl 0x10(%rax,%r9,1),%edx
140096fec:	49 ba b3 01 00 00 00 	movabs $0x100000001b3,%r10
140096ff3:	01 00 00
140096ff6:	4c 33 c2             	xor    %rdx,%r8
140096ff9:	49 ff c1             	inc    %r9
140096ffc:	4d 0f af c2          	imul   %r10,%r8
140097000:	49 83 f9 04          	cmp    $0x4,%r9
140097004:	72 e0                	jb     0x140096fe6
140097006:	4c 8b 5f 30          	mov    0x30(%rdi),%r11
14009700a:	48 8b 5f 18          	mov    0x18(%rdi),%rbx
14009700e:	4d 23 d8             	and    %r8,%r11
140097011:	4d 03 db             	add    %r11,%r11
140097014:	4a 39 34 db          	cmp    %rsi,(%rbx,%r11,8)
140097018:	75 0b                	jne    0x140097025
14009701a:	4a 89 04 db          	mov    %rax,(%rbx,%r11,8)
14009701e:	4a 89 44 db 08       	mov    %rax,0x8(%rbx,%r11,8)
140097023:	eb 6e                	jmp    0x140097093
140097025:	4e 8b 54 db 08       	mov    0x8(%rbx,%r11,8),%r10
14009702a:	8b 50 10             	mov    0x10(%rax),%edx
14009702d:	41 3b 52 10          	cmp    0x10(%r10),%edx
140097031:	75 35                	jne    0x140097068
140097033:	4d 8b 12             	mov    (%r10),%r10
140097036:	4c 3b d0             	cmp    %rax,%r10
140097039:	74 e3                	je     0x14009701e
14009703b:	4c 8b 48 08          	mov    0x8(%rax),%r9
14009703f:	49 89 09             	mov    %rcx,(%r9)
140097042:	4c 8b 41 08          	mov    0x8(%rcx),%r8
140097046:	4d 89 10             	mov    %r10,(%r8)
140097049:	49 8b 52 08          	mov    0x8(%r10),%rdx
14009704d:	48 89 02             	mov    %rax,(%rdx)
140097050:	4d 89 42 08          	mov    %r8,0x8(%r10)
140097054:	4c 89 49 08          	mov    %r9,0x8(%rcx)
140097058:	48 89 50 08          	mov    %rdx,0x8(%rax)
14009705c:	eb c0                	jmp    0x14009701e
14009705e:	4d 8b 52 08          	mov    0x8(%r10),%r10
140097062:	41 3b 52 10          	cmp    0x10(%r10),%edx
140097066:	74 4d                	je     0x1400970b5
140097068:	4e 39 14 db          	cmp    %r10,(%rbx,%r11,8)
14009706c:	75 f0                	jne    0x14009705e
14009706e:	4c 8b 48 08          	mov    0x8(%rax),%r9
140097072:	49 89 09             	mov    %rcx,(%r9)
140097075:	4c 8b 41 08          	mov    0x8(%rcx),%r8
140097079:	4d 89 10             	mov    %r10,(%r8)
14009707c:	49 8b 52 08          	mov    0x8(%r10),%rdx
140097080:	48 89 02             	mov    %rax,(%rdx)
140097083:	4d 89 42 08          	mov    %r8,0x8(%r10)
140097087:	4c 89 49 08          	mov    %r9,0x8(%rcx)
14009708b:	48 89 50 08          	mov    %rdx,0x8(%rax)
14009708f:	4a 89 04 db          	mov    %rax,(%rbx,%r11,8)
140097093:	48 8b c1             	mov    %rcx,%rax
140097096:	48 3b ce             	cmp    %rsi,%rcx
140097099:	0f 85 37 ff ff ff    	jne    0x140096fd6
14009709f:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400970a4:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1400970a9:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
1400970ae:	48 83 c4 20          	add    $0x20,%rsp
1400970b2:	41 5e                	pop    %r14
1400970b4:	c3                   	ret
1400970b5:	4d 8b 12             	mov    (%r10),%r10
1400970b8:	4c 8b 48 08          	mov    0x8(%rax),%r9
1400970bc:	49 89 09             	mov    %rcx,(%r9)
1400970bf:	4c 8b 41 08          	mov    0x8(%rcx),%r8
1400970c3:	4d 89 10             	mov    %r10,(%r8)
1400970c6:	49 8b 52 08          	mov    0x8(%r10),%rdx
1400970ca:	48 89 02             	mov    %rax,(%rdx)
1400970cd:	4d 89 42 08          	mov    %r8,0x8(%r10)
1400970d1:	4c 89 49 08          	mov    %r9,0x8(%rcx)
1400970d5:	48 89 50 08          	mov    %rdx,0x8(%rax)
1400970d9:	eb b8                	jmp    0x140097093
1400970db:	cc                   	int3
1400970dc:	40 53                	rex push %rbx
1400970de:	48 83 ec 20          	sub    $0x20,%rsp
1400970e2:	48 8b 59 38          	mov    0x38(%rcx),%rbx
1400970e6:	0f 57 c0             	xorps  %xmm0,%xmm0
1400970e9:	48 85 d2             	test   %rdx,%rdx
1400970ec:	78 07                	js     0x1400970f5
1400970ee:	f3 48 0f 2a c2       	cvtsi2ss %rdx,%xmm0
1400970f3:	eb 15                	jmp    0x14009710a
1400970f5:	48 8b c2             	mov    %rdx,%rax
1400970f8:	83 e2 01             	and    $0x1,%edx
1400970fb:	48 d1 e8             	shr    $1,%rax
1400970fe:	48 0b c2             	or     %rdx,%rax
140097101:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
140097106:	f3 0f 58 c0          	addss  %xmm0,%xmm0
14009710a:	f3 0f 5e 01          	divss  (%rcx),%xmm0
14009710e:	e8 7b f9 16 00       	call   0x140206a8e
140097113:	f3 0f 10 0d a5 8f 22 	movss  0x228fa5(%rip),%xmm1        # 0x1402c00c0
14009711a:	00
14009711b:	33 c9                	xor    %ecx,%ecx
14009711d:	0f 2f c1             	comiss %xmm1,%xmm0
140097120:	72 16                	jb     0x140097138
140097122:	f3 0f 5c c1          	subss  %xmm1,%xmm0
140097126:	0f 2f c1             	comiss %xmm1,%xmm0
140097129:	73 0d                	jae    0x140097138
14009712b:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140097132:	00 00 80
140097135:	48 8b c8             	mov    %rax,%rcx
140097138:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
14009713d:	48 03 c1             	add    %rcx,%rax
140097140:	b9 08 00 00 00       	mov    $0x8,%ecx
140097145:	48 3b c1             	cmp    %rcx,%rax
140097148:	48 0f 47 c8          	cmova  %rax,%rcx
14009714c:	48 3b d9             	cmp    %rcx,%rbx
14009714f:	73 15                	jae    0x140097166
140097151:	48 81 fb 00 02 00 00 	cmp    $0x200,%rbx
140097158:	73 09                	jae    0x140097163
14009715a:	48 c1 e3 03          	shl    $0x3,%rbx
14009715e:	48 3b d9             	cmp    %rcx,%rbx
140097161:	73 03                	jae    0x140097166
140097163:	48 8b d9             	mov    %rcx,%rbx
140097166:	0f ae e8             	lfence
140097169:	48 8b c3             	mov    %rbx,%rax
14009716c:	48 83 c4 20          	add    $0x20,%rsp
140097170:	5b                   	pop    %rbx
140097171:	c3                   	ret
140097172:	90                   	nop
140097173:	90                   	nop
140097174:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140097179:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14009717e:	57                   	push   %rdi
14009717f:	48 83 ec 20          	sub    $0x20,%rsp
140097183:	33 f6                	xor    %esi,%esi
140097185:	48 8b d9             	mov    %rcx,%rbx
140097188:	48 39 71 10          	cmp    %rsi,0x10(%rcx)
14009718c:	74 7d                	je     0x14009720b
14009718e:	48 8b 41 38          	mov    0x38(%rcx),%rax
140097192:	48 c1 e8 03          	shr    $0x3,%rax
140097196:	48 3b 41 10          	cmp    0x10(%rcx),%rax
14009719a:	76 11                	jbe    0x1400971ad
14009719c:	48 8b 51 08          	mov    0x8(%rcx),%rdx
1400971a0:	4c 8b c2             	mov    %rdx,%r8
1400971a3:	48 8b 12             	mov    (%rdx),%rdx
1400971a6:	e8 71 00 00 00       	call   0x14009721c
1400971ab:	eb 5e                	jmp    0x14009720b
1400971ad:	48 8b 49 08          	mov    0x8(%rcx),%rcx
1400971b1:	48 8b 41 08          	mov    0x8(%rcx),%rax
1400971b5:	48 89 30             	mov    %rsi,(%rax)
1400971b8:	48 8b 09             	mov    (%rcx),%rcx
1400971bb:	48 85 c9             	test   %rcx,%rcx
1400971be:	74 11                	je     0x1400971d1
1400971c0:	48 8b 39             	mov    (%rcx),%rdi
1400971c3:	ff 15 77 b9 17 00    	call   *0x17b977(%rip)        # 0x140212b40
1400971c9:	48 8b cf             	mov    %rdi,%rcx
1400971cc:	48 85 ff             	test   %rdi,%rdi
1400971cf:	75 ef                	jne    0x1400971c0
1400971d1:	48 8b 43 08          	mov    0x8(%rbx),%rax
1400971d5:	48 89 00             	mov    %rax,(%rax)
1400971d8:	48 8b 43 08          	mov    0x8(%rbx),%rax
1400971dc:	48 89 40 08          	mov    %rax,0x8(%rax)
1400971e0:	48 89 73 10          	mov    %rsi,0x10(%rbx)
1400971e4:	48 8b 7b 18          	mov    0x18(%rbx),%rdi
1400971e8:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
1400971ec:	48 2b cf             	sub    %rdi,%rcx
1400971ef:	48 83 c1 07          	add    $0x7,%rcx
1400971f3:	48 c1 e9 03          	shr    $0x3,%rcx
1400971f7:	48 3b 7b 20          	cmp    0x20(%rbx),%rdi
1400971fb:	48 0f 47 ce          	cmova  %rsi,%rcx
1400971ff:	48 85 c9             	test   %rcx,%rcx
140097202:	74 07                	je     0x14009720b
140097204:	48 8b 43 08          	mov    0x8(%rbx),%rax
140097208:	f3 48 ab             	rep stos %rax,%es:(%rdi)
14009720b:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140097210:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140097215:	48 83 c4 20          	add    $0x20,%rsp
140097219:	5f                   	pop    %rdi
14009721a:	c3                   	ret
14009721b:	90                   	nop
14009721c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140097221:	55                   	push   %rbp
140097222:	56                   	push   %rsi
140097223:	57                   	push   %rdi
140097224:	41 54                	push   %r12
140097226:	41 55                	push   %r13
140097228:	41 56                	push   %r14
14009722a:	41 57                	push   %r15
14009722c:	48 83 ec 20          	sub    $0x20,%rsp
140097230:	49 8b f0             	mov    %r8,%rsi
140097233:	4c 8b ea             	mov    %rdx,%r13