14054139b:	0f 57 d2             	xorps  %xmm2,%xmm2
14054139e:	48 85 f6             	test   %rsi,%rsi
1405413a1:	78 07                	js     0x1405413aa
1405413a3:	f3 48 0f 2a d6       	cvtsi2ss %rsi,%xmm2
1405413a8:	eb 18                	jmp    0x1405413c2
1405413aa:	48 8b ce             	mov    %rsi,%rcx
1405413ad:	48 d1 e9             	shr    $1,%rcx
1405413b0:	48 8b c6             	mov    %rsi,%rax
1405413b3:	83 e0 01             	and    $0x1,%eax
1405413b6:	48 0b c8             	or     %rax,%rcx
1405413b9:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
1405413be:	f3 0f 58 d2          	addss  %xmm2,%xmm2
1405413c2:	0f 28 c8             	movaps %xmm0,%xmm1
1405413c5:	f3 0f 5e ca          	divss  %xmm2,%xmm1
1405413c9:	0f 2f cb             	comiss %xmm3,%xmm1
1405413cc:	0f 86 e4 00 00 00    	jbe    0x1405414b6
1405413d2:	f3 0f 5e c3          	divss  %xmm3,%xmm0
1405413d6:	e8 45 fd 8e 00       	call   0x140e31120
1405413db:	33 c9                	xor    %ecx,%ecx
1405413dd:	f3 0f 10 0d 7f d2 a6 	movss  0xa6d27f(%rip),%xmm1        # 0x140fae664
1405413e4:	00
1405413e5:	0f 2f c1             	comiss %xmm1,%xmm0
1405413e8:	72 16                	jb     0x140541400
1405413ea:	f3 0f 5c c1          	subss  %xmm1,%xmm0
1405413ee:	0f 2f c1             	comiss %xmm1,%xmm0
1405413f1:	73 0d                	jae    0x140541400
1405413f3:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
1405413fa:	00 00 80
1405413fd:	48 8b c8             	mov    %rax,%rcx
140541400:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
140541405:	48 03 c1             	add    %rcx,%rax
140541408:	b9 08 00 00 00       	mov    $0x8,%ecx
14054140d:	48 3b c1             	cmp    %rcx,%rax
140541410:	48 0f 47 c8          	cmova  %rax,%rcx
140541414:	48 3b f1             	cmp    %rcx,%rsi
140541417:	73 19                	jae    0x140541432
140541419:	48 81 fe 00 02 00 00 	cmp    $0x200,%rsi
140541420:	73 0d                	jae    0x14054142f
140541422:	48 8d 34 f5 00 00 00 	lea    0x0(,%rsi,8),%rsi
140541429:	00
14054142a:	48 3b f1             	cmp    %rcx,%rsi
14054142d:	73 03                	jae    0x140541432
14054142f:	48 8b f1             	mov    %rcx,%rsi
140541432:	48 8b d6             	mov    %rsi,%rdx
140541435:	49 8b cd             	mov    %r13,%rcx
140541438:	e8 93 b6 00 00       	call   0x14054cad0
14054143d:	49 8b 55 30          	mov    0x30(%r13),%rdx
140541441:	4c 8b 4c 24 60       	mov    0x60(%rsp),%r9
140541446:	49 23 d1             	and    %r9,%rdx
140541449:	48 03 d2             	add    %rdx,%rdx
14054144c:	49 8b 45 18          	mov    0x18(%r13),%rax
140541450:	48 8b 4c d0 08       	mov    0x8(%rax,%rdx,8),%rcx
140541455:	49 8b 5d 08          	mov    0x8(%r13),%rbx
140541459:	48 3b cb             	cmp    %rbx,%rcx
14054145c:	75 07                	jne    0x140541465
14054145e:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140541463:	eb 3e                	jmp    0x1405414a3
140541465:	48 8b 14 d0          	mov    (%rax,%rdx,8),%rdx
140541469:	4c 8b 47 10          	mov    0x10(%rdi),%r8
14054146d:	0f 1f 00             	nopl   (%rax)
140541470:	48 8b d9             	mov    %rcx,%rbx
140541473:	4c 3b 41 10          	cmp    0x10(%rcx),%r8
140541477:	75 0a                	jne    0x140541483
140541479:	48 8b 41 18          	mov    0x18(%rcx),%rax
14054147d:	48 39 47 18          	cmp    %rax,0x18(%rdi)
140541481:	74 0b                	je     0x14054148e
140541483:	48 3b ca             	cmp    %rdx,%rcx
140541486:	74 16                	je     0x14054149e
140541488:	48 8b 49 08          	mov    0x8(%rcx),%rcx
14054148c:	eb e2                	jmp    0x140541470
14054148e:	48 8b 19             	mov    (%rcx),%rbx
140541491:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140541496:	48 8b eb             	mov    %rbx,%rbp
140541499:	4c 8b f3             	mov    %rbx,%r14
14054149c:	eb 1d                	jmp    0x1405414bb
14054149e:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1405414a3:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
1405414aa:	00 00
1405414ac:	48 8b eb             	mov    %rbx,%rbp
1405414af:	4c 8b 74 24 20       	mov    0x20(%rsp),%r14
1405414b4:	eb 05                	jmp    0x1405414bb
1405414b6:	4c 8b 4c 24 60       	mov    0x60(%rsp),%r9
1405414bb:	48 8b 53 08          	mov    0x8(%rbx),%rdx
1405414bf:	49 ff 45 10          	incq   0x10(%r13)
1405414c3:	4c 89 37             	mov    %r14,(%rdi)
1405414c6:	48 89 57 08          	mov    %rdx,0x8(%rdi)
1405414ca:	48 89 3a             	mov    %rdi,(%rdx)
1405414cd:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
1405414d1:	49 8b 4d 18          	mov    0x18(%r13),%rcx
1405414d5:	49 8b 45 30          	mov    0x30(%r13),%rax
1405414d9:	49 23 c1             	and    %r9,%rax
1405414dc:	48 03 c0             	add    %rax,%rax
1405414df:	4c 8b 04 c1          	mov    (%rcx,%rax,8),%r8
1405414e3:	4d 3b 45 08          	cmp    0x8(%r13),%r8
1405414e7:	75 06                	jne    0x1405414ef
1405414e9:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
1405414ed:	eb 12                	jmp    0x140541501
1405414ef:	4c 3b c5             	cmp    %rbp,%r8
1405414f2:	75 06                	jne    0x1405414fa
1405414f4:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
1405414f8:	eb 0c                	jmp    0x140541506
1405414fa:	48 39 54 c1 08       	cmp    %rdx,0x8(%rcx,%rax,8)
1405414ff:	75 05                	jne    0x140541506
140541501:	48 89 7c c1 08       	mov    %rdi,0x8(%rcx,%rax,8)
140541506:	49 89 3f             	mov    %rdi,(%r15)
140541509:	41 c6 47 08 01       	movb   $0x1,0x8(%r15)
14054150e:	49 8b c7             	mov    %r15,%rax
140541511:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
140541516:	48 8b 6c 24 70       	mov    0x70(%rsp),%rbp
14054151b:	48 8b 74 24 78       	mov    0x78(%rsp),%rsi
140541520:	48 83 c4 30          	add    $0x30,%rsp
140541524:	41 5f                	pop    %r15
140541526:	41 5e                	pop    %r14
140541528:	41 5d                	pop    %r13
14054152a:	41 5c                	pop    %r12
14054152c:	5f                   	pop    %rdi
14054152d:	c3                   	ret
14054152e:	48 8d 0d 6b cf a6 00 	lea    0xa6cf6b(%rip),%rcx        # 0x140fae4a0
140541535:	e8 7a 9e 8b 00       	call   0x140dfb3b4
14054153a:	cc                   	int3
14054153b:	cc                   	int3
14054153c:	cc                   	int3
14054153d:	cc                   	int3
14054153e:	cc                   	int3
14054153f:	cc                   	int3
140541540:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140541545:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14054154a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14054154f:	57                   	push   %rdi
140541550:	41 54                	push   %r12
140541552:	41 55                	push   %r13
140541554:	41 56                	push   %r14
140541556:	41 57                	push   %r15
140541558:	48 83 ec 40          	sub    $0x40,%rsp
14054155c:	49 8b d8             	mov    %r8,%rbx
14054155f:	4c 8b fa             	mov    %rdx,%r15
140541562:	4c 8b e9             	mov    %rcx,%r13
140541565:	4d 8b 48 10          	mov    0x10(%r8),%r9
140541569:	49 83 78 18 0f       	cmpq   $0xf,0x18(%r8)
14054156e:	76 03                	jbe    0x140541573
140541570:	4d 8b 00             	mov    (%r8),%r8
140541573:	48 bf 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rdi
14054157a:	9c f2 cb
14054157d:	45 33 e4             	xor    %r12d,%r12d
140541580:	41 8b cc             	mov    %r12d,%ecx
140541583:	4d 85 c9             	test   %r9,%r9
140541586:	74 2c                	je     0x1405415b4
140541588:	48 ba b3 01 00 00 00 	movabs $0x100000001b3,%rdx
14054158f:	01 00 00
140541592:	0f 1f 40 00          	nopl   0x0(%rax)
140541596:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
14054159d:	00 00 00
1405415a0:	41 0f b6 04 08       	movzbl (%r8,%rcx,1),%eax
1405415a5:	48 33 f8             	xor    %rax,%rdi
1405415a8:	48 0f af fa          	imul   %rdx,%rdi
1405415ac:	48 ff c1             	inc    %rcx
1405415af:	49 3b c9             	cmp    %r9,%rcx
1405415b2:	72 ec                	jb     0x1405415a0
1405415b4:	4c 8b cf             	mov    %rdi,%r9
1405415b7:	4c 8b c3             	mov    %rbx,%r8
1405415ba:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1405415bf:	49 8b cd             	mov    %r13,%rcx
1405415c2:	e8 39 2c cd ff       	call   0x140214200
1405415c7:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
1405415cc:	48 85 c0             	test   %rax,%rax
1405415cf:	74 0c                	je     0x1405415dd
1405415d1:	49 89 07             	mov    %rax,(%r15)
1405415d4:	45 88 67 08          	mov    %r12b,0x8(%r15)
1405415d8:	e9 34 02 00 00       	jmp    0x140541811
1405415dd:	48 b8 55 55 55 55 55 	movabs $0x555555555555555,%rax
1405415e4:	55 55 05
1405415e7:	49 39 45 10          	cmp    %rax,0x10(%r13)
1405415eb:	0f 84 43 02 00 00    	je     0x140541834
1405415f1:	49 8d 6d 08          	lea    0x8(%r13),%rbp
1405415f5:	48 89 6c 24 30       	mov    %rbp,0x30(%rsp)
1405415fa:	4c 89 64 24 38       	mov    %r12,0x38(%rsp)
1405415ff:	b9 30 00 00 00       	mov    $0x30,%ecx
140541604:	e8 ff 9a 8d 00       	call   0x140e1b108
140541609:	48 8b f0             	mov    %rax,%rsi
14054160c:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140541611:	0f 57 c0             	xorps  %xmm0,%xmm0
140541614:	0f 11 40 10          	movups %xmm0,0x10(%rax)
140541618:	4c 89 60 20          	mov    %r12,0x20(%rax)
14054161c:	4c 89 60 28          	mov    %r12,0x28(%rax)
140541620:	0f 10 03             	movups (%rbx),%xmm0
140541623:	0f 11 40 10          	movups %xmm0,0x10(%rax)
140541627:	0f 10 4b 10          	movups 0x10(%rbx),%xmm1
14054162b:	0f 11 48 20          	movups %xmm1,0x20(%rax)
14054162f:	4c 89 63 10          	mov    %r12,0x10(%rbx)
140541633:	48 c7 43 18 0f 00 00 	movq   $0xf,0x18(%rbx)
14054163a:	00
14054163b:	c6 03 00             	movb   $0x0,(%rbx)
14054163e:	49 8b 4d 10          	mov    0x10(%r13),%rcx
140541642:	f3 41 0f 10 5d 00    	movss  0x0(%r13),%xmm3
140541648:	48 83 c1 01          	add    $0x1,%rcx
14054164c:	0f 57 c0             	xorps  %xmm0,%xmm0
14054164f:	78 07                	js     0x140541658
140541651:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
140541656:	eb 15                	jmp    0x14054166d
140541658:	48 8b c1             	mov    %rcx,%rax
14054165b:	48 d1 e8             	shr    $1,%rax
14054165e:	83 e1 01             	and    $0x1,%ecx
140541661:	48 0b c1             	or     %rcx,%rax
140541664:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
140541669:	f3 0f 58 c0          	addss  %xmm0,%xmm0
14054166d:	49 8b 5d 38          	mov    0x38(%r13),%rbx
140541671:	0f 57 d2             	xorps  %xmm2,%xmm2
140541674:	48 85 db             	test   %rbx,%rbx
140541677:	78 07                	js     0x140541680
140541679:	f3 48 0f 2a d3       	cvtsi2ss %rbx,%xmm2
14054167e:	eb 18                	jmp    0x140541698
140541680:	48 8b cb             	mov    %rbx,%rcx
140541683:	48 d1 e9             	shr    $1,%rcx
140541686:	48 8b c3             	mov    %rbx,%rax
140541689:	83 e0 01             	and    $0x1,%eax
14054168c:	48 0b c8             	or     %rax,%rcx
14054168f:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
140541694:	f3 0f 58 d2          	addss  %xmm2,%xmm2
140541698:	0f 28 c8             	movaps %xmm0,%xmm1
14054169b:	f3 0f 5e ca          	divss  %xmm2,%xmm1
14054169f:	0f 2f cb             	comiss %xmm3,%xmm1
1405416a2:	0f 86 11 01 00 00    	jbe    0x1405417b9
1405416a8:	f3 0f 5e c3          	divss  %xmm3,%xmm0
1405416ac:	e8 6f fa 8e 00       	call   0x140e31120
1405416b1:	33 c9                	xor    %ecx,%ecx
1405416b3:	f3 0f 10 0d a9 cf a6 	movss  0xa6cfa9(%rip),%xmm1        # 0x140fae664
1405416ba:	00
1405416bb:	0f 2f c1             	comiss %xmm1,%xmm0
1405416be:	72 16                	jb     0x1405416d6
1405416c0:	f3 0f 5c c1          	subss  %xmm1,%xmm0
1405416c4:	0f 2f c1             	comiss %xmm1,%xmm0
1405416c7:	73 0d                	jae    0x1405416d6
1405416c9:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
1405416d0:	00 00 80
1405416d3:	48 8b c8             	mov    %rax,%rcx
1405416d6:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
1405416db:	48 03 c1             	add    %rcx,%rax
1405416de:	b9 08 00 00 00       	mov    $0x8,%ecx
1405416e3:	48 3b c1             	cmp    %rcx,%rax
1405416e6:	48 0f 47 c8          	cmova  %rax,%rcx
1405416ea:	48 3b d9             	cmp    %rcx,%rbx
1405416ed:	73 19                	jae    0x140541708
1405416ef:	48 81 fb 00 02 00 00 	cmp    $0x200,%rbx
1405416f6:	73 0d                	jae    0x140541705
1405416f8:	48 8d 1c dd 00 00 00 	lea    0x0(,%rbx,8),%rbx
1405416ff:	00
140541700:	48 3b d9             	cmp    %rcx,%rbx
140541703:	73 03                	jae    0x140541708
140541705:	48 8b d9             	mov    %rcx,%rbx
140541708:	48 8b d3             	mov    %rbx,%rdx
14054170b:	49 8b cd             	mov    %r13,%rcx
14054170e:	e8 3d d1 e6 ff       	call   0x1403ae850
140541713:	49 8b 45 30          	mov    0x30(%r13),%rax
140541717:	48 23 c7             	and    %rdi,%rax
14054171a:	48 03 c0             	add    %rax,%rax
14054171d:	49 8b 55 18          	mov    0x18(%r13),%rdx
140541721:	48 8b 5c c2 08       	mov    0x8(%rdx,%rax,8),%rbx
140541726:	48 8b 4d 00          	mov    0x0(%rbp),%rcx
14054172a:	48 3b d9             	cmp    %rcx,%rbx
14054172d:	75 0c                	jne    0x14054173b
14054172f:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140541734:	4c 89 64 24 28       	mov    %r12,0x28(%rsp)
140541739:	eb 73                	jmp    0x1405417ae
14054173b:	4c 8b 24 c2          	mov    (%rdx,%rax,8),%r12
14054173f:	48 8b 6e 20          	mov    0x20(%rsi),%rbp
140541743:	0f 1f 40 00          	nopl   0x0(%rax)
140541747:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
14054174e:	00 00
140541750:	48 8d 53 10          	lea    0x10(%rbx),%rdx
140541754:	48 8b 42 10          	mov    0x10(%rdx),%rax
140541758:	48 83 7a 18 0f       	cmpq   $0xf,0x18(%rdx)
14054175d:	76 03                	jbe    0x140541762
14054175f:	48 8b 12             	mov    (%rdx),%rdx
140541762:	48 8d 4e 10          	lea    0x10(%rsi),%rcx
140541766:	48 83 7e 28 0f       	cmpq   $0xf,0x28(%rsi)
14054176b:	76 04                	jbe    0x140541771
14054176d:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
140541771:	48 3b e8             	cmp    %rax,%rbp
140541774:	75 0c                	jne    0x140541782
140541776:	4c 8b c5             	mov    %rbp,%r8
140541779:	e8 d2 e2 99 00       	call   0x140edfa50
14054177e:	85 c0                	test   %eax,%eax
140541780:	74 0b                	je     0x14054178d
140541782:	49 3b dc             	cmp    %r12,%rbx
140541785:	74 15                	je     0x14054179c
140541787:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
14054178b:	eb c3                	jmp    0x140541750
14054178d:	48 8b 03             	mov    (%rbx),%rax
140541790:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140541795:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
14054179a:	eb 0e                	jmp    0x1405417aa
14054179c:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1405417a1:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
1405417a8:	00 00
1405417aa:	49 8d 6d 08          	lea    0x8(%r13),%rbp
1405417ae:	0f 28 44 24 20       	movaps 0x20(%rsp),%xmm0
1405417b3:	66 0f 7f 44 24 20    	movdqa %xmm0,0x20(%rsp)
1405417b9:	48 8b 54 24 20       	mov    0x20(%rsp),%rdx
1405417be:	4c 8b 42 08          	mov    0x8(%rdx),%r8
1405417c2:	49 ff 45 10          	incq   0x10(%r13)
1405417c6:	48 89 16             	mov    %rdx,(%rsi)
1405417c9:	4c 89 46 08          	mov    %r8,0x8(%rsi)
1405417cd:	49 89 30             	mov    %rsi,(%r8)
1405417d0:	48 89 72 08          	mov    %rsi,0x8(%rdx)
1405417d4:	49 8b 4d 18          	mov    0x18(%r13),%rcx
1405417d8:	49 8b 45 30          	mov    0x30(%r13),%rax
1405417dc:	48 23 c7             	and    %rdi,%rax
1405417df:	48 03 c0             	add    %rax,%rax
1405417e2:	4c 8b 0c c1          	mov    (%rcx,%rax,8),%r9
1405417e6:	4c 3b 4d 00          	cmp    0x0(%rbp),%r9
1405417ea:	75 06                	jne    0x1405417f2
1405417ec:	48 89 34 c1          	mov    %rsi,(%rcx,%rax,8)
1405417f0:	eb 12                	jmp    0x140541804
1405417f2:	4c 3b ca             	cmp    %rdx,%r9
1405417f5:	75 06                	jne    0x1405417fd
1405417f7:	48 89 34 c1          	mov    %rsi,(%rcx,%rax,8)
1405417fb:	eb 0c                	jmp    0x140541809
1405417fd:	4c 39 44 c1 08       	cmp    %r8,0x8(%rcx,%rax,8)
140541802:	75 05                	jne    0x140541809
140541804:	48 89 74 c1 08       	mov    %rsi,0x8(%rcx,%rax,8)
140541809:	49 89 37             	mov    %rsi,(%r15)
14054180c:	41 c6 47 08 01       	movb   $0x1,0x8(%r15)
140541811:	49 8b c7             	mov    %r15,%rax
140541814:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
140541819:	48 8b 6c 24 78       	mov    0x78(%rsp),%rbp
14054181e:	48 8b b4 24 80 00 00 	mov    0x80(%rsp),%rsi
140541825:	00
140541826:	48 83 c4 40          	add    $0x40,%rsp
14054182a:	41 5f                	pop    %r15
14054182c:	41 5e                	pop    %r14
14054182e:	41 5d                	pop    %r13
140541830:	41 5c                	pop    %r12
140541832:	5f                   	pop    %rdi
140541833:	c3                   	ret
140541834:	48 8d 0d 65 cc a6 00 	lea    0xa6cc65(%rip),%rcx        # 0x140fae4a0
14054183b:	e8 74 9b 8b 00       	call   0x140dfb3b4
140541840:	cc                   	int3
140541841:	cc                   	int3
140541842:	cc                   	int3
140541843:	cc                   	int3
140541844:	cc                   	int3
140541845:	cc                   	int3
140541846:	cc                   	int3
140541847:	cc                   	int3
140541848:	cc                   	int3
140541849:	cc                   	int3
14054184a:	cc                   	int3
14054184b:	cc                   	int3
14054184c:	cc                   	int3
14054184d:	cc                   	int3