1405aa32e:	b9 18 00 00 00       	mov    $0x18,%ecx
1405aa333:	e8 d0 0d 87 00       	call   0x140e1b108
1405aa338:	48 8b f8             	mov    %rax,%rdi
1405aa33b:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1405aa340:	8b 0e                	mov    (%rsi),%ecx
1405aa342:	89 48 10             	mov    %ecx,0x10(%rax)
1405aa345:	c7 40 14 00 00 00 00 	movl   $0x0,0x14(%rax)
1405aa34c:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
1405aa350:	48 83 c1 01          	add    $0x1,%rcx
1405aa354:	0f 57 c0             	xorps  %xmm0,%xmm0
1405aa357:	78 07                	js     0x1405aa360
1405aa359:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
1405aa35e:	eb 15                	jmp    0x1405aa375
1405aa360:	48 8b c1             	mov    %rcx,%rax
1405aa363:	48 d1 e8             	shr    $1,%rax
1405aa366:	83 e1 01             	and    $0x1,%ecx
1405aa369:	48 0b c1             	or     %rcx,%rax
1405aa36c:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
1405aa371:	f3 0f 58 c0          	addss  %xmm0,%xmm0
1405aa375:	48 8b 75 38          	mov    0x38(%rbp),%rsi
1405aa379:	f3 0f 10 5d 00       	movss  0x0(%rbp),%xmm3
1405aa37e:	0f 57 d2             	xorps  %xmm2,%xmm2
1405aa381:	48 85 f6             	test   %rsi,%rsi
1405aa384:	78 07                	js     0x1405aa38d
1405aa386:	f3 48 0f 2a d6       	cvtsi2ss %rsi,%xmm2
1405aa38b:	eb 18                	jmp    0x1405aa3a5
1405aa38d:	48 8b ce             	mov    %rsi,%rcx
1405aa390:	48 d1 e9             	shr    $1,%rcx
1405aa393:	48 8b c6             	mov    %rsi,%rax
1405aa396:	83 e0 01             	and    $0x1,%eax
1405aa399:	48 0b c8             	or     %rax,%rcx
1405aa39c:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
1405aa3a1:	f3 0f 58 d2          	addss  %xmm2,%xmm2
1405aa3a5:	0f 28 c8             	movaps %xmm0,%xmm1
1405aa3a8:	f3 0f 5e ca          	divss  %xmm2,%xmm1
1405aa3ac:	0f 2f cb             	comiss %xmm3,%xmm1
1405aa3af:	0f 86 bf 00 00 00    	jbe    0x1405aa474
1405aa3b5:	f3 0f 5e c3          	divss  %xmm3,%xmm0
1405aa3b9:	e8 62 6d 88 00       	call   0x140e31120
1405aa3be:	33 c9                	xor    %ecx,%ecx
1405aa3c0:	f3 0f 10 0d 9c 42 a0 	movss  0xa0429c(%rip),%xmm1        # 0x140fae664
1405aa3c7:	00
1405aa3c8:	0f 2f c1             	comiss %xmm1,%xmm0
1405aa3cb:	72 16                	jb     0x1405aa3e3
1405aa3cd:	f3 0f 5c c1          	subss  %xmm1,%xmm0
1405aa3d1:	0f 2f c1             	comiss %xmm1,%xmm0
1405aa3d4:	73 0d                	jae    0x1405aa3e3
1405aa3d6:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
1405aa3dd:	00 00 80
1405aa3e0:	48 8b c8             	mov    %rax,%rcx
1405aa3e3:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
1405aa3e8:	48 03 c1             	add    %rcx,%rax
1405aa3eb:	b9 08 00 00 00       	mov    $0x8,%ecx
1405aa3f0:	48 3b c1             	cmp    %rcx,%rax
1405aa3f3:	48 0f 47 c8          	cmova  %rax,%rcx
1405aa3f7:	48 3b f1             	cmp    %rcx,%rsi
1405aa3fa:	73 19                	jae    0x1405aa415
1405aa3fc:	48 81 fe 00 02 00 00 	cmp    $0x200,%rsi
1405aa403:	73 0d                	jae    0x1405aa412
1405aa405:	48 8d 34 f5 00 00 00 	lea    0x0(,%rsi,8),%rsi
1405aa40c:	00
1405aa40d:	48 3b f1             	cmp    %rcx,%rsi
1405aa410:	73 03                	jae    0x1405aa415
1405aa412:	48 8b f1             	mov    %rcx,%rsi
1405aa415:	48 8b d6             	mov    %rsi,%rdx
1405aa418:	48 8b cd             	mov    %rbp,%rcx
1405aa41b:	e8 60 af 00 00       	call   0x1405b5380
1405aa420:	48 8b 4d 30          	mov    0x30(%rbp),%rcx
1405aa424:	49 23 cd             	and    %r13,%rcx
1405aa427:	48 03 c9             	add    %rcx,%rcx
1405aa42a:	48 8b 55 18          	mov    0x18(%rbp),%rdx
1405aa42e:	48 8b 44 ca 08       	mov    0x8(%rdx,%rcx,8),%rax
1405aa433:	48 8b 5d 08          	mov    0x8(%rbp),%rbx
1405aa437:	48 3b c3             	cmp    %rbx,%rax
1405aa43a:	75 0b                	jne    0x1405aa447
1405aa43c:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
1405aa443:	00 00
1405aa445:	eb 20                	jmp    0x1405aa467
1405aa447:	48 8b 14 ca          	mov    (%rdx,%rcx,8),%rdx
1405aa44b:	8b 4f 10             	mov    0x10(%rdi),%ecx
1405aa44e:	3b 48 10             	cmp    0x10(%rax),%ecx
1405aa451:	74 11                	je     0x1405aa464
1405aa453:	48 8b d8             	mov    %rax,%rbx
1405aa456:	48 3b c2             	cmp    %rdx,%rax
1405aa459:	74 4d                	je     0x1405aa4a8
1405aa45b:	48 8b 40 08          	mov    0x8(%rax),%rax
1405aa45f:	3b 48 10             	cmp    0x10(%rax),%ecx
1405aa462:	75 ef                	jne    0x1405aa453
1405aa464:	48 8b 18             	mov    (%rax),%rbx
1405aa467:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1405aa46c:	4c 8b fb             	mov    %rbx,%r15
1405aa46f:	4c 8b 64 24 20       	mov    0x20(%rsp),%r12
1405aa474:	48 8b 53 08          	mov    0x8(%rbx),%rdx
1405aa478:	48 ff 45 10          	incq   0x10(%rbp)
1405aa47c:	4c 89 27             	mov    %r12,(%rdi)
1405aa47f:	48 89 57 08          	mov    %rdx,0x8(%rdi)
1405aa483:	48 89 3a             	mov    %rdi,(%rdx)
1405aa486:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
1405aa48a:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
1405aa48e:	48 8b 45 30          	mov    0x30(%rbp),%rax
1405aa492:	49 23 c5             	and    %r13,%rax
1405aa495:	48 03 c0             	add    %rax,%rax
1405aa498:	4c 8b 04 c1          	mov    (%rcx,%rax,8),%r8
1405aa49c:	4c 3b 45 08          	cmp    0x8(%rbp),%r8
1405aa4a0:	75 16                	jne    0x1405aa4b8
1405aa4a2:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
1405aa4a6:	eb 22                	jmp    0x1405aa4ca
1405aa4a8:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1405aa4ad:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
1405aa4b4:	00 00
1405aa4b6:	eb b4                	jmp    0x1405aa46c
1405aa4b8:	4d 3b c7             	cmp    %r15,%r8
1405aa4bb:	75 06                	jne    0x1405aa4c3
1405aa4bd:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
1405aa4c1:	eb 0c                	jmp    0x1405aa4cf
1405aa4c3:	48 39 54 c1 08       	cmp    %rdx,0x8(%rcx,%rax,8)
1405aa4c8:	75 05                	jne    0x1405aa4cf
1405aa4ca:	48 89 7c c1 08       	mov    %rdi,0x8(%rcx,%rax,8)
1405aa4cf:	49 89 3e             	mov    %rdi,(%r14)
1405aa4d2:	41 c6 46 08 01       	movb   $0x1,0x8(%r14)
1405aa4d7:	e9 0a fe ff ff       	jmp    0x1405aa2e6
1405aa4dc:	48 8d 0d bd 3f a0 00 	lea    0xa03fbd(%rip),%rcx        # 0x140fae4a0
1405aa4e3:	e8 cc 0e 85 00       	call   0x140dfb3b4
1405aa4e8:	cc                   	int3
1405aa4e9:	cc                   	int3
1405aa4ea:	cc                   	int3
1405aa4eb:	cc                   	int3
1405aa4ec:	cc                   	int3
1405aa4ed:	cc                   	int3
1405aa4ee:	cc                   	int3
1405aa4ef:	cc                   	int3
1405aa4f0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1405aa4f5:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1405aa4fa:	57                   	push   %rdi
1405aa4fb:	48 83 ec 20          	sub    $0x20,%rsp
1405aa4ff:	48 8b d9             	mov    %rcx,%rbx
1405aa502:	33 ff                	xor    %edi,%edi
1405aa504:	89 39                	mov    %edi,(%rcx)
1405aa506:	48 89 79 08          	mov    %rdi,0x8(%rcx)
1405aa50a:	48 89 79 10          	mov    %rdi,0x10(%rcx)
1405aa50e:	b9 18 00 00 00       	mov    $0x18,%ecx
1405aa513:	e8 f0 0b 87 00       	call   0x140e1b108
1405aa518:	48 89 00             	mov    %rax,(%rax)
1405aa51b:	48 89 40 08          	mov    %rax,0x8(%rax)
1405aa51f:	48 89 43 08          	mov    %rax,0x8(%rbx)
1405aa523:	48 8d 4b 18          	lea    0x18(%rbx),%rcx
1405aa527:	48 89 39             	mov    %rdi,(%rcx)
1405aa52a:	48 89 79 08          	mov    %rdi,0x8(%rcx)
1405aa52e:	48 89 79 10          	mov    %rdi,0x10(%rcx)
1405aa532:	48 c7 43 30 07 00 00 	movq   $0x7,0x30(%rbx)
1405aa539:	00
1405aa53a:	48 c7 43 38 08 00 00 	movq   $0x8,0x38(%rbx)
1405aa541:	00
1405aa542:	c7 03 00 00 80 3f    	movl   $0x3f800000,(%rbx)
1405aa548:	4c 8b 43 08          	mov    0x8(%rbx),%r8
1405aa54c:	ba 10 00 00 00       	mov    $0x10,%edx
1405aa551:	e8 2a 25 de ff       	call   0x14038ca80
1405aa556:	90                   	nop
1405aa557:	48 8b c3             	mov    %rbx,%rax
1405aa55a:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1405aa55f:	48 83 c4 20          	add    $0x20,%rsp
1405aa563:	5f                   	pop    %rdi
1405aa564:	c3                   	ret
1405aa565:	cc                   	int3
1405aa566:	cc                   	int3
1405aa567:	cc                   	int3
1405aa568:	cc                   	int3
1405aa569:	cc                   	int3
1405aa56a:	cc                   	int3
1405aa56b:	cc                   	int3
1405aa56c:	cc                   	int3
1405aa56d:	cc                   	int3
1405aa56e:	cc                   	int3
1405aa56f:	cc                   	int3
1405aa570:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1405aa575:	57                   	push   %rdi
1405aa576:	48 83 ec 20          	sub    $0x20,%rsp
1405aa57a:	48 8b f9             	mov    %rcx,%rdi
1405aa57d:	33 db                	xor    %ebx,%ebx
1405aa57f:	48 8b 49 18          	mov    0x18(%rcx),%rcx
1405aa583:	48 85 c9             	test   %rcx,%rcx
1405aa586:	74 3d                	je     0x1405aa5c5
1405aa588:	48 8b 57 28          	mov    0x28(%rdi),%rdx
1405aa58c:	48 2b d1             	sub    %rcx,%rdx
1405aa58f:	48 83 e2 f8          	and    $0xfffffffffffffff8,%rdx
1405aa593:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1405aa59a:	72 18                	jb     0x1405aa5b4
1405aa59c:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
1405aa5a0:	48 83 c2 27          	add    $0x27,%rdx
1405aa5a4:	49 2b c8             	sub    %r8,%rcx
1405aa5a7:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
1405aa5ab:	48 83 f8 1f          	cmp    $0x1f,%rax
1405aa5af:	77 5c                	ja     0x1405aa60d
1405aa5b1:	49 8b c8             	mov    %r8,%rcx
1405aa5b4:	e8 8b 0b 87 00       	call   0x140e1b144
1405aa5b9:	48 89 5f 18          	mov    %rbx,0x18(%rdi)
1405aa5bd:	48 89 5f 20          	mov    %rbx,0x20(%rdi)
1405aa5c1:	48 89 5f 28          	mov    %rbx,0x28(%rdi)
1405aa5c5:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
1405aa5c9:	48 8b 41 08          	mov    0x8(%rcx),%rax
1405aa5cd:	48 89 18             	mov    %rbx,(%rax)
1405aa5d0:	48 8b 09             	mov    (%rcx),%rcx
1405aa5d3:	48 85 c9             	test   %rcx,%rcx
1405aa5d6:	74 1d                	je     0x1405aa5f5
1405aa5d8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1405aa5df:	00
1405aa5e0:	48 8b 19             	mov    (%rcx),%rbx
1405aa5e3:	ba 18 00 00 00       	mov    $0x18,%edx
1405aa5e8:	e8 57 0b 87 00       	call   0x140e1b144
1405aa5ed:	48 8b cb             	mov    %rbx,%rcx
1405aa5f0:	48 85 db             	test   %rbx,%rbx
1405aa5f3:	75 eb                	jne    0x1405aa5e0
1405aa5f5:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
1405aa5f9:	ba 18 00 00 00       	mov    $0x18,%edx
1405aa5fe:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1405aa603:	48 83 c4 20          	add    $0x20,%rsp
1405aa607:	5f                   	pop    %rdi
1405aa608:	e9 37 0b 87 00       	jmp    0x140e1b144
1405aa60d:	e8 92 fb 87 00       	call   0x140e2a1a4
1405aa612:	cc                   	int3
1405aa613:	cc                   	int3
1405aa614:	cc                   	int3
1405aa615:	cc                   	int3
1405aa616:	cc                   	int3
1405aa617:	cc                   	int3
1405aa618:	cc                   	int3
1405aa619:	cc                   	int3
1405aa61a:	cc                   	int3
1405aa61b:	cc                   	int3
1405aa61c:	cc                   	int3
1405aa61d:	cc                   	int3
1405aa61e:	cc                   	int3
1405aa61f:	cc                   	int3
1405aa620:	40 53                	rex push %rbx
1405aa622:	48 83 ec 20          	sub    $0x20,%rsp
1405aa626:	48 8b d9             	mov    %rcx,%rbx
1405aa629:	48 8b 49 08          	mov    0x8(%rcx),%rcx
1405aa62d:	48 85 c9             	test   %rcx,%rcx
1405aa630:	74 09                	je     0x1405aa63b
1405aa632:	48 83 c1 18          	add    $0x18,%rcx
1405aa636:	e8 35 ff ff ff       	call   0x1405aa570
1405aa63b:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
1405aa63f:	48 85 c9             	test   %rcx,%rcx
1405aa642:	74 0f                	je     0x1405aa653
1405aa644:	ba 58 00 00 00       	mov    $0x58,%edx
1405aa649:	48 83 c4 20          	add    $0x20,%rsp
1405aa64d:	5b                   	pop    %rbx
1405aa64e:	e9 f1 0a 87 00       	jmp    0x140e1b144
1405aa653:	48 83 c4 20          	add    $0x20,%rsp
1405aa657:	5b                   	pop    %rbx
1405aa658:	c3                   	ret
1405aa659:	cc                   	int3
1405aa65a:	cc                   	int3
1405aa65b:	cc                   	int3
1405aa65c:	cc                   	int3
1405aa65d:	cc                   	int3
1405aa65e:	cc                   	int3
1405aa65f:	cc                   	int3
1405aa660:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1405aa665:	56                   	push   %rsi
1405aa666:	48 83 ec 20          	sub    $0x20,%rsp
1405aa66a:	48 8b 19             	mov    (%rcx),%rbx
1405aa66d:	48 8b f1             	mov    %rcx,%rsi
1405aa670:	48 8b 43 08          	mov    0x8(%rbx),%rax
1405aa674:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
1405aa67b:	48 8b 1b             	mov    (%rbx),%rbx
1405aa67e:	48 85 db             	test   %rbx,%rbx
1405aa681:	74 33                	je     0x1405aa6b6
1405aa683:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
1405aa688:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1405aa68f:	00
1405aa690:	48 8b 3b             	mov    (%rbx),%rdi
1405aa693:	48 8d 4b 18          	lea    0x18(%rbx),%rcx
1405aa697:	e8 d4 fe ff ff       	call   0x1405aa570
1405aa69c:	ba 58 00 00 00       	mov    $0x58,%edx
1405aa6a1:	48 8b cb             	mov    %rbx,%rcx
1405aa6a4:	e8 9b 0a 87 00       	call   0x140e1b144
1405aa6a9:	48 8b df             	mov    %rdi,%rbx
1405aa6ac:	48 85 ff             	test   %rdi,%rdi
1405aa6af:	75 df                	jne    0x1405aa690
1405aa6b1:	48 8b 7c 24 30       	mov    0x30(%rsp),%rdi
1405aa6b6:	48 8b 0e             	mov    (%rsi),%rcx
1405aa6b9:	ba 58 00 00 00       	mov    $0x58,%edx
1405aa6be:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1405aa6c3:	48 83 c4 20          	add    $0x20,%rsp
1405aa6c7:	5e                   	pop    %rsi
1405aa6c8:	e9 77 0a 87 00       	jmp    0x140e1b144
1405aa6cd:	cc                   	int3
1405aa6ce:	cc                   	int3
1405aa6cf:	cc                   	int3
1405aa6d0:	e9 9b fe ff ff       	jmp    0x1405aa570
1405aa6d5:	cc                   	int3
1405aa6d6:	cc                   	int3
1405aa6d7:	cc                   	int3
1405aa6d8:	cc                   	int3
1405aa6d9:	cc                   	int3
1405aa6da:	cc                   	int3
1405aa6db:	cc                   	int3
1405aa6dc:	cc                   	int3
1405aa6dd:	cc                   	int3
1405aa6de:	cc                   	int3
1405aa6df:	cc                   	int3
1405aa6e0:	40 57                	rex push %rdi
1405aa6e2:	48 83 ec 20          	sub    $0x20,%rsp
1405aa6e6:	48 8b 39             	mov    (%rcx),%rdi
1405aa6e9:	48 85 ff             	test   %rdi,%rdi
1405aa6ec:	0f 84 9a 00 00 00    	je     0x1405aa78c
1405aa6f2:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
1405aa6f6:	48 85 c9             	test   %rcx,%rcx
1405aa6f9:	0f 84 8d 00 00 00    	je     0x1405aa78c
1405aa6ff:	48 8b 47 38          	mov    0x38(%rdi),%rax
1405aa703:	48 c1 e8 03          	shr    $0x3,%rax
1405aa707:	48 3b c1             	cmp    %rcx,%rax
1405aa70a:	76 17                	jbe    0x1405aa723
1405aa70c:	48 8b 57 08          	mov    0x8(%rdi),%rdx
1405aa710:	48 8b cf             	mov    %rdi,%rcx
1405aa713:	4c 8b c2             	mov    %rdx,%r8
1405aa716:	48 8b 12             	mov    (%rdx),%rdx
1405aa719:	48 83 c4 20          	add    $0x20,%rsp
1405aa71d:	5f                   	pop    %rdi
1405aa71e:	e9 cd ae 00 00       	jmp    0x1405b55f0
1405aa723:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
1405aa727:	48 8b 41 08          	mov    0x8(%rcx),%rax
1405aa72b:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
1405aa732:	48 8b 09             	mov    (%rcx),%rcx
1405aa735:	48 85 c9             	test   %rcx,%rcx
1405aa738:	74 20                	je     0x1405aa75a
1405aa73a:	48 89 5c 24 38       	mov    %rbx,0x38(%rsp)
1405aa73f:	90                   	nop
1405aa740:	48 8b 19             	mov    (%rcx),%rbx
1405aa743:	ba 18 00 00 00       	mov    $0x18,%edx
1405aa748:	e8 f7 09 87 00       	call   0x140e1b144
1405aa74d:	48 8b cb             	mov    %rbx,%rcx
1405aa750:	48 85 db             	test   %rbx,%rbx
1405aa753:	75 eb                	jne    0x1405aa740
1405aa755:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1405aa75a:	48 8b 47 08          	mov    0x8(%rdi),%rax
1405aa75e:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
1405aa763:	48 89 00             	mov    %rax,(%rax)
1405aa766:	48 8b 47 08          	mov    0x8(%rdi),%rax
1405aa76a:	48 89 40 08          	mov    %rax,0x8(%rax)
1405aa76e:	48 c7 47 10 00 00 00 	movq   $0x0,0x10(%rdi)
1405aa775:	00
1405aa776:	48 8b 47 08          	mov    0x8(%rdi),%rax
1405aa77a:	48 8b 57 20          	mov    0x20(%rdi),%rdx
1405aa77e:	48 8b 4f 18          	mov    0x18(%rdi),%rcx
1405aa782:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1405aa787:	e8 54 bd c6 ff       	call   0x1402164e0
1405aa78c:	48 83 c4 20          	add    $0x20,%rsp
1405aa790:	5f                   	pop    %rdi