140730288:	48 8b cd             	mov    %rbp,%rcx
14073028b:	48 d1 e9             	shr    $1,%rcx
14073028e:	48 8b c5             	mov    %rbp,%rax
140730291:	83 e0 01             	and    $0x1,%eax
140730294:	48 0b c8             	or     %rax,%rcx
140730297:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
14073029c:	f3 0f 58 d2          	addss  %xmm2,%xmm2
1407302a0:	0f 28 c8             	movaps %xmm0,%xmm1
1407302a3:	f3 0f 5e ca          	divss  %xmm2,%xmm1
1407302a7:	0f 2f cb             	comiss %xmm3,%xmm1
1407302aa:	0f 86 c2 00 00 00    	jbe    0x140730372
1407302b0:	f3 0f 5e c3          	divss  %xmm3,%xmm0
1407302b4:	e8 67 0e 70 00       	call   0x140e31120
1407302b9:	33 c9                	xor    %ecx,%ecx
1407302bb:	f3 0f 10 0d a1 e3 87 	movss  0x87e3a1(%rip),%xmm1        # 0x140fae664
1407302c2:	00
1407302c3:	0f 2f c1             	comiss %xmm1,%xmm0
1407302c6:	72 16                	jb     0x1407302de
1407302c8:	f3 0f 5c c1          	subss  %xmm1,%xmm0
1407302cc:	0f 2f c1             	comiss %xmm1,%xmm0
1407302cf:	73 0d                	jae    0x1407302de
1407302d1:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
1407302d8:	00 00 80
1407302db:	48 8b c8             	mov    %rax,%rcx
1407302de:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
1407302e3:	48 03 c1             	add    %rcx,%rax
1407302e6:	b9 08 00 00 00       	mov    $0x8,%ecx
1407302eb:	48 3b c1             	cmp    %rcx,%rax
1407302ee:	48 0f 47 c8          	cmova  %rax,%rcx
1407302f2:	48 3b e9             	cmp    %rcx,%rbp
1407302f5:	73 19                	jae    0x140730310
1407302f7:	48 81 fd 00 02 00 00 	cmp    $0x200,%rbp
1407302fe:	73 0d                	jae    0x14073030d
140730300:	48 8d 2c ed 00 00 00 	lea    0x0(,%rbp,8),%rbp
140730307:	00
140730308:	48 3b e9             	cmp    %rcx,%rbp
14073030b:	73 03                	jae    0x140730310
14073030d:	48 8b e9             	mov    %rcx,%rbp
140730310:	48 8b d5             	mov    %rbp,%rdx
140730313:	49 8b ce             	mov    %r14,%rcx
140730316:	e8 c5 0f e3 ff       	call   0x1405612e0
14073031b:	48 8b ce             	mov    %rsi,%rcx
14073031e:	49 23 4e 30          	and    0x30(%r14),%rcx
140730322:	48 03 c9             	add    %rcx,%rcx
140730325:	49 8b 56 18          	mov    0x18(%r14),%rdx
140730329:	48 8b 44 ca 08       	mov    0x8(%rdx,%rcx,8),%rax
14073032e:	49 8b 5e 08          	mov    0x8(%r14),%rbx
140730332:	48 3b c3             	cmp    %rbx,%rax
140730335:	75 0b                	jne    0x140730342
140730337:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
14073033e:	00 00
140730340:	eb 23                	jmp    0x140730365
140730342:	48 8b 14 ca          	mov    (%rdx,%rcx,8),%rdx
140730346:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
14073034a:	48 3b 48 10          	cmp    0x10(%rax),%rcx
14073034e:	74 12                	je     0x140730362
140730350:	48 8b d8             	mov    %rax,%rbx
140730353:	48 3b c2             	cmp    %rdx,%rax
140730356:	74 4b                	je     0x1407303a3
140730358:	48 8b 40 08          	mov    0x8(%rax),%rax
14073035c:	48 3b 48 10          	cmp    0x10(%rax),%rcx
140730360:	75 ee                	jne    0x140730350
140730362:	48 8b 18             	mov    (%rax),%rbx
140730365:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
14073036a:	4c 8b e3             	mov    %rbx,%r12
14073036d:	4c 8b 6c 24 20       	mov    0x20(%rsp),%r13
140730372:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140730376:	49 ff 46 10          	incq   0x10(%r14)
14073037a:	4c 89 2f             	mov    %r13,(%rdi)
14073037d:	48 89 4f 08          	mov    %rcx,0x8(%rdi)
140730381:	48 89 39             	mov    %rdi,(%rcx)
140730384:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
140730388:	49 8b 46 18          	mov    0x18(%r14),%rax
14073038c:	49 23 76 30          	and    0x30(%r14),%rsi
140730390:	48 03 f6             	add    %rsi,%rsi
140730393:	48 8b 14 f0          	mov    (%rax,%rsi,8),%rdx
140730397:	49 3b 56 08          	cmp    0x8(%r14),%rdx
14073039b:	75 16                	jne    0x1407303b3
14073039d:	48 89 3c f0          	mov    %rdi,(%rax,%rsi,8)
1407303a1:	eb 22                	jmp    0x1407303c5
1407303a3:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1407303a8:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
1407303af:	00 00
1407303b1:	eb b7                	jmp    0x14073036a
1407303b3:	49 3b d4             	cmp    %r12,%rdx
1407303b6:	75 06                	jne    0x1407303be
1407303b8:	48 89 3c f0          	mov    %rdi,(%rax,%rsi,8)
1407303bc:	eb 0c                	jmp    0x1407303ca
1407303be:	48 39 4c f0 08       	cmp    %rcx,0x8(%rax,%rsi,8)
1407303c3:	75 05                	jne    0x1407303ca
1407303c5:	48 89 7c f0 08       	mov    %rdi,0x8(%rax,%rsi,8)
1407303ca:	49 89 3f             	mov    %rdi,(%r15)
1407303cd:	41 c6 47 08 01       	movb   $0x1,0x8(%r15)
1407303d2:	e9 00 fe ff ff       	jmp    0x1407301d7
1407303d7:	48 8d 0d c2 e0 87 00 	lea    0x87e0c2(%rip),%rcx        # 0x140fae4a0
1407303de:	e8 d1 af 6c 00       	call   0x140dfb3b4
1407303e3:	cc                   	int3
1407303e4:	cc                   	int3
1407303e5:	cc                   	int3
1407303e6:	cc                   	int3
1407303e7:	cc                   	int3
1407303e8:	cc                   	int3
1407303e9:	cc                   	int3
1407303ea:	cc                   	int3
1407303eb:	cc                   	int3
1407303ec:	cc                   	int3
1407303ed:	cc                   	int3
1407303ee:	cc                   	int3
1407303ef:	cc                   	int3
1407303f0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1407303f5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1407303fa:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1407303ff:	57                   	push   %rdi
140730400:	41 54                	push   %r12
140730402:	41 55                	push   %r13
140730404:	41 56                	push   %r14
140730406:	41 57                	push   %r15
140730408:	48 83 ec 30          	sub    $0x30,%rsp
14073040c:	49 8b e8             	mov    %r8,%rbp
14073040f:	4c 8b fa             	mov    %rdx,%r15
140730412:	4c 8b f1             	mov    %rcx,%r14
140730415:	41 0f b6 30          	movzbl (%r8),%esi
140730419:	48 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rax
140730420:	9c f2 cb
140730423:	48 33 f0             	xor    %rax,%rsi
140730426:	48 b9 b3 01 00 00 00 	movabs $0x100000001b3,%rcx
14073042d:	01 00 00
140730430:	48 0f af f1          	imul   %rcx,%rsi
140730434:	41 0f b6 40 01       	movzbl 0x1(%r8),%eax
140730439:	48 33 f0             	xor    %rax,%rsi
14073043c:	48 0f af f1          	imul   %rcx,%rsi
140730440:	41 0f b6 40 02       	movzbl 0x2(%r8),%eax
140730445:	48 33 f0             	xor    %rax,%rsi
140730448:	48 0f af f1          	imul   %rcx,%rsi
14073044c:	41 0f b6 40 03       	movzbl 0x3(%r8),%eax
140730451:	48 33 f0             	xor    %rax,%rsi
140730454:	48 0f af f1          	imul   %rcx,%rsi
140730458:	41 0f b6 40 04       	movzbl 0x4(%r8),%eax
14073045d:	48 33 f0             	xor    %rax,%rsi
140730460:	48 0f af f1          	imul   %rcx,%rsi
140730464:	41 0f b6 40 05       	movzbl 0x5(%r8),%eax
140730469:	48 33 f0             	xor    %rax,%rsi
14073046c:	48 0f af f1          	imul   %rcx,%rsi
140730470:	41 0f b6 40 06       	movzbl 0x6(%r8),%eax
140730475:	48 33 f0             	xor    %rax,%rsi
140730478:	48 0f af f1          	imul   %rcx,%rsi
14073047c:	41 0f b6 40 07       	movzbl 0x7(%r8),%eax
140730481:	48 33 f0             	xor    %rax,%rsi
140730484:	48 0f af f1          	imul   %rcx,%rsi
140730488:	48 8b ce             	mov    %rsi,%rcx
14073048b:	49 23 4e 30          	and    0x30(%r14),%rcx
14073048f:	48 03 c9             	add    %rcx,%rcx
140730492:	49 8b 46 18          	mov    0x18(%r14),%rax
140730496:	48 8b 5c c8 08       	mov    0x8(%rax,%rcx,8),%rbx
14073049b:	49 8d 56 08          	lea    0x8(%r14),%rdx
14073049f:	4c 8b 2a             	mov    (%rdx),%r13
1407304a2:	49 3b dd             	cmp    %r13,%rbx
1407304a5:	75 08                	jne    0x1407304af
1407304a7:	49 8b dd             	mov    %r13,%rbx
1407304aa:	4d 8b e5             	mov    %r13,%r12
1407304ad:	eb 4e                	jmp    0x1407304fd
1407304af:	48 8b 0c c8          	mov    (%rax,%rcx,8),%rcx
1407304b3:	49 8b 00             	mov    (%r8),%rax
1407304b6:	48 3b 43 10          	cmp    0x10(%rbx),%rax
1407304ba:	74 13                	je     0x1407304cf
1407304bc:	0f 1f 40 00          	nopl   0x0(%rax)
1407304c0:	48 3b d9             	cmp    %rcx,%rbx
1407304c3:	74 32                	je     0x1407304f7
1407304c5:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
1407304c9:	48 3b 43 10          	cmp    0x10(%rbx),%rax
1407304cd:	75 f1                	jne    0x1407304c0
1407304cf:	49 89 1f             	mov    %rbx,(%r15)
1407304d2:	41 c6 47 08 00       	movb   $0x0,0x8(%r15)
1407304d7:	49 8b c7             	mov    %r15,%rax
1407304da:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1407304df:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
1407304e4:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
1407304e9:	48 83 c4 30          	add    $0x30,%rsp
1407304ed:	41 5f                	pop    %r15
1407304ef:	41 5e                	pop    %r14
1407304f1:	41 5d                	pop    %r13
1407304f3:	41 5c                	pop    %r12
1407304f5:	5f                   	pop    %rdi
1407304f6:	c3                   	ret
1407304f7:	4c 8b eb             	mov    %rbx,%r13
1407304fa:	4c 8b e3             	mov    %rbx,%r12
1407304fd:	48 b8 55 55 55 55 55 	movabs $0x555555555555555,%rax
140730504:	55 55 05
140730507:	49 39 46 10          	cmp    %rax,0x10(%r14)
14073050b:	0f 84 c6 01 00 00    	je     0x1407306d7
140730511:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140730516:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
14073051d:	00 00
14073051f:	b9 30 00 00 00       	mov    $0x30,%ecx
140730524:	e8 df ab 6e 00       	call   0x140e1b108
140730529:	48 8b f8             	mov    %rax,%rdi
14073052c:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140730531:	48 8b 4d 00          	mov    0x0(%rbp),%rcx
140730535:	48 89 48 10          	mov    %rcx,0x10(%rax)
140730539:	33 c0                	xor    %eax,%eax
14073053b:	48 89 47 18          	mov    %rax,0x18(%rdi)
14073053f:	48 89 47 20          	mov    %rax,0x20(%rdi)
140730543:	48 89 47 28          	mov    %rax,0x28(%rdi)
140730547:	49 8b 4e 10          	mov    0x10(%r14),%rcx
14073054b:	48 83 c1 01          	add    $0x1,%rcx
14073054f:	0f 57 c0             	xorps  %xmm0,%xmm0
140730552:	78 07                	js     0x14073055b
140730554:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
140730559:	eb 15                	jmp    0x140730570
14073055b:	48 8b c1             	mov    %rcx,%rax
14073055e:	48 d1 e8             	shr    $1,%rax
140730561:	83 e1 01             	and    $0x1,%ecx
140730564:	48 0b c1             	or     %rcx,%rax
140730567:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
14073056c:	f3 0f 58 c0          	addss  %xmm0,%xmm0
140730570:	49 8b 6e 38          	mov    0x38(%r14),%rbp
140730574:	f3 41 0f 10 1e       	movss  (%r14),%xmm3
140730579:	0f 57 d2             	xorps  %xmm2,%xmm2
14073057c:	48 85 ed             	test   %rbp,%rbp
14073057f:	78 07                	js     0x140730588
140730581:	f3 48 0f 2a d5       	cvtsi2ss %rbp,%xmm2
140730586:	eb 18                	jmp    0x1407305a0
140730588:	48 8b cd             	mov    %rbp,%rcx
14073058b:	48 d1 e9             	shr    $1,%rcx
14073058e:	48 8b c5             	mov    %rbp,%rax
140730591:	83 e0 01             	and    $0x1,%eax
140730594:	48 0b c8             	or     %rax,%rcx
140730597:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
14073059c:	f3 0f 58 d2          	addss  %xmm2,%xmm2
1407305a0:	0f 28 c8             	movaps %xmm0,%xmm1
1407305a3:	f3 0f 5e ca          	divss  %xmm2,%xmm1
1407305a7:	0f 2f cb             	comiss %xmm3,%xmm1
1407305aa:	0f 86 c2 00 00 00    	jbe    0x140730672
1407305b0:	f3 0f 5e c3          	divss  %xmm3,%xmm0
1407305b4:	e8 67 0b 70 00       	call   0x140e31120
1407305b9:	33 c9                	xor    %ecx,%ecx
1407305bb:	f3 0f 10 0d a1 e0 87 	movss  0x87e0a1(%rip),%xmm1        # 0x140fae664
1407305c2:	00
1407305c3:	0f 2f c1             	comiss %xmm1,%xmm0
1407305c6:	72 16                	jb     0x1407305de
1407305c8:	f3 0f 5c c1          	subss  %xmm1,%xmm0
1407305cc:	0f 2f c1             	comiss %xmm1,%xmm0
1407305cf:	73 0d                	jae    0x1407305de
1407305d1:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
1407305d8:	00 00 80
1407305db:	48 8b c8             	mov    %rax,%rcx
1407305de:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
1407305e3:	48 03 c1             	add    %rcx,%rax
1407305e6:	b9 08 00 00 00       	mov    $0x8,%ecx
1407305eb:	48 3b c1             	cmp    %rcx,%rax
1407305ee:	48 0f 47 c8          	cmova  %rax,%rcx
1407305f2:	48 3b e9             	cmp    %rcx,%rbp
1407305f5:	73 19                	jae    0x140730610
1407305f7:	48 81 fd 00 02 00 00 	cmp    $0x200,%rbp
1407305fe:	73 0d                	jae    0x14073060d
140730600:	48 8d 2c ed 00 00 00 	lea    0x0(,%rbp,8),%rbp
140730607:	00
140730608:	48 3b e9             	cmp    %rcx,%rbp
14073060b:	73 03                	jae    0x140730610
14073060d:	48 8b e9             	mov    %rcx,%rbp
140730610:	48 8b d5             	mov    %rbp,%rdx
140730613:	49 8b ce             	mov    %r14,%rcx
140730616:	e8 c5 0c e3 ff       	call   0x1405612e0
14073061b:	48 8b ce             	mov    %rsi,%rcx
14073061e:	49 23 4e 30          	and    0x30(%r14),%rcx
140730622:	48 03 c9             	add    %rcx,%rcx
140730625:	49 8b 56 18          	mov    0x18(%r14),%rdx
140730629:	48 8b 44 ca 08       	mov    0x8(%rdx,%rcx,8),%rax
14073062e:	49 8b 5e 08          	mov    0x8(%r14),%rbx
140730632:	48 3b c3             	cmp    %rbx,%rax
140730635:	75 0b                	jne    0x140730642
140730637:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
14073063e:	00 00
140730640:	eb 23                	jmp    0x140730665
140730642:	48 8b 14 ca          	mov    (%rdx,%rcx,8),%rdx
140730646:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
14073064a:	48 3b 48 10          	cmp    0x10(%rax),%rcx
14073064e:	74 12                	je     0x140730662
140730650:	48 8b d8             	mov    %rax,%rbx
140730653:	48 3b c2             	cmp    %rdx,%rax
140730656:	74 4b                	je     0x1407306a3
140730658:	48 8b 40 08          	mov    0x8(%rax),%rax
14073065c:	48 3b 48 10          	cmp    0x10(%rax),%rcx
140730660:	75 ee                	jne    0x140730650
140730662:	48 8b 18             	mov    (%rax),%rbx
140730665:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
14073066a:	4c 8b e3             	mov    %rbx,%r12
14073066d:	4c 8b 6c 24 20       	mov    0x20(%rsp),%r13
140730672:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140730676:	49 ff 46 10          	incq   0x10(%r14)
14073067a:	4c 89 2f             	mov    %r13,(%rdi)
14073067d:	48 89 4f 08          	mov    %rcx,0x8(%rdi)
140730681:	48 89 39             	mov    %rdi,(%rcx)
140730684:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
140730688:	49 8b 46 18          	mov    0x18(%r14),%rax
14073068c:	49 23 76 30          	and    0x30(%r14),%rsi
140730690:	48 03 f6             	add    %rsi,%rsi
140730693:	48 8b 14 f0          	mov    (%rax,%rsi,8),%rdx
140730697:	49 3b 56 08          	cmp    0x8(%r14),%rdx
14073069b:	75 16                	jne    0x1407306b3
14073069d:	48 89 3c f0          	mov    %rdi,(%rax,%rsi,8)
1407306a1:	eb 22                	jmp    0x1407306c5
1407306a3:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1407306a8:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
1407306af:	00 00
1407306b1:	eb b7                	jmp    0x14073066a
1407306b3:	49 3b d4             	cmp    %r12,%rdx
1407306b6:	75 06                	jne    0x1407306be
1407306b8:	48 89 3c f0          	mov    %rdi,(%rax,%rsi,8)
1407306bc:	eb 0c                	jmp    0x1407306ca
1407306be:	48 39 4c f0 08       	cmp    %rcx,0x8(%rax,%rsi,8)
1407306c3:	75 05                	jne    0x1407306ca
1407306c5:	48 89 7c f0 08       	mov    %rdi,0x8(%rax,%rsi,8)
1407306ca:	49 89 3f             	mov    %rdi,(%r15)
1407306cd:	41 c6 47 08 01       	movb   $0x1,0x8(%r15)
1407306d2:	e9 00 fe ff ff       	jmp    0x1407304d7
1407306d7:	48 8d 0d c2 dd 87 00 	lea    0x87ddc2(%rip),%rcx        # 0x140fae4a0
1407306de:	e8 d1 ac 6c 00       	call   0x140dfb3b4
1407306e3:	cc                   	int3
1407306e4:	cc                   	int3
1407306e5:	cc                   	int3
1407306e6:	cc                   	int3
1407306e7:	cc                   	int3
1407306e8:	cc                   	int3
1407306e9:	cc                   	int3
1407306ea:	cc                   	int3
1407306eb:	cc                   	int3
1407306ec:	cc                   	int3
1407306ed:	cc                   	int3
1407306ee:	cc                   	int3
1407306ef:	cc                   	int3
1407306f0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1407306f5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1407306fa:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1407306ff:	57                   	push   %rdi
140730700:	41 54                	push   %r12
140730702:	41 55                	push   %r13
140730704:	41 56                	push   %r14
140730706:	41 57                	push   %r15
140730708:	48 83 ec 30          	sub    $0x30,%rsp
14073070c:	49 8b f0             	mov    %r8,%rsi
14073070f:	4c 8b f2             	mov    %rdx,%r14
140730712:	48 8b e9             	mov    %rcx,%rbp
140730715:	49 8b 10             	mov    (%r8),%rdx
140730718:	48 8b c2             	mov    %rdx,%rax
14073071b:	48 c1 e8 08          	shr    $0x8,%rax
14073071f:	44 0f b6 e8          	movzbl %al,%r13d
140730723:	0f b6 c2             	movzbl %dl,%eax
140730726:	48 b9 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rcx
14073072d:	9c f2 cb