14030666f:	74 11                	je     0x140306682
140306671:	48 8b cb             	mov    %rbx,%rcx
140306674:	e8 07 24 d9 ff       	call   0x140098a80
140306679:	48 83 c3 38          	add    $0x38,%rbx
14030667d:	48 3b de             	cmp    %rsi,%rbx
140306680:	75 ef                	jne    0x140306671
140306682:	4c 2b ff             	sub    %rdi,%r15
140306685:	48 b8 25 49 92 24 49 	movabs $0x4924924924924925,%rax
14030668c:	92 24 49
14030668f:	49 f7 ef             	imul   %r15
140306692:	48 c1 fa 04          	sar    $0x4,%rdx
140306696:	48 8b c2             	mov    %rdx,%rax
140306699:	48 c1 e8 3f          	shr    $0x3f,%rax
14030669d:	48 03 d0             	add    %rax,%rdx
1403066a0:	48 6b d2 38          	imul   $0x38,%rdx,%rdx
1403066a4:	48 8b c7             	mov    %rdi,%rax
1403066a7:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1403066ae:	72 1c                	jb     0x1403066cc
1403066b0:	48 83 c2 27          	add    $0x27,%rdx
1403066b4:	48 8b 7f f8          	mov    -0x8(%rdi),%rdi
1403066b8:	48 2b c7             	sub    %rdi,%rax
1403066bb:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
1403066bf:	48 83 f8 1f          	cmp    $0x1f,%rax
1403066c3:	76 07                	jbe    0x1403066cc
1403066c5:	ff 15 2d 39 02 00    	call   *0x2392d(%rip)        # 0x140329ff8
1403066cb:	cc                   	int3
1403066cc:	48 8b cf             	mov    %rdi,%rcx
1403066cf:	e8 b0 3b ff ff       	call   0x1402fa284
1403066d4:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1403066d9:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
1403066de:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
1403066e3:	48 83 c4 40          	add    $0x40,%rsp
1403066e7:	41 5f                	pop    %r15
1403066e9:	41 5e                	pop    %r14
1403066eb:	5f                   	pop    %rdi
1403066ec:	c3                   	ret
1403066ed:	cc                   	int3
1403066ee:	cc                   	int3
1403066ef:	cc                   	int3
1403066f0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1403066f5:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1403066fa:	57                   	push   %rdi
1403066fb:	48 83 ec 50          	sub    $0x50,%rsp
1403066ff:	48 8b fa             	mov    %rdx,%rdi
140306702:	48 8b f1             	mov    %rcx,%rsi
140306705:	41 0f b6 c1          	movzbl %r9b,%eax
140306709:	83 f0 01             	xor    $0x1,%eax
14030670c:	ff c0                	inc    %eax
14030670e:	89 44 24 48          	mov    %eax,0x48(%rsp)
140306712:	48 89 54 24 38       	mov    %rdx,0x38(%rsp)
140306717:	4c 89 44 24 40       	mov    %r8,0x40(%rsp)
14030671c:	45 84 c9             	test   %r9b,%r9b
14030671f:	74 6b                	je     0x14030678c
140306721:	4a 8d 1c 02          	lea    (%rdx,%r8,1),%rbx
140306725:	48 8b c2             	mov    %rdx,%rax
140306728:	48 89 54 24 68       	mov    %rdx,0x68(%rsp)
14030672d:	48 3b d3             	cmp    %rbx,%rdx
140306730:	74 2c                	je     0x14030675e
140306732:	0f 1f 40 00          	nopl   0x0(%rax)
140306736:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
14030673d:	00 00 00
140306740:	45 33 c0             	xor    %r8d,%r8d
140306743:	48 8b d3             	mov    %rbx,%rdx
140306746:	48 8d 4c 24 68       	lea    0x68(%rsp),%rcx
14030674b:	e8 70 4e dc ff       	call   0x1400cb5c0
140306750:	85 c0                	test   %eax,%eax
140306752:	48 8b 44 24 68       	mov    0x68(%rsp),%rax
140306757:	75 05                	jne    0x14030675e
140306759:	48 3b c3             	cmp    %rbx,%rax
14030675c:	75 e2                	jne    0x140306740
14030675e:	48 3b c3             	cmp    %rbx,%rax
140306761:	74 29                	je     0x14030678c
140306763:	4c 8b cf             	mov    %rdi,%r9
140306766:	4c 8d 05 c3 9a 0b 00 	lea    0xb9ac3(%rip),%r8        # 0x1403c0230
14030676d:	ba 41 00 00 00       	mov    $0x41,%edx
140306772:	b9 02 00 00 00       	mov    $0x2,%ecx
140306777:	e8 84 34 db ff       	call   0x1400b9c00
14030677c:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140306781:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140306786:	48 83 c4 50          	add    $0x50,%rsp
14030678a:	5f                   	pop    %rdi
14030678b:	c3                   	ret
14030678c:	48 8d 8e a8 00 00 00 	lea    0xa8(%rsi),%rcx
140306793:	4c 8d 44 24 38       	lea    0x38(%rsp),%r8
140306798:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
14030679d:	e8 de 11 00 00       	call   0x140307980
1403067a2:	90                   	nop
1403067a3:	48 8d 8e 10 01 00 00 	lea    0x110(%rsi),%rcx
1403067aa:	4c 8b 4c 24 28       	mov    0x28(%rsp),%r9
1403067af:	4c 8b 44 24 20       	mov    0x20(%rsp),%r8
1403067b4:	4d 2b c8             	sub    %r8,%r9
1403067b7:	48 8b 96 18 01 00 00 	mov    0x118(%rsi),%rdx
1403067be:	e8 0d 85 d8 ff       	call   0x14008ecd0
1403067c3:	90                   	nop
1403067c4:	48 8b 4c 24 20       	mov    0x20(%rsp),%rcx
1403067c9:	48 85 c9             	test   %rcx,%rcx
1403067cc:	74 35                	je     0x140306803
1403067ce:	48 8b 54 24 30       	mov    0x30(%rsp),%rdx
1403067d3:	48 2b d1             	sub    %rcx,%rdx
1403067d6:	48 8b c1             	mov    %rcx,%rax
1403067d9:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1403067e0:	72 1c                	jb     0x1403067fe
1403067e2:	48 83 c2 27          	add    $0x27,%rdx
1403067e6:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1403067ea:	48 2b c1             	sub    %rcx,%rax
1403067ed:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
1403067f1:	48 83 f8 1f          	cmp    $0x1f,%rax
1403067f5:	76 07                	jbe    0x1403067fe
1403067f7:	ff 15 fb 37 02 00    	call   *0x237fb(%rip)        # 0x140329ff8
1403067fd:	cc                   	int3
1403067fe:	e8 81 3a ff ff       	call   0x1402fa284
140306803:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140306808:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
14030680d:	48 83 c4 50          	add    $0x50,%rsp
140306811:	5f                   	pop    %rdi
140306812:	c3                   	ret
140306813:	cc                   	int3
140306814:	cc                   	int3
140306815:	cc                   	int3
140306816:	cc                   	int3
140306817:	cc                   	int3
140306818:	cc                   	int3
140306819:	cc                   	int3
14030681a:	cc                   	int3
14030681b:	cc                   	int3
14030681c:	cc                   	int3
14030681d:	cc                   	int3
14030681e:	cc                   	int3
14030681f:	cc                   	int3
140306820:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140306825:	57                   	push   %rdi
140306826:	48 83 ec 20          	sub    $0x20,%rsp
14030682a:	48 b8 ff ff ff ff ff 	movabs $0xfffffffffffffff,%rax
140306831:	ff ff 0f
140306834:	48 8b f1             	mov    %rcx,%rsi
140306837:	48 0f bd c8          	bsr    %rax,%rcx
14030683b:	bf 01 00 00 00       	mov    $0x1,%edi
140306840:	8b c7                	mov    %edi,%eax
140306842:	48 d3 e0             	shl    %cl,%rax
140306845:	48 3b d0             	cmp    %rax,%rdx
140306848:	0f 87 81 01 00 00    	ja     0x1403069cf
14030684e:	48 8d 42 ff          	lea    -0x1(%rdx),%rax
140306852:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
140306857:	48 8b 5e 08          	mov    0x8(%rsi),%rbx
14030685b:	48 0b c7             	or     %rdi,%rax
14030685e:	48 0f bd c8          	bsr    %rax,%rcx
140306862:	4c 8b c3             	mov    %rbx,%r8
140306865:	4c 89 74 24 40       	mov    %r14,0x40(%rsp)
14030686a:	ff c1                	inc    %ecx
14030686c:	48 d3 e7             	shl    %cl,%rdi
14030686f:	48 8d 4e 18          	lea    0x18(%rsi),%rcx
140306873:	48 8d 14 3f          	lea    (%rdi,%rdi,1),%rdx
140306877:	e8 64 82 db ff       	call   0x1400beae0
14030687c:	48 8d 47 ff          	lea    -0x1(%rdi),%rax
140306880:	48 89 7e 38          	mov    %rdi,0x38(%rsi)
140306884:	48 89 46 30          	mov    %rax,0x30(%rsi)
140306888:	48 8b 46 08          	mov    0x8(%rsi),%rax
14030688c:	48 8b 00             	mov    (%rax),%rax
14030688f:	48 8b c8             	mov    %rax,%rcx
140306892:	48 3b c3             	cmp    %rbx,%rax
140306895:	0f 84 f9 00 00 00    	je     0x140306994
14030689b:	48 89 6c 24 38       	mov    %rbp,0x38(%rsp)
1403068a0:	48 bf b3 01 00 00 00 	movabs $0x100000001b3,%rdi
1403068a7:	01 00 00
1403068aa:	48 bd 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rbp
1403068b1:	9c f2 cb
1403068b4:	0f 1f 40 00          	nopl   0x0(%rax)
1403068b8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1403068bf:	00
1403068c0:	0f b6 50 11          	movzbl 0x11(%rax),%edx
1403068c4:	44 0f b6 58 10       	movzbl 0x10(%rax),%r11d
1403068c9:	48 8b 09             	mov    (%rcx),%rcx
1403068cc:	4c 33 dd             	xor    %rbp,%r11
1403068cf:	4c 0f af df          	imul   %rdi,%r11
1403068d3:	4c 33 da             	xor    %rdx,%r11
1403068d6:	0f b6 50 12          	movzbl 0x12(%rax),%edx
1403068da:	4c 0f af df          	imul   %rdi,%r11
1403068de:	4c 33 da             	xor    %rdx,%r11
1403068e1:	0f b6 50 13          	movzbl 0x13(%rax),%edx
1403068e5:	4c 0f af df          	imul   %rdi,%r11
1403068e9:	4c 33 da             	xor    %rdx,%r11
1403068ec:	4c 0f af df          	imul   %rdi,%r11
1403068f0:	4c 23 5e 30          	and    0x30(%rsi),%r11
1403068f4:	49 c1 e3 04          	shl    $0x4,%r11
1403068f8:	4c 03 5e 18          	add    0x18(%rsi),%r11
1403068fc:	4d 8b 0b             	mov    (%r11),%r9
1403068ff:	4c 3b cb             	cmp    %rbx,%r9
140306902:	75 09                	jne    0x14030690d
140306904:	49 89 03             	mov    %rax,(%r11)
140306907:	49 89 43 08          	mov    %rax,0x8(%r11)
14030690b:	eb 76                	jmp    0x140306983
14030690d:	49 8b 53 08          	mov    0x8(%r11),%rdx
140306911:	44 8b 40 10          	mov    0x10(%rax),%r8d
140306915:	44 3b 42 10          	cmp    0x10(%rdx),%r8d
140306919:	75 2f                	jne    0x14030694a
14030691b:	4c 8b 12             	mov    (%rdx),%r10
14030691e:	4c 3b d0             	cmp    %rax,%r10
140306921:	74 21                	je     0x140306944
140306923:	4c 8b 48 08          	mov    0x8(%rax),%r9
140306927:	49 89 09             	mov    %rcx,(%r9)
14030692a:	4c 8b 41 08          	mov    0x8(%rcx),%r8
14030692e:	4d 89 10             	mov    %r10,(%r8)
140306931:	49 8b 52 08          	mov    0x8(%r10),%rdx
140306935:	48 89 02             	mov    %rax,(%rdx)
140306938:	4d 89 42 08          	mov    %r8,0x8(%r10)
14030693c:	4c 89 49 08          	mov    %r9,0x8(%rcx)
140306940:	48 89 50 08          	mov    %rdx,0x8(%rax)
140306944:	49 89 43 08          	mov    %rax,0x8(%r11)
140306948:	eb 39                	jmp    0x140306983
14030694a:	4c 3b ca             	cmp    %rdx,%r9
14030694d:	74 10                	je     0x14030695f
14030694f:	90                   	nop
140306950:	48 8b 52 08          	mov    0x8(%rdx),%rdx
140306954:	44 3b 42 10          	cmp    0x10(%rdx),%r8d
140306958:	74 4f                	je     0x1403069a9
14030695a:	4c 3b ca             	cmp    %rdx,%r9
14030695d:	75 f1                	jne    0x140306950
14030695f:	4c 8b 50 08          	mov    0x8(%rax),%r10
140306963:	49 89 0a             	mov    %rcx,(%r10)
140306966:	4c 8b 49 08          	mov    0x8(%rcx),%r9
14030696a:	49 89 11             	mov    %rdx,(%r9)
14030696d:	4c 8b 42 08          	mov    0x8(%rdx),%r8
140306971:	49 89 00             	mov    %rax,(%r8)
140306974:	4c 89 4a 08          	mov    %r9,0x8(%rdx)
140306978:	4c 89 51 08          	mov    %r10,0x8(%rcx)
14030697c:	4c 89 40 08          	mov    %r8,0x8(%rax)
140306980:	49 89 03             	mov    %rax,(%r11)
140306983:	48 8b c1             	mov    %rcx,%rax
140306986:	48 3b cb             	cmp    %rbx,%rcx
140306989:	0f 85 31 ff ff ff    	jne    0x1403068c0
14030698f:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140306994:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140306999:	4c 8b 74 24 40       	mov    0x40(%rsp),%r14
14030699e:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1403069a3:	48 83 c4 20          	add    $0x20,%rsp
1403069a7:	5f                   	pop    %rdi
1403069a8:	c3                   	ret
1403069a9:	4c 8b 12             	mov    (%rdx),%r10
1403069ac:	4c 8b 48 08          	mov    0x8(%rax),%r9
1403069b0:	49 89 09             	mov    %rcx,(%r9)
1403069b3:	4c 8b 41 08          	mov    0x8(%rcx),%r8
1403069b7:	4d 89 10             	mov    %r10,(%r8)
1403069ba:	49 8b 52 08          	mov    0x8(%r10),%rdx
1403069be:	48 89 02             	mov    %rax,(%rdx)
1403069c1:	4d 89 42 08          	mov    %r8,0x8(%r10)
1403069c5:	4c 89 49 08          	mov    %r9,0x8(%rcx)
1403069c9:	48 89 50 08          	mov    %rdx,0x8(%rax)
1403069cd:	eb b4                	jmp    0x140306983
1403069cf:	48 8d 0d 52 77 02 00 	lea    0x27752(%rip),%rcx        # 0x14032e128
1403069d6:	e8 d5 5b ff ff       	call   0x1402fc5b0
1403069db:	cc                   	int3
1403069dc:	cc                   	int3
1403069dd:	cc                   	int3
1403069de:	cc                   	int3
1403069df:	cc                   	int3
1403069e0:	48 8b 51 10          	mov    0x10(%rcx),%rdx
1403069e4:	4c 8b c9             	mov    %rcx,%r9
1403069e7:	48 83 c2 01          	add    $0x1,%rdx
1403069eb:	4c 8b 41 38          	mov    0x38(%rcx),%r8
1403069ef:	0f 57 c9             	xorps  %xmm1,%xmm1
1403069f2:	78 07                	js     0x1403069fb
1403069f4:	f3 48 0f 2a ca       	cvtsi2ss %rdx,%xmm1
1403069f9:	eb 15                	jmp    0x140306a10
1403069fb:	48 8b c2             	mov    %rdx,%rax
1403069fe:	83 e2 01             	and    $0x1,%edx
140306a01:	48 d1 e8             	shr    $1,%rax
140306a04:	48 0b c2             	or     %rdx,%rax
140306a07:	f3 48 0f 2a c8       	cvtsi2ss %rax,%xmm1
140306a0c:	f3 0f 58 c9          	addss  %xmm1,%xmm1
140306a10:	f3 0f 5e 09          	divss  (%rcx),%xmm1
140306a14:	f3 0f 2c c9          	cvttss2si %xmm1,%ecx
140306a18:	81 f9 00 00 00 80    	cmp    $0x80000000,%ecx
140306a1e:	74 21                	je     0x140306a41
140306a20:	66 0f 6e c1          	movd   %ecx,%xmm0
140306a24:	0f 5b c0             	cvtdq2ps %xmm0,%xmm0
140306a27:	0f 2e c1             	ucomiss %xmm1,%xmm0
140306a2a:	74 15                	je     0x140306a41
140306a2c:	0f 14 c9             	unpcklps %xmm1,%xmm1
140306a2f:	0f 50 c1             	movmskps %xmm1,%eax
140306a32:	83 e0 01             	and    $0x1,%eax
140306a35:	83 f0 01             	xor    $0x1,%eax
140306a38:	03 c8                	add    %eax,%ecx
140306a3a:	66 0f 6e c9          	movd   %ecx,%xmm1
140306a3e:	0f 5b c9             	cvtdq2ps %xmm1,%xmm1
140306a41:	f3 0f 10 05 8b 7a 02 	movss  0x27a8b(%rip),%xmm0        # 0x14032e4d4
140306a48:	00
140306a49:	33 c9                	xor    %ecx,%ecx
140306a4b:	0f 2f c8             	comiss %xmm0,%xmm1
140306a4e:	72 16                	jb     0x140306a66
140306a50:	f3 0f 5c c8          	subss  %xmm0,%xmm1
140306a54:	0f 2f c8             	comiss %xmm0,%xmm1
140306a57:	73 0d                	jae    0x140306a66
140306a59:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140306a60:	00 00 80
140306a63:	48 8b c8             	mov    %rax,%rcx
140306a66:	f3 48 0f 2c c1       	cvttss2si %xmm1,%rax
140306a6b:	48 03 c1             	add    %rcx,%rax
140306a6e:	b9 08 00 00 00       	mov    $0x8,%ecx
140306a73:	48 3b c1             	cmp    %rcx,%rax
140306a76:	48 0f 47 c8          	cmova  %rax,%rcx
140306a7a:	4c 3b c1             	cmp    %rcx,%r8
140306a7d:	73 19                	jae    0x140306a98
140306a7f:	49 81 f8 00 02 00 00 	cmp    $0x200,%r8
140306a86:	73 0d                	jae    0x140306a95
140306a88:	4e 8d 04 c5 00 00 00 	lea    0x0(,%r8,8),%r8
140306a8f:	00
140306a90:	4c 3b c1             	cmp    %rcx,%r8
140306a93:	73 03                	jae    0x140306a98
140306a95:	4c 8b c1             	mov    %rcx,%r8
140306a98:	49 8b d0             	mov    %r8,%rdx
140306a9b:	49 8b c9             	mov    %r9,%rcx
140306a9e:	e9 2d 96 db ff       	jmp    0x1400c00d0
140306aa3:	cc                   	int3
140306aa4:	cc                   	int3
140306aa5:	cc                   	int3
140306aa6:	cc                   	int3
140306aa7:	cc                   	int3
140306aa8:	cc                   	int3
140306aa9:	cc                   	int3
140306aaa:	cc                   	int3
140306aab:	cc                   	int3
140306aac:	cc                   	int3
140306aad:	cc                   	int3
140306aae:	cc                   	int3
140306aaf:	cc                   	int3
140306ab0:	48 83 ec 78          	sub    $0x78,%rsp
140306ab4:	8b d1                	mov    %ecx,%edx
140306ab6:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140306abb:	e8 f0 06 00 00       	call   0x1403071b0
140306ac0:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140306ac5:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140306aca:	0f 10 00             	movups (%rax),%xmm0
140306acd:	0f 29 44 24 20       	movaps %xmm0,0x20(%rsp)
140306ad2:	e8 49 80 ff ff       	call   0x1402feb20
140306ad7:	48 8d 15 fa 26 0f 00 	lea    0xf26fa(%rip),%rdx        # 0x1403f91d8
140306ade:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140306ae3:	e8 2e 5f ff ff       	call   0x1402fca16
140306ae8:	cc                   	int3
140306ae9:	cc                   	int3
140306aea:	cc                   	int3
140306aeb:	cc                   	int3
140306aec:	cc                   	int3
140306aed:	cc                   	int3
140306aee:	cc                   	int3
140306aef:	cc                   	int3
140306af0:	40 55                	rex push %rbp
140306af2:	41 56                	push   %r14
140306af4:	41 57                	push   %r15
140306af6:	48 83 ec 50          	sub    $0x50,%rsp
140306afa:	4d 8b f0             	mov    %r8,%r14