1406e3f8e:	4c 8b 24 c2          	mov    (%rdx,%rax,8),%r12
1406e3f92:	48 8b 6e 20          	mov    0x20(%rsi),%rbp
1406e3f96:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
1406e3f9d:	00 00 00
1406e3fa0:	48 8d 53 10          	lea    0x10(%rbx),%rdx
1406e3fa4:	48 8b 42 10          	mov    0x10(%rdx),%rax
1406e3fa8:	48 83 7a 18 0f       	cmpq   $0xf,0x18(%rdx)
1406e3fad:	76 03                	jbe    0x1406e3fb2
1406e3faf:	48 8b 12             	mov    (%rdx),%rdx
1406e3fb2:	48 8d 4e 10          	lea    0x10(%rsi),%rcx
1406e3fb6:	48 83 7e 28 0f       	cmpq   $0xf,0x28(%rsi)
1406e3fbb:	76 04                	jbe    0x1406e3fc1
1406e3fbd:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
1406e3fc1:	48 3b e8             	cmp    %rax,%rbp
1406e3fc4:	75 0c                	jne    0x1406e3fd2
1406e3fc6:	4c 8b c5             	mov    %rbp,%r8
1406e3fc9:	e8 82 ba 7f 00       	call   0x140edfa50
1406e3fce:	85 c0                	test   %eax,%eax
1406e3fd0:	74 0b                	je     0x1406e3fdd
1406e3fd2:	49 3b dc             	cmp    %r12,%rbx
1406e3fd5:	74 15                	je     0x1406e3fec
1406e3fd7:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
1406e3fdb:	eb c3                	jmp    0x1406e3fa0
1406e3fdd:	48 8b 03             	mov    (%rbx),%rax
1406e3fe0:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1406e3fe5:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
1406e3fea:	eb 0e                	jmp    0x1406e3ffa
1406e3fec:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1406e3ff1:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
1406e3ff8:	00 00
1406e3ffa:	49 8d 6d 08          	lea    0x8(%r13),%rbp
1406e3ffe:	0f 28 44 24 20       	movaps 0x20(%rsp),%xmm0
1406e4003:	66 0f 7f 44 24 20    	movdqa %xmm0,0x20(%rsp)
1406e4009:	48 8b 54 24 20       	mov    0x20(%rsp),%rdx
1406e400e:	4c 8b 42 08          	mov    0x8(%rdx),%r8
1406e4012:	49 ff 45 10          	incq   0x10(%r13)
1406e4016:	48 89 16             	mov    %rdx,(%rsi)
1406e4019:	4c 89 46 08          	mov    %r8,0x8(%rsi)
1406e401d:	49 89 30             	mov    %rsi,(%r8)
1406e4020:	48 89 72 08          	mov    %rsi,0x8(%rdx)
1406e4024:	49 8b 4d 18          	mov    0x18(%r13),%rcx
1406e4028:	49 8b 45 30          	mov    0x30(%r13),%rax
1406e402c:	48 23 c7             	and    %rdi,%rax
1406e402f:	48 03 c0             	add    %rax,%rax
1406e4032:	4c 8b 0c c1          	mov    (%rcx,%rax,8),%r9
1406e4036:	4c 3b 4d 00          	cmp    0x0(%rbp),%r9
1406e403a:	75 06                	jne    0x1406e4042
1406e403c:	48 89 34 c1          	mov    %rsi,(%rcx,%rax,8)
1406e4040:	eb 12                	jmp    0x1406e4054
1406e4042:	4c 3b ca             	cmp    %rdx,%r9
1406e4045:	75 06                	jne    0x1406e404d
1406e4047:	48 89 34 c1          	mov    %rsi,(%rcx,%rax,8)
1406e404b:	eb 0c                	jmp    0x1406e4059
1406e404d:	4c 39 44 c1 08       	cmp    %r8,0x8(%rcx,%rax,8)
1406e4052:	75 05                	jne    0x1406e4059
1406e4054:	48 89 74 c1 08       	mov    %rsi,0x8(%rcx,%rax,8)
1406e4059:	49 89 37             	mov    %rsi,(%r15)
1406e405c:	41 c6 47 08 01       	movb   $0x1,0x8(%r15)
1406e4061:	49 8b c7             	mov    %r15,%rax
1406e4064:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
1406e4069:	48 8b 6c 24 78       	mov    0x78(%rsp),%rbp
1406e406e:	48 8b b4 24 80 00 00 	mov    0x80(%rsp),%rsi
1406e4075:	00
1406e4076:	48 83 c4 40          	add    $0x40,%rsp
1406e407a:	41 5f                	pop    %r15
1406e407c:	41 5e                	pop    %r14
1406e407e:	41 5d                	pop    %r13
1406e4080:	41 5c                	pop    %r12
1406e4082:	5f                   	pop    %rdi
1406e4083:	c3                   	ret
1406e4084:	48 8d 0d 15 a4 8c 00 	lea    0x8ca415(%rip),%rcx        # 0x140fae4a0
1406e408b:	e8 24 73 71 00       	call   0x140dfb3b4
1406e4090:	cc                   	int3
1406e4091:	cc                   	int3
1406e4092:	cc                   	int3
1406e4093:	cc                   	int3
1406e4094:	cc                   	int3
1406e4095:	cc                   	int3
1406e4096:	cc                   	int3
1406e4097:	cc                   	int3
1406e4098:	cc                   	int3
1406e4099:	cc                   	int3
1406e409a:	cc                   	int3
1406e409b:	cc                   	int3
1406e409c:	cc                   	int3
1406e409d:	cc                   	int3
1406e409e:	cc                   	int3
1406e409f:	cc                   	int3
1406e40a0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1406e40a5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1406e40aa:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1406e40af:	57                   	push   %rdi
1406e40b0:	41 54                	push   %r12
1406e40b2:	41 55                	push   %r13
1406e40b4:	41 56                	push   %r14
1406e40b6:	41 57                	push   %r15
1406e40b8:	48 83 ec 30          	sub    $0x30,%rsp
1406e40bc:	49 8b f0             	mov    %r8,%rsi
1406e40bf:	4c 8b f2             	mov    %rdx,%r14
1406e40c2:	48 8b e9             	mov    %rcx,%rbp
1406e40c5:	45 0f b6 28          	movzbl (%r8),%r13d
1406e40c9:	48 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rax
1406e40d0:	9c f2 cb
1406e40d3:	4c 33 e8             	xor    %rax,%r13
1406e40d6:	48 b9 b3 01 00 00 00 	movabs $0x100000001b3,%rcx
1406e40dd:	01 00 00
1406e40e0:	4c 0f af e9          	imul   %rcx,%r13
1406e40e4:	41 0f b6 40 01       	movzbl 0x1(%r8),%eax
1406e40e9:	4c 33 e8             	xor    %rax,%r13
1406e40ec:	4c 0f af e9          	imul   %rcx,%r13
1406e40f0:	41 0f b6 40 02       	movzbl 0x2(%r8),%eax
1406e40f5:	4c 33 e8             	xor    %rax,%r13
1406e40f8:	4c 0f af e9          	imul   %rcx,%r13
1406e40fc:	41 0f b6 40 03       	movzbl 0x3(%r8),%eax
1406e4101:	4c 33 e8             	xor    %rax,%r13
1406e4104:	4c 0f af e9          	imul   %rcx,%r13
1406e4108:	49 8b cd             	mov    %r13,%rcx
1406e410b:	48 23 4d 30          	and    0x30(%rbp),%rcx
1406e410f:	48 03 c9             	add    %rcx,%rcx
1406e4112:	48 8b 45 18          	mov    0x18(%rbp),%rax
1406e4116:	48 8b 5c c8 08       	mov    0x8(%rax,%rcx,8),%rbx
1406e411b:	48 8d 55 08          	lea    0x8(%rbp),%rdx
1406e411f:	4c 8b 22             	mov    (%rdx),%r12
1406e4122:	49 3b dc             	cmp    %r12,%rbx
1406e4125:	75 08                	jne    0x1406e412f
1406e4127:	49 8b dc             	mov    %r12,%rbx
1406e412a:	4d 8b fc             	mov    %r12,%r15
1406e412d:	eb 4d                	jmp    0x1406e417c
1406e412f:	48 8b 0c c8          	mov    (%rax,%rcx,8),%rcx
1406e4133:	41 8b 00             	mov    (%r8),%eax
1406e4136:	3b 43 10             	cmp    0x10(%rbx),%eax
1406e4139:	74 13                	je     0x1406e414e
1406e413b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1406e4140:	48 3b d9             	cmp    %rcx,%rbx
1406e4143:	74 31                	je     0x1406e4176
1406e4145:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
1406e4149:	3b 43 10             	cmp    0x10(%rbx),%eax
1406e414c:	75 f2                	jne    0x1406e4140
1406e414e:	49 89 1e             	mov    %rbx,(%r14)
1406e4151:	41 c6 46 08 00       	movb   $0x0,0x8(%r14)
1406e4156:	49 8b c6             	mov    %r14,%rax
1406e4159:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1406e415e:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
1406e4163:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
1406e4168:	48 83 c4 30          	add    $0x30,%rsp
1406e416c:	41 5f                	pop    %r15
1406e416e:	41 5e                	pop    %r14
1406e4170:	41 5d                	pop    %r13
1406e4172:	41 5c                	pop    %r12
1406e4174:	5f                   	pop    %rdi
1406e4175:	c3                   	ret
1406e4176:	4c 8b e3             	mov    %rbx,%r12
1406e4179:	4c 8b fb             	mov    %rbx,%r15
1406e417c:	48 b8 66 66 66 66 66 	movabs $0x666666666666666,%rax
1406e4183:	66 66 06
1406e4186:	48 39 45 10          	cmp    %rax,0x10(%rbp)
1406e418a:	0f 84 bf 01 00 00    	je     0x1406e434f
1406e4190:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
1406e4195:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
1406e419c:	00 00
1406e419e:	b9 28 00 00 00       	mov    $0x28,%ecx
1406e41a3:	e8 60 6f 73 00       	call   0x140e1b108
1406e41a8:	48 8b f8             	mov    %rax,%rdi
1406e41ab:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1406e41b0:	8b 0e                	mov    (%rsi),%ecx
1406e41b2:	89 48 10             	mov    %ecx,0x10(%rax)
1406e41b5:	33 c0                	xor    %eax,%eax
1406e41b7:	48 89 47 18          	mov    %rax,0x18(%rdi)
1406e41bb:	48 89 47 20          	mov    %rax,0x20(%rdi)
1406e41bf:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
1406e41c3:	48 83 c1 01          	add    $0x1,%rcx
1406e41c7:	0f 57 c0             	xorps  %xmm0,%xmm0
1406e41ca:	78 07                	js     0x1406e41d3
1406e41cc:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
1406e41d1:	eb 15                	jmp    0x1406e41e8
1406e41d3:	48 8b c1             	mov    %rcx,%rax
1406e41d6:	48 d1 e8             	shr    $1,%rax
1406e41d9:	83 e1 01             	and    $0x1,%ecx
1406e41dc:	48 0b c1             	or     %rcx,%rax
1406e41df:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
1406e41e4:	f3 0f 58 c0          	addss  %xmm0,%xmm0
1406e41e8:	48 8b 75 38          	mov    0x38(%rbp),%rsi
1406e41ec:	f3 0f 10 5d 00       	movss  0x0(%rbp),%xmm3
1406e41f1:	0f 57 d2             	xorps  %xmm2,%xmm2
1406e41f4:	48 85 f6             	test   %rsi,%rsi
1406e41f7:	78 07                	js     0x1406e4200
1406e41f9:	f3 48 0f 2a d6       	cvtsi2ss %rsi,%xmm2
1406e41fe:	eb 18                	jmp    0x1406e4218
1406e4200:	48 8b ce             	mov    %rsi,%rcx
1406e4203:	48 d1 e9             	shr    $1,%rcx
1406e4206:	48 8b c6             	mov    %rsi,%rax
1406e4209:	83 e0 01             	and    $0x1,%eax
1406e420c:	48 0b c8             	or     %rax,%rcx
1406e420f:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
1406e4214:	f3 0f 58 d2          	addss  %xmm2,%xmm2
1406e4218:	0f 28 c8             	movaps %xmm0,%xmm1
1406e421b:	f3 0f 5e ca          	divss  %xmm2,%xmm1
1406e421f:	0f 2f cb             	comiss %xmm3,%xmm1
1406e4222:	0f 86 bf 00 00 00    	jbe    0x1406e42e7
1406e4228:	f3 0f 5e c3          	divss  %xmm3,%xmm0
1406e422c:	e8 ef ce 74 00       	call   0x140e31120
1406e4231:	33 c9                	xor    %ecx,%ecx
1406e4233:	f3 0f 10 0d 29 a4 8c 	movss  0x8ca429(%rip),%xmm1        # 0x140fae664
1406e423a:	00
1406e423b:	0f 2f c1             	comiss %xmm1,%xmm0
1406e423e:	72 16                	jb     0x1406e4256
1406e4240:	f3 0f 5c c1          	subss  %xmm1,%xmm0
1406e4244:	0f 2f c1             	comiss %xmm1,%xmm0
1406e4247:	73 0d                	jae    0x1406e4256
1406e4249:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
1406e4250:	00 00 80
1406e4253:	48 8b c8             	mov    %rax,%rcx
1406e4256:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
1406e425b:	48 03 c1             	add    %rcx,%rax
1406e425e:	b9 08 00 00 00       	mov    $0x8,%ecx
1406e4263:	48 3b c1             	cmp    %rcx,%rax
1406e4266:	48 0f 47 c8          	cmova  %rax,%rcx
1406e426a:	48 3b f1             	cmp    %rcx,%rsi
1406e426d:	73 19                	jae    0x1406e4288
1406e426f:	48 81 fe 00 02 00 00 	cmp    $0x200,%rsi
1406e4276:	73 0d                	jae    0x1406e4285
1406e4278:	48 8d 34 f5 00 00 00 	lea    0x0(,%rsi,8),%rsi
1406e427f:	00
1406e4280:	48 3b f1             	cmp    %rcx,%rsi
1406e4283:	73 03                	jae    0x1406e4288
1406e4285:	48 8b f1             	mov    %rcx,%rsi
1406e4288:	48 8b d6             	mov    %rsi,%rdx
1406e428b:	48 8b cd             	mov    %rbp,%rcx
1406e428e:	e8 9d 97 00 00       	call   0x1406eda30
1406e4293:	48 8b 4d 30          	mov    0x30(%rbp),%rcx
1406e4297:	49 23 cd             	and    %r13,%rcx
1406e429a:	48 03 c9             	add    %rcx,%rcx
1406e429d:	48 8b 55 18          	mov    0x18(%rbp),%rdx
1406e42a1:	48 8b 44 ca 08       	mov    0x8(%rdx,%rcx,8),%rax
1406e42a6:	48 8b 5d 08          	mov    0x8(%rbp),%rbx
1406e42aa:	48 3b c3             	cmp    %rbx,%rax
1406e42ad:	75 0b                	jne    0x1406e42ba
1406e42af:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
1406e42b6:	00 00
1406e42b8:	eb 20                	jmp    0x1406e42da
1406e42ba:	48 8b 14 ca          	mov    (%rdx,%rcx,8),%rdx
1406e42be:	8b 4f 10             	mov    0x10(%rdi),%ecx
1406e42c1:	3b 48 10             	cmp    0x10(%rax),%ecx
1406e42c4:	74 11                	je     0x1406e42d7
1406e42c6:	48 8b d8             	mov    %rax,%rbx
1406e42c9:	48 3b c2             	cmp    %rdx,%rax
1406e42cc:	74 4d                	je     0x1406e431b
1406e42ce:	48 8b 40 08          	mov    0x8(%rax),%rax
1406e42d2:	3b 48 10             	cmp    0x10(%rax),%ecx
1406e42d5:	75 ef                	jne    0x1406e42c6
1406e42d7:	48 8b 18             	mov    (%rax),%rbx
1406e42da:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1406e42df:	4c 8b fb             	mov    %rbx,%r15
1406e42e2:	4c 8b 64 24 20       	mov    0x20(%rsp),%r12
1406e42e7:	48 8b 53 08          	mov    0x8(%rbx),%rdx
1406e42eb:	48 ff 45 10          	incq   0x10(%rbp)
1406e42ef:	4c 89 27             	mov    %r12,(%rdi)
1406e42f2:	48 89 57 08          	mov    %rdx,0x8(%rdi)
1406e42f6:	48 89 3a             	mov    %rdi,(%rdx)
1406e42f9:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
1406e42fd:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
1406e4301:	48 8b 45 30          	mov    0x30(%rbp),%rax
1406e4305:	49 23 c5             	and    %r13,%rax
1406e4308:	48 03 c0             	add    %rax,%rax
1406e430b:	4c 8b 04 c1          	mov    (%rcx,%rax,8),%r8
1406e430f:	4c 3b 45 08          	cmp    0x8(%rbp),%r8
1406e4313:	75 16                	jne    0x1406e432b
1406e4315:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
1406e4319:	eb 22                	jmp    0x1406e433d
1406e431b:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1406e4320:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
1406e4327:	00 00
1406e4329:	eb b4                	jmp    0x1406e42df
1406e432b:	4d 3b c7             	cmp    %r15,%r8
1406e432e:	75 06                	jne    0x1406e4336
1406e4330:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
1406e4334:	eb 0c                	jmp    0x1406e4342
1406e4336:	48 39 54 c1 08       	cmp    %rdx,0x8(%rcx,%rax,8)
1406e433b:	75 05                	jne    0x1406e4342
1406e433d:	48 89 7c c1 08       	mov    %rdi,0x8(%rcx,%rax,8)
1406e4342:	49 89 3e             	mov    %rdi,(%r14)
1406e4345:	41 c6 46 08 01       	movb   $0x1,0x8(%r14)
1406e434a:	e9 07 fe ff ff       	jmp    0x1406e4156
1406e434f:	48 8d 0d 4a a1 8c 00 	lea    0x8ca14a(%rip),%rcx        # 0x140fae4a0
1406e4356:	e8 59 70 71 00       	call   0x140dfb3b4
1406e435b:	cc                   	int3
1406e435c:	cc                   	int3
1406e435d:	cc                   	int3
1406e435e:	cc                   	int3
1406e435f:	cc                   	int3
1406e4360:	48 8b ca             	mov    %rdx,%rcx
1406e4363:	e9 b8 d3 b3 ff       	jmp    0x140221720
1406e4368:	cc                   	int3
1406e4369:	cc                   	int3
1406e436a:	cc                   	int3
1406e436b:	cc                   	int3
1406e436c:	cc                   	int3
1406e436d:	cc                   	int3
1406e436e:	cc                   	int3
1406e436f:	cc                   	int3
1406e4370:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1406e4375:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1406e437a:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1406e437f:	57                   	push   %rdi
1406e4380:	48 83 ec 20          	sub    $0x20,%rsp
1406e4384:	48 8b d9             	mov    %rcx,%rbx
1406e4387:	33 ff                	xor    %edi,%edi
1406e4389:	89 39                	mov    %edi,(%rcx)
1406e438b:	48 89 79 08          	mov    %rdi,0x8(%rcx)
1406e438f:	48 89 79 10          	mov    %rdi,0x10(%rcx)
1406e4393:	b9 38 00 00 00       	mov    $0x38,%ecx
1406e4398:	e8 6b 6d 73 00       	call   0x140e1b108
1406e439d:	48 89 00             	mov    %rax,(%rax)
1406e43a0:	48 89 40 08          	mov    %rax,0x8(%rax)
1406e43a4:	48 89 43 08          	mov    %rax,0x8(%rbx)
1406e43a8:	48 89 7b 18          	mov    %rdi,0x18(%rbx)
1406e43ac:	48 89 7b 20          	mov    %rdi,0x20(%rbx)
1406e43b0:	48 89 7b 28          	mov    %rdi,0x28(%rbx)
1406e43b4:	48 c7 43 30 07 00 00 	movq   $0x7,0x30(%rbx)
1406e43bb:	00
1406e43bc:	48 c7 43 38 08 00 00 	movq   $0x8,0x38(%rbx)
1406e43c3:	00
1406e43c4:	c7 03 00 00 80 3f    	movl   $0x3f800000,(%rbx)
1406e43ca:	48 8b 73 08          	mov    0x8(%rbx),%rsi
1406e43ce:	8b cf                	mov    %edi,%ecx
1406e43d0:	8b c7                	mov    %edi,%eax
1406e43d2:	48 c1 f8 03          	sar    $0x3,%rax
1406e43d6:	48 83 f8 10          	cmp    $0x10,%rax
1406e43da:	73 75                	jae    0x1406e4451
1406e43dc:	b9 80 00 00 00       	mov    $0x80,%ecx
1406e43e1:	e8 22 6d 73 00       	call   0x140e1b108
1406e43e6:	48 8b f8             	mov    %rax,%rdi
1406e43e9:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
1406e43ed:	48 8b 43 28          	mov    0x28(%rbx),%rax
1406e43f1:	48 2b c1             	sub    %rcx,%rax
1406e43f4:	48 c1 f8 03          	sar    $0x3,%rax
1406e43f8:	48 85 c0             	test   %rax,%rax
1406e43fb:	74 2e                	je     0x1406e442b
1406e43fd:	48 8d 14 c5 00 00 00 	lea    0x0(,%rax,8),%rdx
1406e4404:	00
1406e4405:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1406e440c:	72 18                	jb     0x1406e4426
1406e440e:	48 83 c2 27          	add    $0x27,%rdx
1406e4412:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
1406e4416:	49 2b c8             	sub    %r8,%rcx
1406e4419:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
1406e441d:	48 83 f8 1f          	cmp    $0x1f,%rax
1406e4421:	77 56                	ja     0x1406e4479
1406e4423:	49 8b c8             	mov    %r8,%rcx
1406e4426:	e8 19 6d 73 00       	call   0x140e1b144