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
1406e442b:	48 89 7b 18          	mov    %rdi,0x18(%rbx)
1406e442f:	48 8d 87 80 00 00 00 	lea    0x80(%rdi),%rax
1406e4436:	48 89 43 20          	mov    %rax,0x20(%rbx)
1406e443a:	48 89 43 28          	mov    %rax,0x28(%rbx)
1406e443e:	48 3b f8             	cmp    %rax,%rdi
1406e4441:	74 23                	je     0x1406e4466
1406e4443:	48 89 37             	mov    %rsi,(%rdi)
1406e4446:	48 83 c7 08          	add    $0x8,%rdi
1406e444a:	48 3b f8             	cmp    %rax,%rdi
1406e444d:	75 f4                	jne    0x1406e4443
1406e444f:	eb 15                	jmp    0x1406e4466
1406e4451:	48 83 c1 07          	add    $0x7,%rcx
1406e4455:	48 c1 e9 03          	shr    $0x3,%rcx
1406e4459:	48 85 c9             	test   %rcx,%rcx
1406e445c:	74 08                	je     0x1406e4466
1406e445e:	33 ff                	xor    %edi,%edi
1406e4460:	48 8b c6             	mov    %rsi,%rax
1406e4463:	f3 48 ab             	rep stos %rax,%es:(%rdi)
1406e4466:	48 8b c3             	mov    %rbx,%rax
1406e4469:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1406e446e:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1406e4473:	48 83 c4 20          	add    $0x20,%rsp
1406e4477:	5f                   	pop    %rdi
1406e4478:	c3                   	ret
1406e4479:	e8 26 5d 74 00       	call   0x140e2a1a4
1406e447e:	90                   	nop
1406e447f:	cc                   	int3
1406e4480:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1406e4485:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1406e448a:	57                   	push   %rdi
1406e448b:	48 83 ec 20          	sub    $0x20,%rsp
1406e448f:	48 8b d9             	mov    %rcx,%rbx
1406e4492:	33 ff                	xor    %edi,%edi
1406e4494:	89 39                	mov    %edi,(%rcx)
1406e4496:	48 89 79 08          	mov    %rdi,0x8(%rcx)
1406e449a:	48 89 79 10          	mov    %rdi,0x10(%rcx)
1406e449e:	b9 38 00 00 00       	mov    $0x38,%ecx
1406e44a3:	e8 60 6c 73 00       	call   0x140e1b108
1406e44a8:	48 89 00             	mov    %rax,(%rax)
1406e44ab:	48 89 40 08          	mov    %rax,0x8(%rax)
1406e44af:	48 89 43 08          	mov    %rax,0x8(%rbx)
1406e44b3:	48 8d 4b 18          	lea    0x18(%rbx),%rcx
1406e44b7:	48 89 39             	mov    %rdi,(%rcx)
1406e44ba:	48 89 79 08          	mov    %rdi,0x8(%rcx)
1406e44be:	48 89 79 10          	mov    %rdi,0x10(%rcx)
1406e44c2:	48 c7 43 30 07 00 00 	movq   $0x7,0x30(%rbx)
1406e44c9:	00
1406e44ca:	48 c7 43 38 08 00 00 	movq   $0x8,0x38(%rbx)
1406e44d1:	00
1406e44d2:	c7 03 00 00 80 3f    	movl   $0x3f800000,(%rbx)
1406e44d8:	4c 8b 43 08          	mov    0x8(%rbx),%r8
1406e44dc:	ba 10 00 00 00       	mov    $0x10,%edx
1406e44e1:	e8 9a 85 ca ff       	call   0x14038ca80
1406e44e6:	90                   	nop
1406e44e7:	48 8b c3             	mov    %rbx,%rax
1406e44ea:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1406e44ef:	48 83 c4 20          	add    $0x20,%rsp
1406e44f3:	5f                   	pop    %rdi
1406e44f4:	c3                   	ret
1406e44f5:	cc                   	int3
1406e44f6:	cc                   	int3
1406e44f7:	cc                   	int3
1406e44f8:	cc                   	int3
1406e44f9:	cc                   	int3
1406e44fa:	cc                   	int3
1406e44fb:	cc                   	int3
1406e44fc:	cc                   	int3
1406e44fd:	cc                   	int3
1406e44fe:	cc                   	int3
1406e44ff:	cc                   	int3
1406e4500:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1406e4505:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1406e450a:	55                   	push   %rbp
1406e450b:	56                   	push   %rsi
1406e450c:	57                   	push   %rdi
1406e450d:	41 56                	push   %r14
1406e450f:	41 57                	push   %r15
1406e4511:	48 83 ec 20          	sub    $0x20,%rsp
1406e4515:	4d 8b f1             	mov    %r9,%r14
1406e4518:	48 8b f1             	mov    %rcx,%rsi
1406e451b:	48 89 11             	mov    %rdx,(%rcx)
1406e451e:	4c 89 41 08          	mov    %r8,0x8(%rcx)
1406e4522:	48 83 c1 10          	add    $0x10,%rcx
1406e4526:	e8 55 3e cc ff       	call   0x1403a8380
1406e452b:	90                   	nop
1406e452c:	48 8d 4e 50          	lea    0x50(%rsi),%rcx
1406e4530:	e8 4b 3e cc ff       	call   0x1403a8380
1406e4535:	90                   	nop
1406e4536:	48 8d 8e 90 00 00 00 	lea    0x90(%rsi),%rcx
1406e453d:	e8 be 3d cc ff       	call   0x1403a8300
1406e4542:	90                   	nop
1406e4543:	0f b6 44 24 70       	movzbl 0x70(%rsp),%eax
1406e4548:	88 86 d0 00 00 00    	mov    %al,0xd0(%rsi)
1406e454e:	45 33 ff             	xor    %r15d,%r15d
1406e4551:	4c 89 be d8 00 00 00 	mov    %r15,0xd8(%rsi)
1406e4558:	48 8d 8e e0 00 00 00 	lea    0xe0(%rsi),%rcx
1406e455f:	e8 9c 3d cc ff       	call   0x1403a8300
1406e4564:	90                   	nop
1406e4565:	48 8d 8e 20 01 00 00 	lea    0x120(%rsi),%rcx
1406e456c:	e8 ff fd ff ff       	call   0x1406e4370
1406e4571:	90                   	nop
1406e4572:	48 8d 9e 60 01 00 00 	lea    0x160(%rsi),%rbx
1406e4579:	48 89 5c 24 58       	mov    %rbx,0x58(%rsp)
1406e457e:	44 89 3b             	mov    %r15d,(%rbx)
1406e4581:	4c 89 7b 08          	mov    %r15,0x8(%rbx)
1406e4585:	4c 89 7b 10          	mov    %r15,0x10(%rbx)
1406e4589:	b9 28 00 00 00       	mov    $0x28,%ecx
1406e458e:	e8 75 6b 73 00       	call   0x140e1b108
1406e4593:	48 89 00             	mov    %rax,(%rax)
1406e4596:	48 89 40 08          	mov    %rax,0x8(%rax)
1406e459a:	48 89 43 08          	mov    %rax,0x8(%rbx)
1406e459e:	4c 89 7b 18          	mov    %r15,0x18(%rbx)
1406e45a2:	4c 89 7b 20          	mov    %r15,0x20(%rbx)
1406e45a6:	4c 89 7b 28          	mov    %r15,0x28(%rbx)
1406e45aa:	48 c7 43 30 07 00 00 	movq   $0x7,0x30(%rbx)
1406e45b1:	00
1406e45b2:	48 c7 43 38 08 00 00 	movq   $0x8,0x38(%rbx)
1406e45b9:	00
1406e45ba:	c7 03 00 00 80 3f    	movl   $0x3f800000,(%rbx)
1406e45c0:	48 8b 6b 08          	mov    0x8(%rbx),%rbp
1406e45c4:	41 8b cf             	mov    %r15d,%ecx
1406e45c7:	41 8b c7             	mov    %r15d,%eax
1406e45ca:	48 c1 f8 03          	sar    $0x3,%rax
1406e45ce:	48 83 f8 10          	cmp    $0x10,%rax
1406e45d2:	73 7a                	jae    0x1406e464e
1406e45d4:	b9 80 00 00 00       	mov    $0x80,%ecx
1406e45d9:	e8 2a 6b 73 00       	call   0x140e1b108
1406e45de:	48 8b f8             	mov    %rax,%rdi
1406e45e1:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
1406e45e5:	48 8b 43 28          	mov    0x28(%rbx),%rax
1406e45e9:	48 2b c1             	sub    %rcx,%rax
1406e45ec:	48 c1 f8 03          	sar    $0x3,%rax
1406e45f0:	48 85 c0             	test   %rax,%rax
1406e45f3:	74 32                	je     0x1406e4627
1406e45f5:	48 8d 14 c5 00 00 00 	lea    0x0(,%rax,8),%rdx
1406e45fc:	00
1406e45fd:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1406e4604:	72 1c                	jb     0x1406e4622
1406e4606:	48 83 c2 27          	add    $0x27,%rdx
1406e460a:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
1406e460e:	49 2b c8             	sub    %r8,%rcx
1406e4611:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
1406e4615:	48 83 f8 1f          	cmp    $0x1f,%rax
1406e4619:	0f 87 17 0c 00 00    	ja     0x1406e5236
1406e461f:	49 8b c8             	mov    %r8,%rcx
1406e4622:	e8 1d 6b 73 00       	call   0x140e1b144
1406e4627:	48 89 7b 18          	mov    %rdi,0x18(%rbx)
1406e462b:	48 8d 87 80 00 00 00 	lea    0x80(%rdi),%rax
1406e4632:	48 89 43 20          	mov    %rax,0x20(%rbx)
1406e4636:	48 89 43 28          	mov    %rax,0x28(%rbx)
1406e463a:	48 3b f8             	cmp    %rax,%rdi
1406e463d:	74 24                	je     0x1406e4663
1406e463f:	90                   	nop
1406e4640:	48 89 2f             	mov    %rbp,(%rdi)
1406e4643:	48 83 c7 08          	add    $0x8,%rdi
1406e4647:	48 3b f8             	cmp    %rax,%rdi
1406e464a:	75 f4                	jne    0x1406e4640
1406e464c:	eb 15                	jmp    0x1406e4663
1406e464e:	48 83 c1 07          	add    $0x7,%rcx
1406e4652:	48 c1 e9 03          	shr    $0x3,%rcx
1406e4656:	48 85 c9             	test   %rcx,%rcx
1406e4659:	74 08                	je     0x1406e4663
1406e465b:	33 ff                	xor    %edi,%edi
1406e465d:	48 8b c5             	mov    %rbp,%rax
1406e4660:	f3 48 ab             	rep stos %rax,%es:(%rdi)
1406e4663:	48 8d 8e a0 01 00 00 	lea    0x1a0(%rsi),%rcx
1406e466a:	e8 91 3c cc ff       	call   0x1403a8300
1406e466f:	90                   	nop
1406e4670:	48 8d 8e e0 01 00 00 	lea    0x1e0(%rsi),%rcx
1406e4677:	e8 04 03 b7 ff       	call   0x140254980
1406e467c:	90                   	nop
1406e467d:	4c 89 be 20 02 00 00 	mov    %r15,0x220(%rsi)
1406e4684:	4c 89 be 28 02 00 00 	mov    %r15,0x228(%rsi)
1406e468b:	4c 89 be 30 02 00 00 	mov    %r15,0x230(%rsi)
1406e4692:	48 8d 8e 38 02 00 00 	lea    0x238(%rsi),%rcx