1406c7492:	49 8d 40 f8          	lea    -0x8(%r8),%rax
1406c7496:	48 83 f8 1f          	cmp    $0x1f,%rax
1406c749a:	77 48                	ja     0x1406c74e4
1406c749c:	4c 8b c1             	mov    %rcx,%r8
1406c749f:	49 8b c8             	mov    %r8,%rcx
1406c74a2:	e8 9d 3c 75 00       	call   0x140e1b144
1406c74a7:	48 89 3e             	mov    %rdi,(%rsi)
1406c74aa:	4a 8d 0c ad 00 00 00 	lea    0x0(,%r13,4),%rcx
1406c74b1:	00
1406c74b2:	49 03 cd             	add    %r13,%rcx
1406c74b5:	48 8d 14 cf          	lea    (%rdi,%rcx,8),%rdx
1406c74b9:	48 89 56 08          	mov    %rdx,0x8(%rsi)
1406c74bd:	49 8d 0c 3f          	lea    (%r15,%rdi,1),%rcx
1406c74c1:	48 89 4e 10          	mov    %rcx,0x10(%rsi)
1406c74c5:	49 8b c4             	mov    %r12,%rax
1406c74c8:	48 83 c4 30          	add    $0x30,%rsp
1406c74cc:	41 5f                	pop    %r15
1406c74ce:	41 5e                	pop    %r14
1406c74d0:	41 5d                	pop    %r13
1406c74d2:	41 5c                	pop    %r12
1406c74d4:	5f                   	pop    %rdi
1406c74d5:	5e                   	pop    %rsi
1406c74d6:	5b                   	pop    %rbx
1406c74d7:	c3                   	ret
1406c74d8:	e8 b3 5c ad ff       	call   0x14019d190
1406c74dd:	cc                   	int3
1406c74de:	e8 ad 60 ad ff       	call   0x14019d590
1406c74e3:	cc                   	int3
1406c74e4:	e8 bb 2c 76 00       	call   0x140e2a1a4
1406c74e9:	cc                   	int3
1406c74ea:	cc                   	int3
1406c74eb:	cc                   	int3
1406c74ec:	cc                   	int3
1406c74ed:	cc                   	int3
1406c74ee:	cc                   	int3
1406c74ef:	cc                   	int3
1406c74f0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1406c74f5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1406c74fa:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1406c74ff:	57                   	push   %rdi
1406c7500:	41 54                	push   %r12
1406c7502:	41 55                	push   %r13
1406c7504:	41 56                	push   %r14
1406c7506:	41 57                	push   %r15
1406c7508:	48 83 ec 30          	sub    $0x30,%rsp
1406c750c:	49 8b f0             	mov    %r8,%rsi
1406c750f:	4c 8b f2             	mov    %rdx,%r14
1406c7512:	48 8b e9             	mov    %rcx,%rbp
1406c7515:	45 0f b6 28          	movzbl (%r8),%r13d
1406c7519:	48 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rax
1406c7520:	9c f2 cb
1406c7523:	4c 33 e8             	xor    %rax,%r13
1406c7526:	48 b9 b3 01 00 00 00 	movabs $0x100000001b3,%rcx
1406c752d:	01 00 00
1406c7530:	4c 0f af e9          	imul   %rcx,%r13
1406c7534:	41 0f b6 40 01       	movzbl 0x1(%r8),%eax
1406c7539:	4c 33 e8             	xor    %rax,%r13
1406c753c:	4c 0f af e9          	imul   %rcx,%r13
1406c7540:	41 0f b6 40 02       	movzbl 0x2(%r8),%eax
1406c7545:	4c 33 e8             	xor    %rax,%r13
1406c7548:	4c 0f af e9          	imul   %rcx,%r13
1406c754c:	41 0f b6 40 03       	movzbl 0x3(%r8),%eax
1406c7551:	4c 33 e8             	xor    %rax,%r13
1406c7554:	4c 0f af e9          	imul   %rcx,%r13
1406c7558:	41 0f b6 40 04       	movzbl 0x4(%r8),%eax
1406c755d:	4c 33 e8             	xor    %rax,%r13
1406c7560:	4c 0f af e9          	imul   %rcx,%r13
1406c7564:	41 0f b6 40 05       	movzbl 0x5(%r8),%eax
1406c7569:	4c 33 e8             	xor    %rax,%r13
1406c756c:	4c 0f af e9          	imul   %rcx,%r13
1406c7570:	41 0f b6 40 06       	movzbl 0x6(%r8),%eax
1406c7575:	4c 33 e8             	xor    %rax,%r13
1406c7578:	4c 0f af e9          	imul   %rcx,%r13
1406c757c:	41 0f b6 40 07       	movzbl 0x7(%r8),%eax
1406c7581:	4c 33 e8             	xor    %rax,%r13
1406c7584:	4c 0f af e9          	imul   %rcx,%r13
1406c7588:	49 8b cd             	mov    %r13,%rcx
1406c758b:	48 23 4d 30          	and    0x30(%rbp),%rcx
1406c758f:	48 03 c9             	add    %rcx,%rcx
1406c7592:	48 8b 45 18          	mov    0x18(%rbp),%rax
1406c7596:	48 8b 5c c8 08       	mov    0x8(%rax,%rcx,8),%rbx
1406c759b:	48 8d 55 08          	lea    0x8(%rbp),%rdx
1406c759f:	4c 8b 22             	mov    (%rdx),%r12
1406c75a2:	49 3b dc             	cmp    %r12,%rbx
1406c75a5:	75 08                	jne    0x1406c75af
1406c75a7:	49 8b dc             	mov    %r12,%rbx
1406c75aa:	4d 8b fc             	mov    %r12,%r15
1406c75ad:	eb 4e                	jmp    0x1406c75fd
1406c75af:	48 8b 0c c8          	mov    (%rax,%rcx,8),%rcx
1406c75b3:	49 8b 00             	mov    (%r8),%rax
1406c75b6:	48 3b 43 10          	cmp    0x10(%rbx),%rax
1406c75ba:	74 13                	je     0x1406c75cf
1406c75bc:	0f 1f 40 00          	nopl   0x0(%rax)
1406c75c0:	48 3b d9             	cmp    %rcx,%rbx
1406c75c3:	74 32                	je     0x1406c75f7
1406c75c5:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
1406c75c9:	48 3b 43 10          	cmp    0x10(%rbx),%rax
1406c75cd:	75 f1                	jne    0x1406c75c0
1406c75cf:	49 89 1e             	mov    %rbx,(%r14)
1406c75d2:	41 c6 46 08 00       	movb   $0x0,0x8(%r14)
1406c75d7:	49 8b c6             	mov    %r14,%rax
1406c75da:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1406c75df:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
1406c75e4:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
1406c75e9:	48 83 c4 30          	add    $0x30,%rsp
1406c75ed:	41 5f                	pop    %r15
1406c75ef:	41 5e                	pop    %r14
1406c75f1:	41 5d                	pop    %r13
1406c75f3:	41 5c                	pop    %r12
1406c75f5:	5f                   	pop    %rdi
1406c75f6:	c3                   	ret
1406c75f7:	4c 8b e3             	mov    %rbx,%r12
1406c75fa:	4c 8b fb             	mov    %rbx,%r15
1406c75fd:	48 b8 ba e8 a2 8b 2e 	movabs $0x2e8ba2e8ba2e8ba,%rax
1406c7604:	ba e8 02
1406c7607:	48 39 45 10          	cmp    %rax,0x10(%rbp)
1406c760b:	0f 84 c9 01 00 00    	je     0x1406c77da
1406c7611:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
1406c7616:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
1406c761d:	00 00
1406c761f:	b9 58 00 00 00       	mov    $0x58,%ecx
1406c7624:	e8 df 3a 75 00       	call   0x140e1b108
1406c7629:	48 8b f8             	mov    %rax,%rdi
1406c762c:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1406c7631:	48 8b 0e             	mov    (%rsi),%rcx
1406c7634:	48 89 48 10          	mov    %rcx,0x10(%rax)
1406c7638:	48 8d 48 18          	lea    0x18(%rax),%rcx
1406c763c:	e8 af 2e ee ff       	call   0x1405aa4f0
1406c7641:	90                   	nop
1406c7642:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
1406c7646:	48 83 c1 01          	add    $0x1,%rcx
1406c764a:	0f 57 c0             	xorps  %xmm0,%xmm0
1406c764d:	78 07                	js     0x1406c7656
1406c764f:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
1406c7654:	eb 15                	jmp    0x1406c766b
1406c7656:	48 8b c1             	mov    %rcx,%rax
1406c7659:	48 d1 e8             	shr    $1,%rax
1406c765c:	83 e1 01             	and    $0x1,%ecx
1406c765f:	48 0b c1             	or     %rcx,%rax
1406c7662:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
1406c7667:	f3 0f 58 c0          	addss  %xmm0,%xmm0
1406c766b:	48 8b 75 38          	mov    0x38(%rbp),%rsi
1406c766f:	f3 0f 10 5d 00       	movss  0x0(%rbp),%xmm3
1406c7674:	0f 57 d2             	xorps  %xmm2,%xmm2
1406c7677:	48 85 f6             	test   %rsi,%rsi
1406c767a:	78 07                	js     0x1406c7683
1406c767c:	f3 48 0f 2a d6       	cvtsi2ss %rsi,%xmm2
1406c7681:	eb 18                	jmp    0x1406c769b
1406c7683:	48 8b ce             	mov    %rsi,%rcx
1406c7686:	48 d1 e9             	shr    $1,%rcx
1406c7689:	48 8b c6             	mov    %rsi,%rax
1406c768c:	83 e0 01             	and    $0x1,%eax
1406c768f:	48 0b c8             	or     %rax,%rcx
1406c7692:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
1406c7697:	f3 0f 58 d2          	addss  %xmm2,%xmm2
1406c769b:	0f 28 c8             	movaps %xmm0,%xmm1
1406c769e:	f3 0f 5e ca          	divss  %xmm2,%xmm1
1406c76a2:	0f 2f cb             	comiss %xmm3,%xmm1
1406c76a5:	0f 86 c7 00 00 00    	jbe    0x1406c7772
1406c76ab:	f3 0f 5e c3          	divss  %xmm3,%xmm0
1406c76af:	e8 6c 9a 76 00       	call   0x140e31120
1406c76b4:	33 c9                	xor    %ecx,%ecx
1406c76b6:	f3 0f 10 0d a6 6f 8e 	movss  0x8e6fa6(%rip),%xmm1        # 0x140fae664
1406c76bd:	00
1406c76be:	0f 2f c1             	comiss %xmm1,%xmm0
1406c76c1:	72 16                	jb     0x1406c76d9
1406c76c3:	f3 0f 5c c1          	subss  %xmm1,%xmm0
1406c76c7:	0f 2f c1             	comiss %xmm1,%xmm0
1406c76ca:	73 0d                	jae    0x1406c76d9
1406c76cc:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
1406c76d3:	00 00 80
1406c76d6:	48 8b c8             	mov    %rax,%rcx
1406c76d9:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
1406c76de:	48 03 c1             	add    %rcx,%rax
1406c76e1:	b9 08 00 00 00       	mov    $0x8,%ecx
1406c76e6:	48 3b c1             	cmp    %rcx,%rax
1406c76e9:	48 0f 47 c8          	cmova  %rax,%rcx
1406c76ed:	48 3b f1             	cmp    %rcx,%rsi
1406c76f0:	73 19                	jae    0x1406c770b
1406c76f2:	48 81 fe 00 02 00 00 	cmp    $0x200,%rsi
1406c76f9:	73 0d                	jae    0x1406c7708
1406c76fb:	48 8d 34 f5 00 00 00 	lea    0x0(,%rsi,8),%rsi
1406c7702:	00
1406c7703:	48 3b f1             	cmp    %rcx,%rsi
1406c7706:	73 03                	jae    0x1406c770b
1406c7708:	48 8b f1             	mov    %rcx,%rsi
1406c770b:	48 8b d6             	mov    %rsi,%rdx
1406c770e:	48 8b cd             	mov    %rbp,%rcx
1406c7711:	e8 3a dc f4 ff       	call   0x140615350
1406c7716:	48 8b 4d 30          	mov    0x30(%rbp),%rcx
1406c771a:	49 23 cd             	and    %r13,%rcx
1406c771d:	48 03 c9             	add    %rcx,%rcx
1406c7720:	48 8b 55 18          	mov    0x18(%rbp),%rdx
1406c7724:	48 8b 44 ca 08       	mov    0x8(%rdx,%rcx,8),%rax
1406c7729:	48 8b 5d 08          	mov    0x8(%rbp),%rbx
1406c772d:	48 3b c3             	cmp    %rbx,%rax
1406c7730:	75 0b                	jne    0x1406c773d
1406c7732:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
1406c7739:	00 00
1406c773b:	eb 28                	jmp    0x1406c7765
1406c773d:	48 8b 14 ca          	mov    (%rdx,%rcx,8),%rdx
1406c7741:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
1406c7745:	48 3b 48 10          	cmp    0x10(%rax),%rcx
1406c7749:	74 17                	je     0x1406c7762
1406c774b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1406c7750:	48 8b d8             	mov    %rax,%rbx
1406c7753:	48 3b c2             	cmp    %rdx,%rax
1406c7756:	74 4e                	je     0x1406c77a6
1406c7758:	48 8b 40 08          	mov    0x8(%rax),%rax
1406c775c:	48 3b 48 10          	cmp    0x10(%rax),%rcx
1406c7760:	75 ee                	jne    0x1406c7750
1406c7762:	48 8b 18             	mov    (%rax),%rbx
1406c7765:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1406c776a:	4c 8b fb             	mov    %rbx,%r15
1406c776d:	4c 8b 64 24 20       	mov    0x20(%rsp),%r12
1406c7772:	48 8b 53 08          	mov    0x8(%rbx),%rdx
1406c7776:	48 ff 45 10          	incq   0x10(%rbp)
1406c777a:	4c 89 27             	mov    %r12,(%rdi)
1406c777d:	48 89 57 08          	mov    %rdx,0x8(%rdi)
1406c7781:	48 89 3a             	mov    %rdi,(%rdx)
1406c7784:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
1406c7788:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
1406c778c:	48 8b 45 30          	mov    0x30(%rbp),%rax
1406c7790:	49 23 c5             	and    %r13,%rax
1406c7793:	48 03 c0             	add    %rax,%rax
1406c7796:	4c 8b 04 c1          	mov    (%rcx,%rax,8),%r8
1406c779a:	4c 3b 45 08          	cmp    0x8(%rbp),%r8
1406c779e:	75 16                	jne    0x1406c77b6
1406c77a0:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
1406c77a4:	eb 22                	jmp    0x1406c77c8
1406c77a6:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1406c77ab:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
1406c77b2:	00 00
1406c77b4:	eb b4                	jmp    0x1406c776a
1406c77b6:	4d 3b c7             	cmp    %r15,%r8
1406c77b9:	75 06                	jne    0x1406c77c1
1406c77bb:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
1406c77bf:	eb 0c                	jmp    0x1406c77cd
1406c77c1:	48 39 54 c1 08       	cmp    %rdx,0x8(%rcx,%rax,8)
1406c77c6:	75 05                	jne    0x1406c77cd
1406c77c8:	48 89 7c c1 08       	mov    %rdi,0x8(%rcx,%rax,8)
1406c77cd:	49 89 3e             	mov    %rdi,(%r14)
1406c77d0:	41 c6 46 08 01       	movb   $0x1,0x8(%r14)
1406c77d5:	e9 fd fd ff ff       	jmp    0x1406c75d7
1406c77da:	48 8d 0d bf 6c 8e 00 	lea    0x8e6cbf(%rip),%rcx        # 0x140fae4a0
1406c77e1:	e8 ce 3b 73 00       	call   0x140dfb3b4
1406c77e6:	cc                   	int3
1406c77e7:	cc                   	int3
1406c77e8:	cc                   	int3
1406c77e9:	cc                   	int3
1406c77ea:	cc                   	int3
1406c77eb:	cc                   	int3
1406c77ec:	cc                   	int3
1406c77ed:	cc                   	int3
1406c77ee:	cc                   	int3
1406c77ef:	cc                   	int3
1406c77f0:	4d 8b c8             	mov    %r8,%r9
1406c77f3:	48 3b ca             	cmp    %rdx,%rcx
1406c77f6:	74 69                	je     0x1406c7861
1406c77f8:	4d 8b d1             	mov    %r9,%r10
1406c77fb:	4c 8d 41 08          	lea    0x8(%rcx),%r8
1406c77ff:	4c 2b d1             	sub    %rcx,%r10
1406c7802:	45 33 db             	xor    %r11d,%r11d
1406c7805:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
1406c780c:	00 00 00 00
1406c7810:	41 8b 40 f8          	mov    -0x8(%r8),%eax
1406c7814:	4d 8d 40 28          	lea    0x28(%r8),%r8
1406c7818:	41 89 01             	mov    %eax,(%r9)
1406c781b:	49 8d 48 f8          	lea    -0x8(%r8),%rcx
1406c781f:	0f 57 c0             	xorps  %xmm0,%xmm0
1406c7822:	49 83 c1 28          	add    $0x28,%r9
1406c7826:	43 0f 11 44 02 d8    	movups %xmm0,-0x28(%r10,%r8,1)
1406c782c:	4f 89 5c 02 e8       	mov    %r11,-0x18(%r10,%r8,1)
1406c7831:	4f 89 5c 02 f0       	mov    %r11,-0x10(%r10,%r8,1)
1406c7836:	41 0f 10 40 d8       	movups -0x28(%r8),%xmm0
1406c783b:	43 0f 11 44 02 d8    	movups %xmm0,-0x28(%r10,%r8,1)
1406c7841:	41 0f 10 48 e8       	movups -0x18(%r8),%xmm1
1406c7846:	43 0f 11 4c 02 e8    	movups %xmm1,-0x18(%r10,%r8,1)
1406c784c:	4d 89 58 e8          	mov    %r11,-0x18(%r8)
1406c7850:	49 c7 40 f0 0f 00 00 	movq   $0xf,-0x10(%r8)
1406c7857:	00
1406c7858:	45 88 58 d8          	mov    %r11b,-0x28(%r8)
1406c785c:	48 3b ca             	cmp    %rdx,%rcx
1406c785f:	75 af                	jne    0x1406c7810
1406c7861:	49 8b c1             	mov    %r9,%rax
1406c7864:	c3                   	ret
1406c7865:	cc                   	int3
1406c7866:	cc                   	int3
1406c7867:	cc                   	int3
1406c7868:	cc                   	int3
1406c7869:	cc                   	int3
1406c786a:	cc                   	int3
1406c786b:	cc                   	int3
1406c786c:	cc                   	int3
1406c786d:	cc                   	int3
1406c786e:	cc                   	int3
1406c786f:	cc                   	int3
1406c7870:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1406c7875:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1406c787a:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
1406c787f:	41 56                	push   %r14
1406c7881:	48 83 ec 40          	sub    $0x40,%rsp
1406c7885:	49 8b f0             	mov    %r8,%rsi
1406c7888:	4c 8b f2             	mov    %rdx,%r14
1406c788b:	48 8b f9             	mov    %rcx,%rdi
1406c788e:	33 db                	xor    %ebx,%ebx
1406c7890:	b9 48 00 00 00       	mov    $0x48,%ecx
1406c7895:	e8 6e 38 75 00       	call   0x140e1b108
1406c789a:	4c 8b c8             	mov    %rax,%r9
1406c789d:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1406c78a2:	48 85 c0             	test   %rax,%rax
1406c78a5:	74 57                	je     0x1406c78fe
1406c78a7:	48 8b 0e             	mov    (%rsi),%rcx
1406c78aa:	48 89 4c 24 68       	mov    %rcx,0x68(%rsp)
1406c78af:	48 85 c9             	test   %rcx,%rcx
1406c78b2:	74 14                	je     0x1406c78c8
1406c78b4:	8b 41 10             	mov    0x10(%rcx),%eax
1406c78b7:	ff c0                	inc    %eax
1406c78b9:	89 41 10             	mov    %eax,0x10(%rcx)
1406c78bc:	83 f8 01             	cmp    $0x1,%eax
1406c78bf:	7e 64                	jle    0x1406c7925
1406c78c1:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
1406c78c6:	74 65                	je     0x1406c792d
1406c78c8:	49 8b 0e             	mov    (%r14),%rcx
1406c78cb:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
1406c78d0:	48 85 c9             	test   %rcx,%rcx
1406c78d3:	74 14                	je     0x1406c78e9
1406c78d5:	8b 41 10             	mov    0x10(%rcx),%eax
1406c78d8:	ff c0                	inc    %eax
1406c78da:	89 41 10             	mov    %eax,0x10(%rcx)
1406c78dd:	83 f8 01             	cmp    $0x1,%eax
1406c78e0:	7e 56                	jle    0x1406c7938
1406c78e2:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
1406c78e7:	74 31                	je     0x1406c791a
1406c78e9:	4c 8d 44 24 68       	lea    0x68(%rsp),%r8
1406c78ee:	48 8d 54 24 28       	lea    0x28(%rsp),%rdx
1406c78f3:	49 8b c9             	mov    %r9,%rcx
1406c78f6:	e8 b5 d9 12 00       	call   0x1407f52b0
1406c78fb:	48 8b d8             	mov    %rax,%rbx
1406c78fe:	48 89 1f             	mov    %rbx,(%rdi)
1406c7901:	48 8b c7             	mov    %rdi,%rax
1406c7904:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
1406c7909:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
1406c790e:	48 8b 7c 24 60       	mov    0x60(%rsp),%rdi
1406c7913:	48 83 c4 40          	add    $0x40,%rsp
1406c7917:	41 5e                	pop    %r14
1406c7919:	c3                   	ret
1406c791a:	b9 01 00 00 00       	mov    $0x1,%ecx
1406c791f:	e8 dc 2d 0c 00       	call   0x14078a700
1406c7924:	90                   	nop