14055b44c:	48 c7 46 08 00 00 00 	movq   $0x0,0x8(%rsi)
14055b453:	00
14055b454:	48 89 48 18          	mov    %rcx,0x18(%rax)
14055b458:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
14055b45c:	48 83 c1 01          	add    $0x1,%rcx
14055b460:	0f 57 c0             	xorps  %xmm0,%xmm0
14055b463:	78 07                	js     0x14055b46c
14055b465:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
14055b46a:	eb 15                	jmp    0x14055b481
14055b46c:	48 8b c1             	mov    %rcx,%rax
14055b46f:	48 d1 e8             	shr    $1,%rax
14055b472:	83 e1 01             	and    $0x1,%ecx
14055b475:	48 0b c1             	or     %rcx,%rax
14055b478:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
14055b47d:	f3 0f 58 c0          	addss  %xmm0,%xmm0
14055b481:	48 8b 75 38          	mov    0x38(%rbp),%rsi
14055b485:	f3 0f 10 5d 00       	movss  0x0(%rbp),%xmm3
14055b48a:	0f 57 d2             	xorps  %xmm2,%xmm2
14055b48d:	48 85 f6             	test   %rsi,%rsi
14055b490:	78 07                	js     0x14055b499
14055b492:	f3 48 0f 2a d6       	cvtsi2ss %rsi,%xmm2
14055b497:	eb 18                	jmp    0x14055b4b1
14055b499:	48 8b ce             	mov    %rsi,%rcx
14055b49c:	48 d1 e9             	shr    $1,%rcx
14055b49f:	48 8b c6             	mov    %rsi,%rax
14055b4a2:	83 e0 01             	and    $0x1,%eax
14055b4a5:	48 0b c8             	or     %rax,%rcx
14055b4a8:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
14055b4ad:	f3 0f 58 d2          	addss  %xmm2,%xmm2
14055b4b1:	0f 28 c8             	movaps %xmm0,%xmm1
14055b4b4:	f3 0f 5e ca          	divss  %xmm2,%xmm1
14055b4b8:	0f 2f cb             	comiss %xmm3,%xmm1
14055b4bb:	0f 86 c2 00 00 00    	jbe    0x14055b583
14055b4c1:	f3 0f 5e c3          	divss  %xmm3,%xmm0
14055b4c5:	e8 56 5c 8d 00       	call   0x140e31120
14055b4ca:	33 c9                	xor    %ecx,%ecx
14055b4cc:	f3 0f 10 0d 90 31 a5 	movss  0xa53190(%rip),%xmm1        # 0x140fae664
14055b4d3:	00
14055b4d4:	0f 2f c1             	comiss %xmm1,%xmm0
14055b4d7:	72 16                	jb     0x14055b4ef
14055b4d9:	f3 0f 5c c1          	subss  %xmm1,%xmm0
14055b4dd:	0f 2f c1             	comiss %xmm1,%xmm0
14055b4e0:	73 0d                	jae    0x14055b4ef
14055b4e2:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
14055b4e9:	00 00 80
14055b4ec:	48 8b c8             	mov    %rax,%rcx
14055b4ef:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
14055b4f4:	48 03 c1             	add    %rcx,%rax
14055b4f7:	b9 08 00 00 00       	mov    $0x8,%ecx
14055b4fc:	48 3b c1             	cmp    %rcx,%rax
14055b4ff:	48 0f 47 c8          	cmova  %rax,%rcx
14055b503:	48 3b f1             	cmp    %rcx,%rsi
14055b506:	73 19                	jae    0x14055b521
14055b508:	48 81 fe 00 02 00 00 	cmp    $0x200,%rsi
14055b50f:	73 0d                	jae    0x14055b51e
14055b511:	48 8d 34 f5 00 00 00 	lea    0x0(,%rsi,8),%rsi
14055b518:	00
14055b519:	48 3b f1             	cmp    %rcx,%rsi
14055b51c:	73 03                	jae    0x14055b521
14055b51e:	48 8b f1             	mov    %rcx,%rsi
14055b521:	48 8b d6             	mov    %rsi,%rdx
14055b524:	48 8b cd             	mov    %rbp,%rcx
14055b527:	e8 b4 5d 00 00       	call   0x1405612e0
14055b52c:	48 8b 4d 30          	mov    0x30(%rbp),%rcx
14055b530:	49 23 cd             	and    %r13,%rcx
14055b533:	48 03 c9             	add    %rcx,%rcx
14055b536:	48 8b 55 18          	mov    0x18(%rbp),%rdx
14055b53a:	48 8b 44 ca 08       	mov    0x8(%rdx,%rcx,8),%rax
14055b53f:	48 8b 5d 08          	mov    0x8(%rbp),%rbx
14055b543:	48 3b c3             	cmp    %rbx,%rax
14055b546:	75 0b                	jne    0x14055b553
14055b548:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
14055b54f:	00 00
14055b551:	eb 23                	jmp    0x14055b576
14055b553:	48 8b 14 ca          	mov    (%rdx,%rcx,8),%rdx
14055b557:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
14055b55b:	48 3b 48 10          	cmp    0x10(%rax),%rcx
14055b55f:	74 12                	je     0x14055b573
14055b561:	48 8b d8             	mov    %rax,%rbx
14055b564:	48 3b c2             	cmp    %rdx,%rax
14055b567:	74 4e                	je     0x14055b5b7
14055b569:	48 8b 40 08          	mov    0x8(%rax),%rax
14055b56d:	48 3b 48 10          	cmp    0x10(%rax),%rcx
14055b571:	75 ee                	jne    0x14055b561
14055b573:	48 8b 18             	mov    (%rax),%rbx
14055b576:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
14055b57b:	4c 8b fb             	mov    %rbx,%r15
14055b57e:	4c 8b 64 24 20       	mov    0x20(%rsp),%r12
14055b583:	48 8b 53 08          	mov    0x8(%rbx),%rdx
14055b587:	48 ff 45 10          	incq   0x10(%rbp)
14055b58b:	4c 89 27             	mov    %r12,(%rdi)
14055b58e:	48 89 57 08          	mov    %rdx,0x8(%rdi)
14055b592:	48 89 3a             	mov    %rdi,(%rdx)
14055b595:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
14055b599:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
14055b59d:	48 8b 45 30          	mov    0x30(%rbp),%rax
14055b5a1:	49 23 c5             	and    %r13,%rax
14055b5a4:	48 03 c0             	add    %rax,%rax
14055b5a7:	4c 8b 04 c1          	mov    (%rcx,%rax,8),%r8
14055b5ab:	4c 3b 45 08          	cmp    0x8(%rbp),%r8
14055b5af:	75 16                	jne    0x14055b5c7
14055b5b1:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
14055b5b5:	eb 22                	jmp    0x14055b5d9
14055b5b7:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14055b5bc:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
14055b5c3:	00 00
14055b5c5:	eb b4                	jmp    0x14055b57b
14055b5c7:	4d 3b c7             	cmp    %r15,%r8
14055b5ca:	75 06                	jne    0x14055b5d2
14055b5cc:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
14055b5d0:	eb 0c                	jmp    0x14055b5de
14055b5d2:	48 39 54 c1 08       	cmp    %rdx,0x8(%rcx,%rax,8)
14055b5d7:	75 05                	jne    0x14055b5de
14055b5d9:	48 89 7c c1 08       	mov    %rdi,0x8(%rcx,%rax,8)
14055b5de:	49 89 3e             	mov    %rdi,(%r14)
14055b5e1:	41 c6 46 08 01       	movb   $0x1,0x8(%r14)
14055b5e6:	e9 fc fd ff ff       	jmp    0x14055b3e7
14055b5eb:	48 8d 0d ae 2e a5 00 	lea    0xa52eae(%rip),%rcx        # 0x140fae4a0
14055b5f2:	e8 bd fd 89 00       	call   0x140dfb3b4
14055b5f7:	cc                   	int3
14055b5f8:	cc                   	int3
14055b5f9:	cc                   	int3
14055b5fa:	cc                   	int3
14055b5fb:	cc                   	int3
14055b5fc:	cc                   	int3
14055b5fd:	cc                   	int3
14055b5fe:	cc                   	int3
14055b5ff:	cc                   	int3
14055b600:	45 0f b6 08          	movzbl (%r8),%r9d
14055b604:	4c 8b d1             	mov    %rcx,%r10
14055b607:	48 b9 b3 01 00 00 00 	movabs $0x100000001b3,%rcx
14055b60e:	01 00 00
14055b611:	48 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rax
14055b618:	9c f2 cb
14055b61b:	4c 33 c8             	xor    %rax,%r9
14055b61e:	4c 8b da             	mov    %rdx,%r11
14055b621:	41 0f b6 40 01       	movzbl 0x1(%r8),%eax
14055b626:	49 8b 52 30          	mov    0x30(%r10),%rdx
14055b62a:	4c 0f af c9          	imul   %rcx,%r9
14055b62e:	4c 33 c8             	xor    %rax,%r9
14055b631:	41 0f b6 40 02       	movzbl 0x2(%r8),%eax
14055b636:	4c 0f af c9          	imul   %rcx,%r9
14055b63a:	4c 33 c8             	xor    %rax,%r9
14055b63d:	41 0f b6 40 03       	movzbl 0x3(%r8),%eax
14055b642:	4c 0f af c9          	imul   %rcx,%r9
14055b646:	4c 33 c8             	xor    %rax,%r9
14055b649:	41 0f b6 40 04       	movzbl 0x4(%r8),%eax
14055b64e:	4c 0f af c9          	imul   %rcx,%r9
14055b652:	4c 33 c8             	xor    %rax,%r9
14055b655:	41 0f b6 40 05       	movzbl 0x5(%r8),%eax
14055b65a:	4c 0f af c9          	imul   %rcx,%r9
14055b65e:	4c 33 c8             	xor    %rax,%r9
14055b661:	41 0f b6 40 06       	movzbl 0x6(%r8),%eax
14055b666:	4c 0f af c9          	imul   %rcx,%r9
14055b66a:	4c 33 c8             	xor    %rax,%r9
14055b66d:	41 0f b6 40 07       	movzbl 0x7(%r8),%eax
14055b672:	4c 0f af c9          	imul   %rcx,%r9
14055b676:	4c 33 c8             	xor    %rax,%r9
14055b679:	4c 0f af c9          	imul   %rcx,%r9
14055b67d:	49 23 d1             	and    %r9,%rdx
14055b680:	4d 8b 4a 08          	mov    0x8(%r10),%r9
14055b684:	48 c1 e2 04          	shl    $0x4,%rdx
14055b688:	49 03 52 18          	add    0x18(%r10),%rdx
14055b68c:	48 8b 42 08          	mov    0x8(%rdx),%rax
14055b690:	49 3b c1             	cmp    %r9,%rax
14055b693:	74 29                	je     0x14055b6be
14055b695:	49 8b 08             	mov    (%r8),%rcx
14055b698:	48 8b 12             	mov    (%rdx),%rdx
14055b69b:	48 3b 48 10          	cmp    0x10(%rax),%rcx
14055b69f:	74 1f                	je     0x14055b6c0
14055b6a1:	48 3b c2             	cmp    %rdx,%rax
14055b6a4:	74 18                	je     0x14055b6be
14055b6a6:	48 8b 40 08          	mov    0x8(%rax),%rax
14055b6aa:	48 3b 48 10          	cmp    0x10(%rax),%rcx
14055b6ae:	75 f1                	jne    0x14055b6a1
14055b6b0:	48 85 c0             	test   %rax,%rax
14055b6b3:	49 0f 44 c1          	cmove  %r9,%rax
14055b6b7:	49 89 03             	mov    %rax,(%r11)
14055b6ba:	49 8b c3             	mov    %r11,%rax
14055b6bd:	c3                   	ret
14055b6be:	33 c0                	xor    %eax,%eax
14055b6c0:	48 85 c0             	test   %rax,%rax
14055b6c3:	49 0f 44 c1          	cmove  %r9,%rax
14055b6c7:	49 89 03             	mov    %rax,(%r11)
14055b6ca:	49 8b c3             	mov    %r11,%rax
14055b6cd:	c3                   	ret
14055b6ce:	cc                   	int3
14055b6cf:	cc                   	int3
14055b6d0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14055b6d5:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
14055b6da:	56                   	push   %rsi
14055b6db:	57                   	push   %rdi
14055b6dc:	41 56                	push   %r14
14055b6de:	48 83 ec 20          	sub    $0x20,%rsp
14055b6e2:	48 8b f9             	mov    %rcx,%rdi
14055b6e5:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
14055b6ea:	e8 31 5e 00 00       	call   0x140561520
14055b6ef:	48 8b 07             	mov    (%rdi),%rax
14055b6f2:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14055b6f7:	48 85 c0             	test   %rax,%rax
14055b6fa:	74 39                	je     0x14055b735
14055b6fc:	78 37                	js     0x14055b735
14055b6fe:	48 69 c8 40 42 0f 00 	imul   $0xf4240,%rax,%rcx
14055b705:	49 b9 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%r9
14055b70c:	ff ff 7f
14055b70f:	49 8b c1             	mov    %r9,%rax
14055b712:	48 2b c1             	sub    %rcx,%rax
14055b715:	48 3b d8             	cmp    %rax,%rbx
14055b718:	74 18                	je     0x14055b732
14055b71a:	ba 01 00 00 00       	mov    $0x1,%edx
14055b71f:	41 b8 ff 00 00 00    	mov    $0xff,%r8d
14055b725:	41 0f 4c d0          	cmovl  %r8d,%edx
14055b729:	84 d2                	test   %dl,%dl
14055b72b:	79 05                	jns    0x14055b732
14055b72d:	48 03 d9             	add    %rcx,%rbx
14055b730:	eb 03                	jmp    0x14055b735
14055b732:	49 8b d9             	mov    %r9,%rbx
14055b735:	48 be 00 00 4f 91 94 	movabs $0x4e94914f0000,%rsi
14055b73c:	4e 00 00
14055b73f:	48 bd db 34 b6 d7 82 	movabs $0x431bde82d7b634db,%rbp
14055b746:	de 1b 43
14055b749:	49 be f3 8c 90 94 07 	movabs $0xb2f4fc0794908cf3,%r14
14055b750:	fc f4 b2
14055b753:	e8 c8 26 8a 00       	call   0x140dfde20
14055b758:	48 8b f8             	mov    %rax,%rdi
14055b75b:	e8 a4 26 8a 00       	call   0x140dfde04
14055b760:	48 8b c8             	mov    %rax,%rcx
14055b763:	48 81 ff 80 96 98 00 	cmp    $0x989680,%rdi
14055b76a:	75 06                	jne    0x14055b772
14055b76c:	48 6b c1 64          	imul   $0x64,%rcx,%rax
14055b770:	eb 71                	jmp    0x14055b7e3
14055b772:	48 81 ff 00 36 6e 01 	cmp    $0x16e3600,%rdi
14055b779:	75 4a                	jne    0x14055b7c5
14055b77b:	49 8b c6             	mov    %r14,%rax
14055b77e:	48 f7 e9             	imul   %rcx
14055b781:	4c 8d 04 11          	lea    (%rcx,%rdx,1),%r8
14055b785:	49 c1 f8 18          	sar    $0x18,%r8
14055b789:	49 8b c0             	mov    %r8,%rax
14055b78c:	48 c1 e8 3f          	shr    $0x3f,%rax
14055b790:	4c 03 c0             	add    %rax,%r8
14055b793:	49 69 c0 00 36 6e 01 	imul   $0x16e3600,%r8,%rax
14055b79a:	48 2b c8             	sub    %rax,%rcx
14055b79d:	49 8b c6             	mov    %r14,%rax
14055b7a0:	48 69 c9 00 ca 9a 3b 	imul   $0x3b9aca00,%rcx,%rcx
14055b7a7:	48 f7 e9             	imul   %rcx
14055b7aa:	48 8d 04 11          	lea    (%rcx,%rdx,1),%rax
14055b7ae:	48 c1 f8 18          	sar    $0x18,%rax
14055b7b2:	48 8b c8             	mov    %rax,%rcx
14055b7b5:	48 c1 e9 3f          	shr    $0x3f,%rcx
14055b7b9:	48 03 c1             	add    %rcx,%rax
14055b7bc:	49 69 c8 00 ca 9a 3b 	imul   $0x3b9aca00,%r8,%rcx
14055b7c3:	eb 1b                	jmp    0x14055b7e0
14055b7c5:	48 99                	cqto
14055b7c7:	48 f7 ff             	idiv   %rdi
14055b7ca:	48 8b c8             	mov    %rax,%rcx
14055b7cd:	48 69 c2 00 ca 9a 3b 	imul   $0x3b9aca00,%rdx,%rax
14055b7d4:	48 99                	cqto
14055b7d6:	48 f7 ff             	idiv   %rdi
14055b7d9:	48 69 c9 00 ca 9a 3b 	imul   $0x3b9aca00,%rcx,%rcx
14055b7e0:	48 03 c1             	add    %rcx,%rax
14055b7e3:	48 3b d8             	cmp    %rax,%rbx
14055b7e6:	74 6e                	je     0x14055b856
14055b7e8:	7c 6c                	jl     0x14055b856
14055b7ea:	48 8b cb             	mov    %rbx,%rcx
14055b7ed:	48 2b c8             	sub    %rax,%rcx
14055b7f0:	48 3b ce             	cmp    %rsi,%rcx
14055b7f3:	75 20                	jne    0x14055b815
14055b7f5:	48 8b c5             	mov    %rbp,%rax
14055b7f8:	48 f7 e9             	imul   %rcx
14055b7fb:	48 c1 fa 12          	sar    $0x12,%rdx
14055b7ff:	48 8b c2             	mov    %rdx,%rax
14055b802:	48 c1 e8 3f          	shr    $0x3f,%rax
14055b806:	48 03 d0             	add    %rax,%rdx
14055b809:	8b ca                	mov    %edx,%ecx
14055b80b:	e8 c4 2a 8a 00       	call   0x140dfe2d4
14055b810:	e9 3e ff ff ff       	jmp    0x14055b753
14055b815:	7c 11                	jl     0x14055b828
14055b817:	ba 00 5c 26 05       	mov    $0x5265c00,%edx
14055b81c:	8b ca                	mov    %edx,%ecx
14055b81e:	e8 b1 2a 8a 00       	call   0x140dfe2d4
14055b823:	e9 2b ff ff ff       	jmp    0x14055b753
14055b828:	48 8b c5             	mov    %rbp,%rax
14055b82b:	48 f7 e9             	imul   %rcx
14055b82e:	48 c1 fa 12          	sar    $0x12,%rdx
14055b832:	48 8b c2             	mov    %rdx,%rax
14055b835:	48 c1 e8 3f          	shr    $0x3f,%rax
14055b839:	48 03 d0             	add    %rax,%rdx
14055b83c:	48 69 c2 40 42 0f 00 	imul   $0xf4240,%rdx,%rax
14055b843:	48 3b c1             	cmp    %rcx,%rax
14055b846:	7d 02                	jge    0x14055b84a
14055b848:	ff c2                	inc    %edx
14055b84a:	8b ca                	mov    %edx,%ecx
14055b84c:	e8 83 2a 8a 00       	call   0x140dfe2d4
14055b851:	e9 fd fe ff ff       	jmp    0x14055b753
14055b856:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
14055b85b:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
14055b860:	48 83 c4 20          	add    $0x20,%rsp
14055b864:	41 5e                	pop    %r14
14055b866:	5f                   	pop    %rdi
14055b867:	5e                   	pop    %rsi
14055b868:	c3                   	ret
14055b869:	cc                   	int3
14055b86a:	cc                   	int3
14055b86b:	cc                   	int3
14055b86c:	cc                   	int3
14055b86d:	cc                   	int3
14055b86e:	cc                   	int3
14055b86f:	cc                   	int3
14055b870:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14055b875:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14055b87a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14055b87f:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
14055b884:	41 56                	push   %r14
14055b886:	48 83 ec 20          	sub    $0x20,%rsp
14055b88a:	48 8b f9             	mov    %rcx,%rdi
14055b88d:	48 be 00 00 4f 91 94 	movabs $0x4e94914f0000,%rsi
14055b894:	4e 00 00
14055b897:	48 bd db 34 b6 d7 82 	movabs $0x431bde82d7b634db,%rbp
14055b89e:	de 1b 43
14055b8a1:	49 be f3 8c 90 94 07 	movabs $0xb2f4fc0794908cf3,%r14
14055b8a8:	fc f4 b2
14055b8ab:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14055b8b0:	e8 6b 25 8a 00       	call   0x140dfde20
14055b8b5:	48 8b d8             	mov    %rax,%rbx
14055b8b8:	e8 47 25 8a 00       	call   0x140dfde04
14055b8bd:	48 8b c8             	mov    %rax,%rcx
14055b8c0:	48 81 fb 80 96 98 00 	cmp    $0x989680,%rbx
14055b8c7:	75 06                	jne    0x14055b8cf
14055b8c9:	48 6b c1 64          	imul   $0x64,%rcx,%rax
14055b8cd:	eb 71                	jmp    0x14055b940
14055b8cf:	48 81 fb 00 36 6e 01 	cmp    $0x16e3600,%rbx
14055b8d6:	75 4a                	jne    0x14055b922
14055b8d8:	49 8b c6             	mov    %r14,%rax
14055b8db:	48 f7 e9             	imul   %rcx
14055b8de:	4c 8d 04 11          	lea    (%rcx,%rdx,1),%r8
14055b8e2:	49 c1 f8 18          	sar    $0x18,%r8
14055b8e6:	49 8b c0             	mov    %r8,%rax
14055b8e9:	48 c1 e8 3f          	shr    $0x3f,%rax
14055b8ed:	4c 03 c0             	add    %rax,%r8
14055b8f0:	49 69 c0 00 36 6e 01 	imul   $0x16e3600,%r8,%rax
14055b8f7:	48 2b c8             	sub    %rax,%rcx
14055b8fa:	49 8b c6             	mov    %r14,%rax
14055b8fd:	48 69 c9 00 ca 9a 3b 	imul   $0x3b9aca00,%rcx,%rcx
14055b904:	48 f7 e9             	imul   %rcx
14055b907:	48 8d 04 11          	lea    (%rcx,%rdx,1),%rax
14055b90b:	48 c1 f8 18          	sar    $0x18,%rax
14055b90f:	48 8b c8             	mov    %rax,%rcx
14055b912:	48 c1 e9 3f          	shr    $0x3f,%rcx
14055b916:	48 03 c1             	add    %rcx,%rax
14055b919:	49 69 c8 00 ca 9a 3b 	imul   $0x3b9aca00,%r8,%rcx