1400e854a:	aa aa 0a
1400e854d:	48 39 45 10          	cmp    %rax,0x10(%rbp)
1400e8551:	0f 84 d6 01 00 00    	je     0x1400e872d
1400e8557:	4c 89 64 24 20       	mov    %r12,0x20(%rsp)
1400e855c:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
1400e8563:	00 00
1400e8565:	b9 18 00 00 00       	mov    $0x18,%ecx
1400e856a:	e8 81 dd 09 00       	call   0x1401862f0
1400e856f:	48 8b f0             	mov    %rax,%rsi
1400e8572:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1400e8577:	48 8b 0f             	mov    (%rdi),%rcx
1400e857a:	48 89 48 10          	mov    %rcx,0x10(%rax)
1400e857e:	48 8b 55 10          	mov    0x10(%rbp),%rdx
1400e8582:	48 8d 4a 01          	lea    0x1(%rdx),%rcx
1400e8586:	f3 0f 10 5d 00       	movss  0x0(%rbp),%xmm3
1400e858b:	0f 57 c0             	xorps  %xmm0,%xmm0
1400e858e:	48 85 c9             	test   %rcx,%rcx
1400e8591:	78 07                	js     0x1400e859a
1400e8593:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
1400e8598:	eb 15                	jmp    0x1400e85af
1400e859a:	48 8b c1             	mov    %rcx,%rax
1400e859d:	48 d1 e8             	shr    $1,%rax
1400e85a0:	83 e1 01             	and    $0x1,%ecx
1400e85a3:	48 0b c1             	or     %rcx,%rax
1400e85a6:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
1400e85ab:	f3 0f 58 c0          	addss  %xmm0,%xmm0
1400e85af:	48 8b 7d 38          	mov    0x38(%rbp),%rdi
1400e85b3:	0f 57 d2             	xorps  %xmm2,%xmm2
1400e85b6:	48 85 ff             	test   %rdi,%rdi
1400e85b9:	78 07                	js     0x1400e85c2
1400e85bb:	f3 48 0f 2a d7       	cvtsi2ss %rdi,%xmm2
1400e85c0:	eb 18                	jmp    0x1400e85da
1400e85c2:	48 8b cf             	mov    %rdi,%rcx
1400e85c5:	48 d1 e9             	shr    $1,%rcx
1400e85c8:	48 8b c7             	mov    %rdi,%rax
1400e85cb:	83 e0 01             	and    $0x1,%eax
1400e85ce:	48 0b c8             	or     %rax,%rcx
1400e85d1:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
1400e85d6:	f3 0f 58 d2          	addss  %xmm2,%xmm2
1400e85da:	0f 28 c8             	movaps %xmm0,%xmm1
1400e85dd:	f3 0f 5e ca          	divss  %xmm2,%xmm1
1400e85e1:	0f 2f cb             	comiss %xmm3,%xmm1
1400e85e4:	0f 97 c0             	seta   %al
1400e85e7:	84 c0                	test   %al,%al
1400e85e9:	0f 84 d5 00 00 00    	je     0x1400e86c4
1400e85ef:	f3 0f 5e c3          	divss  %xmm3,%xmm0
1400e85f3:	e8 5c e0 0c 00       	call   0x1401b6654
1400e85f8:	33 c9                	xor    %ecx,%ecx
1400e85fa:	f3 0f 10 0d 76 1b 1a 	movss  0x1a1b76(%rip),%xmm1        # 0x14028a178
1400e8601:	00
1400e8602:	0f 2f c1             	comiss %xmm1,%xmm0
1400e8605:	72 16                	jb     0x1400e861d
1400e8607:	f3 0f 5c c1          	subss  %xmm1,%xmm0
1400e860b:	0f 2f c1             	comiss %xmm1,%xmm0
1400e860e:	73 0d                	jae    0x1400e861d
1400e8610:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
1400e8617:	00 00 80
1400e861a:	48 8b c8             	mov    %rax,%rcx
1400e861d:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
1400e8622:	48 03 c1             	add    %rcx,%rax
1400e8625:	b9 08 00 00 00       	mov    $0x8,%ecx
1400e862a:	48 3b c1             	cmp    %rcx,%rax
1400e862d:	48 0f 47 c8          	cmova  %rax,%rcx
1400e8631:	48 3b f9             	cmp    %rcx,%rdi
1400e8634:	73 19                	jae    0x1400e864f
1400e8636:	48 81 ff 00 02 00 00 	cmp    $0x200,%rdi
1400e863d:	73 0d                	jae    0x1400e864c
1400e863f:	48 8d 3c fd 00 00 00 	lea    0x0(,%rdi,8),%rdi
1400e8646:	00
1400e8647:	48 3b f9             	cmp    %rcx,%rdi
1400e864a:	73 03                	jae    0x1400e864f
1400e864c:	48 8b f9             	mov    %rcx,%rdi
1400e864f:	48 8b d7             	mov    %rdi,%rdx
1400e8652:	48 8b cd             	mov    %rbp,%rcx
1400e8655:	e8 06 01 00 00       	call   0x1400e8760
1400e865a:	48 8b c3             	mov    %rbx,%rax
1400e865d:	48 23 45 30          	and    0x30(%rbp),%rax
1400e8661:	48 03 c0             	add    %rax,%rax
1400e8664:	4c 8b 45 18          	mov    0x18(%rbp),%r8
1400e8668:	49 8b 4c c0 08       	mov    0x8(%r8,%rax,8),%rcx
1400e866d:	49 8b 14 24          	mov    (%r12),%rdx
1400e8671:	48 3b ca             	cmp    %rdx,%rcx
1400e8674:	75 10                	jne    0x1400e8686
1400e8676:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
1400e867b:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
1400e8682:	00 00
1400e8684:	eb 2a                	jmp    0x1400e86b0
1400e8686:	49 8b 14 c0          	mov    (%r8,%rax,8),%rdx
1400e868a:	48 8b 46 10          	mov    0x10(%rsi),%rax
1400e868e:	48 3b 41 10          	cmp    0x10(%rcx),%rax
1400e8692:	74 0f                	je     0x1400e86a3
1400e8694:	48 3b ca             	cmp    %rdx,%rcx
1400e8697:	74 60                	je     0x1400e86f9
1400e8699:	48 8b 49 08          	mov    0x8(%rcx),%rcx
1400e869d:	48 3b 41 10          	cmp    0x10(%rcx),%rax
1400e86a1:	75 f1                	jne    0x1400e8694
1400e86a3:	48 8b 01             	mov    (%rcx),%rax
1400e86a6:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1400e86ab:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
1400e86b0:	0f 28 44 24 20       	movaps 0x20(%rsp),%xmm0
1400e86b5:	66 0f 7f 44 24 20    	movdqa %xmm0,0x20(%rsp)
1400e86bb:	48 8b 55 10          	mov    0x10(%rbp),%rdx
1400e86bf:	4c 8b 7c 24 20       	mov    0x20(%rsp),%r15
1400e86c4:	49 8b 4f 08          	mov    0x8(%r15),%rcx
1400e86c8:	48 8d 42 01          	lea    0x1(%rdx),%rax
1400e86cc:	48 89 45 10          	mov    %rax,0x10(%rbp)
1400e86d0:	4c 89 3e             	mov    %r15,(%rsi)
1400e86d3:	48 89 4e 08          	mov    %rcx,0x8(%rsi)
1400e86d7:	48 89 31             	mov    %rsi,(%rcx)
1400e86da:	49 89 77 08          	mov    %rsi,0x8(%r15)
1400e86de:	48 8b 45 18          	mov    0x18(%rbp),%rax
1400e86e2:	48 23 5d 30          	and    0x30(%rbp),%rbx
1400e86e6:	48 03 db             	add    %rbx,%rbx
1400e86e9:	48 8b 14 d8          	mov    (%rax,%rbx,8),%rdx
1400e86ed:	49 3b 14 24          	cmp    (%r12),%rdx
1400e86f1:	75 16                	jne    0x1400e8709
1400e86f3:	48 89 34 d8          	mov    %rsi,(%rax,%rbx,8)
1400e86f7:	eb 22                	jmp    0x1400e871b
1400e86f9:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1400e86fe:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
1400e8705:	00 00
1400e8707:	eb a7                	jmp    0x1400e86b0
1400e8709:	49 3b d7             	cmp    %r15,%rdx
1400e870c:	75 06                	jne    0x1400e8714
1400e870e:	48 89 34 d8          	mov    %rsi,(%rax,%rbx,8)
1400e8712:	eb 0c                	jmp    0x1400e8720
1400e8714:	48 39 4c d8 08       	cmp    %rcx,0x8(%rax,%rbx,8)
1400e8719:	75 05                	jne    0x1400e8720
1400e871b:	48 89 74 d8 08       	mov    %rsi,0x8(%rax,%rbx,8)
1400e8720:	49 89 36             	mov    %rsi,(%r14)
1400e8723:	41 c6 46 08 01       	movb   $0x1,0x8(%r14)
1400e8728:	e9 f1 fd ff ff       	jmp    0x1400e851e
1400e872d:	48 8d 0d 94 11 15 00 	lea    0x151194(%rip),%rcx        # 0x1402398c8
1400e8734:	e8 4b e5 07 00       	call   0x140166c84
1400e8739:	cc                   	int3
1400e873a:	cc                   	int3
1400e873b:	cc                   	int3
1400e873c:	cc                   	int3
1400e873d:	cc                   	int3
1400e873e:	cc                   	int3
1400e873f:	cc                   	int3
1400e8740:	48 8b 49 08          	mov    0x8(%rcx),%rcx
1400e8744:	48 85 c9             	test   %rcx,%rcx
1400e8747:	74 0a                	je     0x1400e8753
1400e8749:	ba 18 00 00 00       	mov    $0x18,%edx
1400e874e:	e9 f9 de 09 00       	jmp    0x14018664c
1400e8753:	c3                   	ret
1400e8754:	cc                   	int3
1400e8755:	cc                   	int3
1400e8756:	cc                   	int3
1400e8757:	cc                   	int3
1400e8758:	cc                   	int3
1400e8759:	cc                   	int3
1400e875a:	cc                   	int3
1400e875b:	cc                   	int3
1400e875c:	cc                   	int3
1400e875d:	cc                   	int3
1400e875e:	cc                   	int3
1400e875f:	cc                   	int3
1400e8760:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1400e8765:	56                   	push   %rsi
1400e8766:	48 83 ec 20          	sub    $0x20,%rsp
1400e876a:	48 b8 ff ff ff ff ff 	movabs $0xfffffffffffffff,%rax
1400e8771:	ff ff 0f
1400e8774:	48 8b f1             	mov    %rcx,%rsi
1400e8777:	48 0f bd c8          	bsr    %rax,%rcx
1400e877b:	bb 01 00 00 00       	mov    $0x1,%ebx
1400e8780:	8b c3                	mov    %ebx,%eax
1400e8782:	48 d3 e0             	shl    %cl,%rax
1400e8785:	48 3b d0             	cmp    %rax,%rdx
1400e8788:	0f 87 b5 01 00 00    	ja     0x1400e8943
1400e878e:	48 8d 42 ff          	lea    -0x1(%rdx),%rax
1400e8792:	48 89 7c 24 38       	mov    %rdi,0x38(%rsp)
1400e8797:	48 8b 7e 08          	mov    0x8(%rsi),%rdi
1400e879b:	48 0b c3             	or     %rbx,%rax
1400e879e:	48 0f bd c8          	bsr    %rax,%rcx
1400e87a2:	4c 8b c7             	mov    %rdi,%r8
1400e87a5:	4c 89 74 24 40       	mov    %r14,0x40(%rsp)
1400e87aa:	ff c1                	inc    %ecx
1400e87ac:	48 d3 e3             	shl    %cl,%rbx
1400e87af:	48 8d 4e 18          	lea    0x18(%rsi),%rcx
1400e87b3:	48 8d 14 1b          	lea    (%rbx,%rbx,1),%rdx
1400e87b7:	e8 54 40 fe ff       	call   0x1400cc810
1400e87bc:	48 89 5e 38          	mov    %rbx,0x38(%rsi)
1400e87c0:	48 8d 43 ff          	lea    -0x1(%rbx),%rax
1400e87c4:	48 89 46 30          	mov    %rax,0x30(%rsi)
1400e87c8:	48 8b 56 08          	mov    0x8(%rsi),%rdx
1400e87cc:	48 8b 12             	mov    (%rdx),%rdx
1400e87cf:	48 3b d7             	cmp    %rdi,%rdx
1400e87d2:	0f 84 30 01 00 00    	je     0x1400e8908
1400e87d8:	48 89 6c 24 30       	mov    %rbp,0x30(%rsp)
1400e87dd:	48 8b ca             	mov    %rdx,%rcx
1400e87e0:	48 bd 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rbp
1400e87e7:	9c f2 cb
1400e87ea:	48 bb b3 01 00 00 00 	movabs $0x100000001b3,%rbx
1400e87f1:	01 00 00
1400e87f4:	0f 1f 40 00          	nopl   0x0(%rax)
1400e87f8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1400e87ff:	00
1400e8800:	0f b6 41 11          	movzbl 0x11(%rcx),%eax
1400e8804:	44 0f b6 49 10       	movzbl 0x10(%rcx),%r9d
1400e8809:	4c 8b 5e 30          	mov    0x30(%rsi),%r11
1400e880d:	4c 33 cd             	xor    %rbp,%r9
1400e8810:	48 8b 12             	mov    (%rdx),%rdx
1400e8813:	4c 0f af cb          	imul   %rbx,%r9
1400e8817:	4c 33 c8             	xor    %rax,%r9
1400e881a:	0f b6 41 12          	movzbl 0x12(%rcx),%eax
1400e881e:	4c 0f af cb          	imul   %rbx,%r9
1400e8822:	4c 33 c8             	xor    %rax,%r9
1400e8825:	0f b6 41 13          	movzbl 0x13(%rcx),%eax
1400e8829:	4c 0f af cb          	imul   %rbx,%r9
1400e882d:	4c 33 c8             	xor    %rax,%r9
1400e8830:	0f b6 41 14          	movzbl 0x14(%rcx),%eax
1400e8834:	4c 0f af cb          	imul   %rbx,%r9
1400e8838:	4c 33 c8             	xor    %rax,%r9
1400e883b:	0f b6 41 15          	movzbl 0x15(%rcx),%eax
1400e883f:	4c 0f af cb          	imul   %rbx,%r9
1400e8843:	4c 33 c8             	xor    %rax,%r9
1400e8846:	0f b6 41 16          	movzbl 0x16(%rcx),%eax
1400e884a:	4c 0f af cb          	imul   %rbx,%r9
1400e884e:	4c 33 c8             	xor    %rax,%r9
1400e8851:	0f b6 41 17          	movzbl 0x17(%rcx),%eax
1400e8855:	4c 0f af cb          	imul   %rbx,%r9
1400e8859:	4c 33 c8             	xor    %rax,%r9
1400e885c:	4c 0f af cb          	imul   %rbx,%r9
1400e8860:	4d 23 d9             	and    %r9,%r11
1400e8863:	49 c1 e3 04          	shl    $0x4,%r11
1400e8867:	4c 03 5e 18          	add    0x18(%rsi),%r11
1400e886b:	4d 8b 13             	mov    (%r11),%r10
1400e886e:	4c 3b d7             	cmp    %rdi,%r10
1400e8871:	75 09                	jne    0x1400e887c
1400e8873:	49 89 0b             	mov    %rcx,(%r11)
1400e8876:	49 89 4b 08          	mov    %rcx,0x8(%r11)
1400e887a:	eb 7b                	jmp    0x1400e88f7
1400e887c:	49 8b 43 08          	mov    0x8(%r11),%rax
1400e8880:	4c 8b 49 10          	mov    0x10(%rcx),%r9
1400e8884:	4c 3b 48 10          	cmp    0x10(%rax),%r9
1400e8888:	75 2f                	jne    0x1400e88b9
1400e888a:	4c 8b 10             	mov    (%rax),%r10
1400e888d:	4c 3b d1             	cmp    %rcx,%r10
1400e8890:	74 21                	je     0x1400e88b3
1400e8892:	4c 8b 49 08          	mov    0x8(%rcx),%r9
1400e8896:	49 89 11             	mov    %rdx,(%r9)
1400e8899:	4c 8b 42 08          	mov    0x8(%rdx),%r8
1400e889d:	4d 89 10             	mov    %r10,(%r8)
1400e88a0:	49 8b 42 08          	mov    0x8(%r10),%rax
1400e88a4:	48 89 08             	mov    %rcx,(%rax)
1400e88a7:	4d 89 42 08          	mov    %r8,0x8(%r10)
1400e88ab:	4c 89 4a 08          	mov    %r9,0x8(%rdx)
1400e88af:	48 89 41 08          	mov    %rax,0x8(%rcx)
1400e88b3:	49 89 4b 08          	mov    %rcx,0x8(%r11)
1400e88b7:	eb 3e                	jmp    0x1400e88f7
1400e88b9:	4c 8b c0             	mov    %rax,%r8
1400e88bc:	4c 3b d0             	cmp    %rax,%r10
1400e88bf:	74 12                	je     0x1400e88d3
1400e88c1:	48 8b 40 08          	mov    0x8(%rax),%rax
1400e88c5:	4c 8b c0             	mov    %rax,%r8
1400e88c8:	4c 3b 48 10          	cmp    0x10(%rax),%r9
1400e88cc:	74 4f                	je     0x1400e891d
1400e88ce:	4c 3b d0             	cmp    %rax,%r10
1400e88d1:	75 ee                	jne    0x1400e88c1
1400e88d3:	4c 8b 51 08          	mov    0x8(%rcx),%r10
1400e88d7:	49 89 12             	mov    %rdx,(%r10)
1400e88da:	4c 8b 4a 08          	mov    0x8(%rdx),%r9
1400e88de:	4d 89 01             	mov    %r8,(%r9)
1400e88e1:	49 8b 40 08          	mov    0x8(%r8),%rax
1400e88e5:	48 89 08             	mov    %rcx,(%rax)
1400e88e8:	4d 89 48 08          	mov    %r9,0x8(%r8)
1400e88ec:	4c 89 52 08          	mov    %r10,0x8(%rdx)
1400e88f0:	48 89 41 08          	mov    %rax,0x8(%rcx)
1400e88f4:	49 89 0b             	mov    %rcx,(%r11)
1400e88f7:	48 8b ca             	mov    %rdx,%rcx
1400e88fa:	48 3b d7             	cmp    %rdi,%rdx
1400e88fd:	0f 85 fd fe ff ff    	jne    0x1400e8800
1400e8903:	48 8b 6c 24 30       	mov    0x30(%rsp),%rbp
1400e8908:	48 8b 7c 24 38       	mov    0x38(%rsp),%rdi
1400e890d:	4c 8b 74 24 40       	mov    0x40(%rsp),%r14
1400e8912:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
1400e8917:	48 83 c4 20          	add    $0x20,%rsp
1400e891b:	5e                   	pop    %rsi
1400e891c:	c3                   	ret
1400e891d:	4c 8b 10             	mov    (%rax),%r10
1400e8920:	4c 8b 49 08          	mov    0x8(%rcx),%r9
1400e8924:	49 89 11             	mov    %rdx,(%r9)
1400e8927:	4c 8b 42 08          	mov    0x8(%rdx),%r8
1400e892b:	4d 89 10             	mov    %r10,(%r8)
1400e892e:	49 8b 42 08          	mov    0x8(%r10),%rax
1400e8932:	48 89 08             	mov    %rcx,(%rax)
1400e8935:	4d 89 42 08          	mov    %r8,0x8(%r10)
1400e8939:	4c 89 4a 08          	mov    %r9,0x8(%rdx)
1400e893d:	48 89 41 08          	mov    %rax,0x8(%rcx)
1400e8941:	eb b4                	jmp    0x1400e88f7
1400e8943:	48 8d 0d 9e 0f 15 00 	lea    0x150f9e(%rip),%rcx        # 0x1402398e8
1400e894a:	e8 35 e3 07 00       	call   0x140166c84
1400e894f:	cc                   	int3
1400e8950:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
1400e8955:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
1400e895a:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
1400e895f:	53                   	push   %rbx
1400e8960:	56                   	push   %rsi
1400e8961:	57                   	push   %rdi
1400e8962:	48 83 ec 30          	sub    $0x30,%rsp
1400e8966:	48 8b da             	mov    %rdx,%rbx
1400e8969:	48 8d 74 24 60       	lea    0x60(%rsp),%rsi
1400e896e:	48 8b f9             	mov    %rcx,%rdi
1400e8971:	e8 7a b3 ff ff       	call   0x1400e3cf0
1400e8976:	48 89 74 24 28       	mov    %rsi,0x28(%rsp)
1400e897b:	4c 8b cb             	mov    %rbx,%r9
1400e897e:	49 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%r8
1400e8985:	48 c7 44 24 20 00 00 	movq   $0x0,0x20(%rsp)
1400e898c:	00 00
1400e898e:	48 8b d7             	mov    %rdi,%rdx
1400e8991:	48 8b 08             	mov    (%rax),%rcx
1400e8994:	48 83 c9 01          	or     $0x1,%rcx
1400e8998:	e8 df 60 0b 00       	call   0x14019ea7c
1400e899d:	48 83 c4 30          	add    $0x30,%rsp
1400e89a1:	5f                   	pop    %rdi
1400e89a2:	5e                   	pop    %rsi
1400e89a3:	5b                   	pop    %rbx
1400e89a4:	c3                   	ret
1400e89a5:	cc                   	int3
1400e89a6:	cc                   	int3
1400e89a7:	cc                   	int3
1400e89a8:	cc                   	int3
1400e89a9:	cc                   	int3
1400e89aa:	cc                   	int3
1400e89ab:	cc                   	int3
1400e89ac:	cc                   	int3
1400e89ad:	cc                   	int3
1400e89ae:	cc                   	int3
1400e89af:	cc                   	int3
1400e89b0:	48 8d 05 09 2e 15 00 	lea    0x152e09(%rip),%rax        # 0x14023b7c0
1400e89b7:	48 89 41 08          	mov    %rax,0x8(%rcx)
1400e89bb:	48 8d 05 36 2d 15 00 	lea    0x152d36(%rip),%rax        # 0x14023b6f8
1400e89c2:	48 89 01             	mov    %rax,(%rcx)
1400e89c5:	48 8b c1             	mov    %rcx,%rax
1400e89c8:	c3                   	ret
1400e89c9:	cc                   	int3
1400e89ca:	cc                   	int3
1400e89cb:	cc                   	int3
1400e89cc:	cc                   	int3
1400e89cd:	cc                   	int3
1400e89ce:	cc                   	int3
1400e89cf:	cc                   	int3
1400e89d0:	48 83 ec 38          	sub    $0x38,%rsp
1400e89d4:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
1400e89d9:	e8 d2 ff ff ff       	call   0x1400e89b0
1400e89de:	90                   	nop
1400e89df:	48 8b c8             	mov    %rax,%rcx
1400e89e2:	e8 a9 d4 fd ff       	call   0x1400c5e90