14001b537:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
14001b53b:	48 83 c1 01          	add    $0x1,%rcx
14001b53f:	0f 57 c0             	xorps  %xmm0,%xmm0
14001b542:	78 07                	js     0x14001b54b
14001b544:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
14001b549:	eb 15                	jmp    0x14001b560
14001b54b:	48 8b c1             	mov    %rcx,%rax
14001b54e:	48 d1 e8             	shr    $1,%rax
14001b551:	83 e1 01             	and    $0x1,%ecx
14001b554:	48 0b c1             	or     %rcx,%rax
14001b557:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
14001b55c:	f3 0f 58 c0          	addss  %xmm0,%xmm0
14001b560:	48 8b 4d 38          	mov    0x38(%rbp),%rcx
14001b564:	0f 57 c9             	xorps  %xmm1,%xmm1
14001b567:	48 85 c9             	test   %rcx,%rcx
14001b56a:	78 07                	js     0x14001b573
14001b56c:	f3 48 0f 2a c9       	cvtsi2ss %rcx,%xmm1
14001b571:	eb 15                	jmp    0x14001b588
14001b573:	48 8b c1             	mov    %rcx,%rax
14001b576:	48 d1 e8             	shr    $1,%rax
14001b579:	83 e1 01             	and    $0x1,%ecx
14001b57c:	48 0b c1             	or     %rcx,%rax
14001b57f:	f3 48 0f 2a c8       	cvtsi2ss %rax,%xmm1
14001b584:	f3 0f 58 c9          	addss  %xmm1,%xmm1
14001b588:	f3 0f 5e c1          	divss  %xmm1,%xmm0
14001b58c:	0f 2f 45 00          	comiss 0x0(%rbp),%xmm0
14001b590:	76 50                	jbe    0x14001b5e2
14001b592:	48 8b cd             	mov    %rbp,%rcx
14001b595:	e8 b6 00 00 00       	call   0x14001b650
14001b59a:	48 8b 4d 30          	mov    0x30(%rbp),%rcx
14001b59e:	49 23 cf             	and    %r15,%rcx
14001b5a1:	48 03 c9             	add    %rcx,%rcx
14001b5a4:	48 8b 55 18          	mov    0x18(%rbp),%rdx
14001b5a8:	48 8b 44 ca 08       	mov    0x8(%rdx,%rcx,8),%rax
14001b5ad:	48 8b 5d 08          	mov    0x8(%rbp),%rbx
14001b5b1:	48 3b c3             	cmp    %rbx,%rax
14001b5b4:	74 1f                	je     0x14001b5d5
14001b5b6:	4c 8b 04 ca          	mov    (%rdx,%rcx,8),%r8
14001b5ba:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
14001b5be:	eb 0c                	jmp    0x14001b5cc
14001b5c0:	48 8b d8             	mov    %rax,%rbx
14001b5c3:	49 3b c0             	cmp    %r8,%rax
14001b5c6:	74 4e                	je     0x14001b616
14001b5c8:	48 8b 40 08          	mov    0x8(%rax),%rax
14001b5cc:	48 3b 48 10          	cmp    0x10(%rax),%rcx
14001b5d0:	75 ee                	jne    0x14001b5c0
14001b5d2:	48 8b 18             	mov    (%rax),%rbx
14001b5d5:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
14001b5da:	4c 8b f3             	mov    %rbx,%r14
14001b5dd:	4c 8b 64 24 20       	mov    0x20(%rsp),%r12
14001b5e2:	48 8b 53 08          	mov    0x8(%rbx),%rdx
14001b5e6:	48 ff 45 10          	incq   0x10(%rbp)
14001b5ea:	4c 89 27             	mov    %r12,(%rdi)
14001b5ed:	48 89 57 08          	mov    %rdx,0x8(%rdi)
14001b5f1:	48 89 3a             	mov    %rdi,(%rdx)
14001b5f4:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
14001b5f8:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
14001b5fc:	48 8b 45 30          	mov    0x30(%rbp),%rax
14001b600:	49 23 c7             	and    %r15,%rax
14001b603:	48 03 c0             	add    %rax,%rax
14001b606:	4c 8b 04 c1          	mov    (%rcx,%rax,8),%r8
14001b60a:	4c 3b 45 08          	cmp    0x8(%rbp),%r8
14001b60e:	75 0d                	jne    0x14001b61d
14001b610:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
14001b614:	eb 19                	jmp    0x14001b62f
14001b616:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14001b61b:	eb bd                	jmp    0x14001b5da
14001b61d:	4d 3b c6             	cmp    %r14,%r8
14001b620:	75 06                	jne    0x14001b628
14001b622:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
14001b626:	eb 0c                	jmp    0x14001b634
14001b628:	48 39 54 c1 08       	cmp    %rdx,0x8(%rcx,%rax,8)
14001b62d:	75 05                	jne    0x14001b634
14001b62f:	48 89 7c c1 08       	mov    %rdi,0x8(%rcx,%rax,8)
14001b634:	48 89 3e             	mov    %rdi,(%rsi)
14001b637:	c6 46 08 01          	movb   $0x1,0x8(%rsi)
14001b63b:	e9 76 fe ff ff       	jmp    0x14001b4b6
14001b640:	cc                   	int3
14001b641:	90                   	nop
14001b642:	90                   	nop
14001b643:	90                   	nop
14001b644:	90                   	nop
14001b645:	90                   	nop
14001b646:	90                   	nop
14001b647:	90                   	nop
14001b648:	90                   	nop
14001b649:	90                   	nop
14001b64a:	90                   	nop
14001b64b:	90                   	nop
14001b64c:	90                   	nop
14001b64d:	90                   	nop
14001b64e:	90                   	nop
14001b64f:	90                   	nop
14001b650:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14001b655:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14001b65a:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
14001b65f:	41 56                	push   %r14
14001b661:	48 83 ec 20          	sub    $0x20,%rsp
14001b665:	48 8b 51 10          	mov    0x10(%rcx),%rdx
14001b669:	48 8b f1             	mov    %rcx,%rsi
14001b66c:	48 83 c2 01          	add    $0x1,%rdx
14001b670:	48 8b 59 38          	mov    0x38(%rcx),%rbx
14001b674:	0f 57 c0             	xorps  %xmm0,%xmm0
14001b677:	78 07                	js     0x14001b680
14001b679:	f3 48 0f 2a c2       	cvtsi2ss %rdx,%xmm0
14001b67e:	eb 15                	jmp    0x14001b695
14001b680:	48 8b c2             	mov    %rdx,%rax
14001b683:	83 e2 01             	and    $0x1,%edx
14001b686:	48 d1 e8             	shr    $1,%rax
14001b689:	48 0b c2             	or     %rdx,%rax
14001b68c:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
14001b691:	f3 0f 58 c0          	addss  %xmm0,%xmm0
14001b695:	f3 0f 5e 01          	divss  (%rcx),%xmm0
14001b699:	e8 fd ef 04 00       	call   0x14006a69b
14001b69e:	f3 0f 10 0d a2 8a 08 	movss  0x88aa2(%rip),%xmm1        # 0x1400a4148
14001b6a5:	00
14001b6a6:	33 c9                	xor    %ecx,%ecx
14001b6a8:	0f 2f c1             	comiss %xmm1,%xmm0
14001b6ab:	72 16                	jb     0x14001b6c3
14001b6ad:	f3 0f 5c c1          	subss  %xmm1,%xmm0
14001b6b1:	0f 2f c1             	comiss %xmm1,%xmm0
14001b6b4:	73 0d                	jae    0x14001b6c3
14001b6b6:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
14001b6bd:	00 00 80
14001b6c0:	48 8b c8             	mov    %rax,%rcx
14001b6c3:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
14001b6c8:	48 03 c1             	add    %rcx,%rax
14001b6cb:	b9 08 00 00 00       	mov    $0x8,%ecx
14001b6d0:	48 3b c1             	cmp    %rcx,%rax
14001b6d3:	48 0f 47 c8          	cmova  %rax,%rcx
14001b6d7:	48 3b d9             	cmp    %rcx,%rbx
14001b6da:	73 15                	jae    0x14001b6f1
14001b6dc:	48 81 fb 00 02 00 00 	cmp    $0x200,%rbx
14001b6e3:	73 09                	jae    0x14001b6ee
14001b6e5:	48 c1 e3 03          	shl    $0x3,%rbx
14001b6e9:	48 3b d9             	cmp    %rcx,%rbx
14001b6ec:	73 03                	jae    0x14001b6f1
14001b6ee:	48 8b d9             	mov    %rcx,%rbx
14001b6f1:	48 b8 ff ff ff ff ff 	movabs $0xfffffffffffffff,%rax
14001b6f8:	ff ff 0f
14001b6fb:	48 0f bd c8          	bsr    %rax,%rcx
14001b6ff:	b8 01 00 00 00       	mov    $0x1,%eax
14001b704:	48 d3 e0             	shl    %cl,%rax
14001b707:	48 3b d8             	cmp    %rax,%rbx
14001b70a:	76 0e                	jbe    0x14001b71a
14001b70c:	48 8d 0d 9d 87 08 00 	lea    0x8879d(%rip),%rcx        # 0x1400a3eb0
14001b713:	ff 15 07 3d 05 00    	call   *0x53d07(%rip)        # 0x14006f420
14001b719:	cc                   	int3
14001b71a:	48 8d 43 ff          	lea    -0x1(%rbx),%rax
14001b71e:	bf 01 00 00 00       	mov    $0x1,%edi
14001b723:	48 8b 5e 08          	mov    0x8(%rsi),%rbx
14001b727:	48 83 c8 01          	or     $0x1,%rax
14001b72b:	48 0f bd c8          	bsr    %rax,%rcx
14001b72f:	4c 8b c3             	mov    %rbx,%r8
14001b732:	ff c1                	inc    %ecx
14001b734:	48 d3 e7             	shl    %cl,%rdi
14001b737:	48 8d 4e 18          	lea    0x18(%rsi),%rcx
14001b73b:	48 8d 14 3f          	lea    (%rdi,%rdi,1),%rdx
14001b73f:	e8 28 01 00 00       	call   0x14001b86c
14001b744:	48 8d 47 ff          	lea    -0x1(%rdi),%rax
14001b748:	48 89 7e 38          	mov    %rdi,0x38(%rsi)
14001b74c:	48 89 46 30          	mov    %rax,0x30(%rsi)
14001b750:	48 8b 46 08          	mov    0x8(%rsi),%rax
14001b754:	48 8b 00             	mov    (%rax),%rax
14001b757:	48 8b c8             	mov    %rax,%rcx
14001b75a:	48 3b c3             	cmp    %rbx,%rax
14001b75d:	0f 84 ca 00 00 00    	je     0x14001b82d
14001b763:	48 8b 09             	mov    (%rcx),%rcx
14001b766:	49 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%r8
14001b76d:	9c f2 cb
14001b770:	45 33 c9             	xor    %r9d,%r9d
14001b773:	42 0f b6 54 08 10    	movzbl 0x10(%rax,%r9,1),%edx
14001b779:	49 ba b3 01 00 00 00 	movabs $0x100000001b3,%r10
14001b780:	01 00 00
14001b783:	4c 33 c2             	xor    %rdx,%r8
14001b786:	49 ff c1             	inc    %r9
14001b789:	4d 0f af c2          	imul   %r10,%r8
14001b78d:	49 83 f9 08          	cmp    $0x8,%r9
14001b791:	72 e0                	jb     0x14001b773
14001b793:	4c 8b 5e 30          	mov    0x30(%rsi),%r11
14001b797:	48 8b 7e 18          	mov    0x18(%rsi),%rdi
14001b79b:	4d 23 d8             	and    %r8,%r11
14001b79e:	4d 03 db             	add    %r11,%r11
14001b7a1:	4a 39 1c df          	cmp    %rbx,(%rdi,%r11,8)
14001b7a5:	75 0b                	jne    0x14001b7b2
14001b7a7:	4a 89 04 df          	mov    %rax,(%rdi,%r11,8)
14001b7ab:	4a 89 44 df 08       	mov    %rax,0x8(%rdi,%r11,8)
14001b7b0:	eb 6f                	jmp    0x14001b821
14001b7b2:	4e 8b 54 df 08       	mov    0x8(%rdi,%r11,8),%r10
14001b7b7:	48 8b 50 10          	mov    0x10(%rax),%rdx
14001b7bb:	49 3b 52 10          	cmp    0x10(%r10),%rdx
14001b7bf:	75 35                	jne    0x14001b7f6
14001b7c1:	4d 8b 12             	mov    (%r10),%r10
14001b7c4:	4c 3b d0             	cmp    %rax,%r10
14001b7c7:	74 e2                	je     0x14001b7ab
14001b7c9:	4c 8b 48 08          	mov    0x8(%rax),%r9
14001b7cd:	49 89 09             	mov    %rcx,(%r9)
14001b7d0:	4c 8b 41 08          	mov    0x8(%rcx),%r8
14001b7d4:	4d 89 10             	mov    %r10,(%r8)
14001b7d7:	49 8b 52 08          	mov    0x8(%r10),%rdx
14001b7db:	48 89 02             	mov    %rax,(%rdx)
14001b7de:	4d 89 42 08          	mov    %r8,0x8(%r10)
14001b7e2:	4c 89 49 08          	mov    %r9,0x8(%rcx)
14001b7e6:	48 89 50 08          	mov    %rdx,0x8(%rax)
14001b7ea:	eb bf                	jmp    0x14001b7ab
14001b7ec:	4d 8b 52 08          	mov    0x8(%r10),%r10
14001b7f0:	49 3b 52 10          	cmp    0x10(%r10),%rdx
14001b7f4:	74 4d                	je     0x14001b843
14001b7f6:	4e 39 14 df          	cmp    %r10,(%rdi,%r11,8)
14001b7fa:	75 f0                	jne    0x14001b7ec
14001b7fc:	4c 8b 48 08          	mov    0x8(%rax),%r9
14001b800:	49 89 09             	mov    %rcx,(%r9)
14001b803:	4c 8b 41 08          	mov    0x8(%rcx),%r8
14001b807:	4d 89 10             	mov    %r10,(%r8)
14001b80a:	49 8b 52 08          	mov    0x8(%r10),%rdx
14001b80e:	48 89 02             	mov    %rax,(%rdx)
14001b811:	4d 89 42 08          	mov    %r8,0x8(%r10)
14001b815:	4c 89 49 08          	mov    %r9,0x8(%rcx)
14001b819:	48 89 50 08          	mov    %rdx,0x8(%rax)
14001b81d:	4a 89 04 df          	mov    %rax,(%rdi,%r11,8)
14001b821:	48 8b c1             	mov    %rcx,%rax
14001b824:	48 3b cb             	cmp    %rbx,%rcx
14001b827:	0f 85 36 ff ff ff    	jne    0x14001b763
14001b82d:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
14001b832:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14001b837:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
14001b83c:	48 83 c4 20          	add    $0x20,%rsp
14001b840:	41 5e                	pop    %r14
14001b842:	c3                   	ret
14001b843:	4d 8b 12             	mov    (%r10),%r10
14001b846:	4c 8b 48 08          	mov    0x8(%rax),%r9
14001b84a:	49 89 09             	mov    %rcx,(%r9)
14001b84d:	4c 8b 41 08          	mov    0x8(%rcx),%r8
14001b851:	4d 89 10             	mov    %r10,(%r8)
14001b854:	49 8b 52 08          	mov    0x8(%r10),%rdx
14001b858:	48 89 02             	mov    %rax,(%rdx)
14001b85b:	4d 89 42 08          	mov    %r8,0x8(%r10)
14001b85f:	4c 89 49 08          	mov    %r9,0x8(%rcx)
14001b863:	48 89 50 08          	mov    %rdx,0x8(%rax)
14001b867:	eb b8                	jmp    0x14001b821
14001b869:	cc                   	int3
14001b86a:	90                   	nop
14001b86b:	90                   	nop
14001b86c:	48 8b c4             	mov    %rsp,%rax
14001b86f:	48 89 58 08          	mov    %rbx,0x8(%rax)
14001b873:	48 89 70 10          	mov    %rsi,0x10(%rax)
14001b877:	48 89 78 18          	mov    %rdi,0x18(%rax)
14001b87b:	4c 89 70 20          	mov    %r14,0x20(%rax)
14001b87f:	41 57                	push   %r15
14001b881:	48 83 ec 20          	sub    $0x20,%rsp
14001b885:	48 8b 79 08          	mov    0x8(%rcx),%rdi
14001b889:	4c 8b f9             	mov    %rcx,%r15
14001b88c:	48 8b cf             	mov    %rdi,%rcx
14001b88f:	49 8b d8             	mov    %r8,%rbx
14001b892:	49 2b 0f             	sub    (%r15),%rcx
14001b895:	48 8b c1             	mov    %rcx,%rax
14001b898:	48 c1 f8 03          	sar    $0x3,%rax
14001b89c:	48 3b c2             	cmp    %rdx,%rax
14001b89f:	0f 83 ae 00 00 00    	jae    0x14001b953
14001b8a5:	48 b8 ff ff ff ff ff 	movabs $0x1fffffffffffffff,%rax
14001b8ac:	ff ff 1f
14001b8af:	48 3b d0             	cmp    %rax,%rdx
14001b8b2:	0f 87 d5 00 00 00    	ja     0x14001b98d
14001b8b8:	4c 8d 34 d5 00 00 00 	lea    0x0(,%rdx,8),%r14
14001b8bf:	00
14001b8c0:	33 f6                	xor    %esi,%esi
14001b8c2:	4d 85 f6             	test   %r14,%r14
14001b8c5:	75 4c                	jne    0x14001b913
14001b8c7:	8b fe                	mov    %esi,%edi
14001b8c9:	49 8b 0f             	mov    (%r15),%rcx
14001b8cc:	49 8b 47 10          	mov    0x10(%r15),%rax
14001b8d0:	48 2b c1             	sub    %rcx,%rax
14001b8d3:	48 c1 f8 03          	sar    $0x3,%rax
14001b8d7:	48 85 c0             	test   %rax,%rax
14001b8da:	74 26                	je     0x14001b902
14001b8dc:	48 c1 e0 03          	shl    $0x3,%rax
14001b8e0:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
14001b8e6:	72 14                	jb     0x14001b8fc
14001b8e8:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
14001b8ec:	48 2b ca             	sub    %rdx,%rcx
14001b8ef:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
14001b8f3:	48 83 f8 1f          	cmp    $0x1f,%rax
14001b8f7:	77 45                	ja     0x14001b93e
14001b8f9:	48 8b ca             	mov    %rdx,%rcx
14001b8fc:	ff 15 a6 3c 05 00    	call   *0x53ca6(%rip)        # 0x14006f5a8
14001b902:	49 8d 04 3e          	lea    (%r14,%rdi,1),%rax
14001b906:	49 89 3f             	mov    %rdi,(%r15)
14001b909:	49 89 47 08          	mov    %rax,0x8(%r15)
14001b90d:	49 89 47 10          	mov    %rax,0x10(%r15)
14001b911:	eb 39                	jmp    0x14001b94c
14001b913:	49 8b ce             	mov    %r14,%rcx
14001b916:	49 81 fe 00 10 00 00 	cmp    $0x1000,%r14
14001b91d:	72 0a                	jb     0x14001b929
14001b91f:	e8 1c 68 fe ff       	call   0x140002140
14001b924:	48 8b f8             	mov    %rax,%rdi
14001b927:	eb a0                	jmp    0x14001b8c9
14001b929:	ff 15 69 3c 05 00    	call   *0x53c69(%rip)        # 0x14006f598
14001b92f:	48 8b f8             	mov    %rax,%rdi
14001b932:	48 85 c0             	test   %rax,%rax
14001b935:	75 92                	jne    0x14001b8c9
14001b937:	ff 15 eb 3a 05 00    	call   *0x53aeb(%rip)        # 0x14006f428
14001b93d:	cc                   	int3
14001b93e:	ff 15 34 3b 05 00    	call   *0x53b34(%rip)        # 0x14006f478
14001b944:	cc                   	int3
14001b945:	48 89 1f             	mov    %rbx,(%rdi)
14001b948:	48 83 c7 08          	add    $0x8,%rdi
14001b94c:	48 3b f8             	cmp    %rax,%rdi
14001b94f:	75 f4                	jne    0x14001b945
14001b951:	eb 1f                	jmp    0x14001b972
14001b953:	48 83 c1 07          	add    $0x7,%rcx
14001b957:	33 f6                	xor    %esi,%esi
14001b959:	48 c1 e9 03          	shr    $0x3,%rcx
14001b95d:	49 39 3f             	cmp    %rdi,(%r15)
14001b960:	48 0f 47 ce          	cmova  %rsi,%rcx
14001b964:	48 85 c9             	test   %rcx,%rcx
14001b967:	74 09                	je     0x14001b972
14001b969:	49 8b 3f             	mov    (%r15),%rdi
14001b96c:	48 8b c3             	mov    %rbx,%rax
14001b96f:	f3 48 ab             	rep stos %rax,%es:(%rdi)
14001b972:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14001b977:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
14001b97c:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
14001b981:	4c 8b 74 24 48       	mov    0x48(%rsp),%r14
14001b986:	48 83 c4 20          	add    $0x20,%rsp
14001b98a:	41 5f                	pop    %r15
14001b98c:	c3                   	ret
14001b98d:	e8 8e 67 fe ff       	call   0x140002120
14001b992:	cc                   	int3
14001b993:	90                   	nop
14001b994:	48 83 ec 28          	sub    $0x28,%rsp
14001b998:	0f b7 41 0a          	movzwl 0xa(%rcx),%eax
14001b99c:	83 e0 1f             	and    $0x1f,%eax
14001b99f:	74 27                	je     0x14001b9c8
14001b9a1:	48 c1 e0 05          	shl    $0x5,%rax
14001b9a5:	4c 8d 05 94 80 0a 00 	lea    0xa8094(%rip),%r8        # 0x1400c3a40
14001b9ac:	4a 83 3c 00 00       	cmpq   $0x0,(%rax,%r8,1)
14001b9b1:	74 15                	je     0x14001b9c8
14001b9b3:	4a 8b 0c 00          	mov    (%rax,%r8,1),%rcx
14001b9b7:	ba 5c 00 00 00       	mov    $0x5c,%edx
14001b9bc:	ff 15 8e 39 05 00    	call   *0x5398e(%rip)        # 0x14006f350
14001b9c2:	48 83 c0 02          	add    $0x2,%rax
14001b9c6:	eb 03                	jmp    0x14001b9cb
14001b9c8:	48 8b 01             	mov    (%rcx),%rax
14001b9cb:	48 83 c4 28          	add    $0x28,%rsp
14001b9cf:	c3                   	ret
14001b9d0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14001b9d5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14001b9da:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14001b9df:	57                   	push   %rdi
14001b9e0:	48 83 ec 20          	sub    $0x20,%rsp