1408137ef:	48 8b d8             	mov    %rax,%rbx
1408137f2:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1408137f7:	48 8b 07             	mov    (%rdi),%rax
1408137fa:	48 89 43 10          	mov    %rax,0x10(%rbx)
1408137fe:	48 85 c0             	test   %rax,%rax
140813801:	74 1d                	je     0x140813820
140813803:	8b 48 10             	mov    0x10(%rax),%ecx
140813806:	ff c1                	inc    %ecx
140813808:	89 48 10             	mov    %ecx,0x10(%rax)
14081380b:	83 f9 01             	cmp    $0x1,%ecx
14081380e:	0f 8e b8 01 00 00    	jle    0x1408139cc
140813814:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx
14081381a:	0f 84 94 01 00 00    	je     0x1408139b4
140813820:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
140813824:	48 83 c1 01          	add    $0x1,%rcx
140813828:	0f 57 c0             	xorps  %xmm0,%xmm0
14081382b:	78 07                	js     0x140813834
14081382d:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
140813832:	eb 15                	jmp    0x140813849
140813834:	48 8b c1             	mov    %rcx,%rax
140813837:	48 d1 e8             	shr    $1,%rax
14081383a:	83 e1 01             	and    $0x1,%ecx
14081383d:	48 0b c1             	or     %rcx,%rax
140813840:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
140813845:	f3 0f 58 c0          	addss  %xmm0,%xmm0
140813849:	48 8b 7e 38          	mov    0x38(%rsi),%rdi
14081384d:	f3 0f 10 1e          	movss  (%rsi),%xmm3
140813851:	0f 57 d2             	xorps  %xmm2,%xmm2
140813854:	48 85 ff             	test   %rdi,%rdi
140813857:	78 07                	js     0x140813860
140813859:	f3 48 0f 2a d7       	cvtsi2ss %rdi,%xmm2
14081385e:	eb 18                	jmp    0x140813878
140813860:	48 8b cf             	mov    %rdi,%rcx
140813863:	48 d1 e9             	shr    $1,%rcx
140813866:	48 8b c7             	mov    %rdi,%rax
140813869:	83 e0 01             	and    $0x1,%eax
14081386c:	48 0b c8             	or     %rax,%rcx
14081386f:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
140813874:	f3 0f 58 d2          	addss  %xmm2,%xmm2
140813878:	0f 28 c8             	movaps %xmm0,%xmm1
14081387b:	f3 0f 5e ca          	divss  %xmm2,%xmm1
14081387f:	0f 2f cb             	comiss %xmm3,%xmm1
140813882:	0f 86 c4 00 00 00    	jbe    0x14081394c
140813888:	f3 0f 5e c3          	divss  %xmm3,%xmm0
14081388c:	e8 8f d8 61 00       	call   0x140e31120
140813891:	33 c9                	xor    %ecx,%ecx
140813893:	f3 0f 10 0d c9 ad 79 	movss  0x79adc9(%rip),%xmm1        # 0x140fae664
14081389a:	00
14081389b:	0f 2f c1             	comiss %xmm1,%xmm0
14081389e:	72 16                	jb     0x1408138b6
1408138a0:	f3 0f 5c c1          	subss  %xmm1,%xmm0
1408138a4:	0f 2f c1             	comiss %xmm1,%xmm0
1408138a7:	73 0d                	jae    0x1408138b6
1408138a9:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
1408138b0:	00 00 80
1408138b3:	48 8b c8             	mov    %rax,%rcx
1408138b6:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
1408138bb:	48 03 c1             	add    %rcx,%rax
1408138be:	b9 08 00 00 00       	mov    $0x8,%ecx
1408138c3:	48 3b c1             	cmp    %rcx,%rax
1408138c6:	48 0f 47 c8          	cmova  %rax,%rcx
1408138ca:	48 3b f9             	cmp    %rcx,%rdi
1408138cd:	73 19                	jae    0x1408138e8
1408138cf:	48 81 ff 00 02 00 00 	cmp    $0x200,%rdi
1408138d6:	73 0d                	jae    0x1408138e5
1408138d8:	48 8d 3c fd 00 00 00 	lea    0x0(,%rdi,8),%rdi
1408138df:	00
1408138e0:	48 3b f9             	cmp    %rcx,%rdi
1408138e3:	73 03                	jae    0x1408138e8
1408138e5:	48 8b f9             	mov    %rcx,%rdi
1408138e8:	48 8b d7             	mov    %rdi,%rdx
1408138eb:	48 8b ce             	mov    %rsi,%rcx
1408138ee:	e8 8d 18 00 00       	call   0x140815180
1408138f3:	49 8b c7             	mov    %r15,%rax
1408138f6:	48 23 46 30          	and    0x30(%rsi),%rax
1408138fa:	48 03 c0             	add    %rax,%rax
1408138fd:	4c 8b 46 18          	mov    0x18(%rsi),%r8
140813901:	49 8b 4c c0 08       	mov    0x8(%r8,%rax,8),%rcx
140813906:	49 8b 14 24          	mov    (%r12),%rdx
14081390a:	48 3b ca             	cmp    %rdx,%rcx
14081390d:	75 10                	jne    0x14081391f
14081390f:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140813914:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
14081391b:	00 00
14081391d:	eb 28                	jmp    0x140813947
14081391f:	49 8b 14 c0          	mov    (%r8,%rax,8),%rdx
140813923:	48 8b 43 10          	mov    0x10(%rbx),%rax
140813927:	48 3b 41 10          	cmp    0x10(%rcx),%rax
14081392b:	74 12                	je     0x14081393f
14081392d:	0f 1f 00             	nopl   (%rax)
140813930:	48 3b ca             	cmp    %rdx,%rcx
140813933:	74 4b                	je     0x140813980
140813935:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140813939:	48 3b 41 10          	cmp    0x10(%rcx),%rax
14081393d:	75 f1                	jne    0x140813930
14081393f:	48 8b 01             	mov    (%rcx),%rax
140813942:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140813947:	48 8b 6c 24 20       	mov    0x20(%rsp),%rbp
14081394c:	48 8b 55 08          	mov    0x8(%rbp),%rdx
140813950:	48 ff 46 10          	incq   0x10(%rsi)
140813954:	48 89 2b             	mov    %rbp,(%rbx)
140813957:	48 89 53 08          	mov    %rdx,0x8(%rbx)
14081395b:	48 89 1a             	mov    %rbx,(%rdx)
14081395e:	48 89 5d 08          	mov    %rbx,0x8(%rbp)
140813962:	48 8b 4e 18          	mov    0x18(%rsi),%rcx
140813966:	48 8b 46 30          	mov    0x30(%rsi),%rax
14081396a:	49 23 c7             	and    %r15,%rax
14081396d:	48 03 c0             	add    %rax,%rax
140813970:	4c 8b 04 c1          	mov    (%rcx,%rax,8),%r8
140813974:	4c 3b 46 08          	cmp    0x8(%rsi),%r8
140813978:	75 16                	jne    0x140813990
14081397a:	48 89 1c c1          	mov    %rbx,(%rcx,%rax,8)
14081397e:	eb 22                	jmp    0x1408139a2
140813980:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140813985:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
14081398c:	00 00
14081398e:	eb b7                	jmp    0x140813947
140813990:	4c 3b c5             	cmp    %rbp,%r8
140813993:	75 06                	jne    0x14081399b
140813995:	48 89 1c c1          	mov    %rbx,(%rcx,%rax,8)
140813999:	eb 0c                	jmp    0x1408139a7
14081399b:	48 39 54 c1 08       	cmp    %rdx,0x8(%rcx,%rax,8)
1408139a0:	75 05                	jne    0x1408139a7
1408139a2:	48 89 5c c1 08       	mov    %rbx,0x8(%rcx,%rax,8)
1408139a7:	49 89 1e             	mov    %rbx,(%r14)
1408139aa:	41 c6 46 08 01       	movb   $0x1,0x8(%r14)
1408139af:	e9 ea fd ff ff       	jmp    0x14081379e
1408139b4:	b9 01 00 00 00       	mov    $0x1,%ecx
1408139b9:	e8 42 6d f7 ff       	call   0x14078a700
1408139be:	90                   	nop
1408139bf:	48 8d 0d da aa 79 00 	lea    0x79aada(%rip),%rcx        # 0x140fae4a0
1408139c6:	e8 e9 79 5e 00       	call   0x140dfb3b4
1408139cb:	90                   	nop
1408139cc:	33 c9                	xor    %ecx,%ecx
1408139ce:	e8 2d 6d f7 ff       	call   0x14078a700
1408139d3:	cc                   	int3
1408139d4:	cc                   	int3
1408139d5:	cc                   	int3
1408139d6:	cc                   	int3
1408139d7:	cc                   	int3
1408139d8:	cc                   	int3
1408139d9:	cc                   	int3
1408139da:	cc                   	int3
1408139db:	cc                   	int3
1408139dc:	cc                   	int3
1408139dd:	cc                   	int3
1408139de:	cc                   	int3
1408139df:	cc                   	int3
1408139e0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1408139e5:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1408139ea:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1408139ef:	57                   	push   %rdi
1408139f0:	48 83 ec 20          	sub    $0x20,%rsp
1408139f4:	49 8b c0             	mov    %r8,%rax
1408139f7:	48 8b f9             	mov    %rcx,%rdi
1408139fa:	89 11                	mov    %edx,(%rcx)
1408139fc:	48 83 c1 08          	add    $0x8,%rcx
140813a00:	0f 57 c0             	xorps  %xmm0,%xmm0
140813a03:	0f 11 01             	movups %xmm0,(%rcx)
140813a06:	33 f6                	xor    %esi,%esi
140813a08:	48 89 71 10          	mov    %rsi,0x10(%rcx)
140813a0c:	48 89 71 18          	mov    %rsi,0x18(%rcx)
140813a10:	4d 8b 40 08          	mov    0x8(%r8),%r8
140813a14:	48 8b 10             	mov    (%rax),%rdx
140813a17:	e8 e4 33 98 ff       	call   0x140196e00
140813a1c:	90                   	nop
140813a1d:	c6 47 28 01          	movb   $0x1,0x28(%rdi)
140813a21:	48 8d 5f 30          	lea    0x30(%rdi),%rbx
140813a25:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
140813a2a:	89 33                	mov    %esi,(%rbx)
140813a2c:	48 89 73 08          	mov    %rsi,0x8(%rbx)
140813a30:	48 89 73 10          	mov    %rsi,0x10(%rbx)
140813a34:	b9 18 00 00 00       	mov    $0x18,%ecx
140813a39:	e8 ca 76 60 00       	call   0x140e1b108
140813a3e:	48 89 00             	mov    %rax,(%rax)
140813a41:	48 89 40 08          	mov    %rax,0x8(%rax)
140813a45:	48 89 43 08          	mov    %rax,0x8(%rbx)
140813a49:	48 8d 4b 18          	lea    0x18(%rbx),%rcx
140813a4d:	48 89 31             	mov    %rsi,(%rcx)
140813a50:	48 89 71 08          	mov    %rsi,0x8(%rcx)
140813a54:	48 89 71 10          	mov    %rsi,0x10(%rcx)
140813a58:	48 c7 43 30 07 00 00 	movq   $0x7,0x30(%rbx)
140813a5f:	00
140813a60:	48 c7 43 38 08 00 00 	movq   $0x8,0x38(%rbx)
140813a67:	00
140813a68:	c7 03 00 00 80 3f    	movl   $0x3f800000,(%rbx)
140813a6e:	4c 8b 43 08          	mov    0x8(%rbx),%r8
140813a72:	ba 10 00 00 00       	mov    $0x10,%edx
140813a77:	e8 04 90 b7 ff       	call   0x14038ca80
140813a7c:	90                   	nop
140813a7d:	48 8b c7             	mov    %rdi,%rax
140813a80:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140813a85:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
140813a8a:	48 83 c4 20          	add    $0x20,%rsp
140813a8e:	5f                   	pop    %rdi
140813a8f:	c3                   	ret
140813a90:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140813a95:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140813a9a:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140813a9f:	57                   	push   %rdi
140813aa0:	48 83 ec 20          	sub    $0x20,%rsp
140813aa4:	48 8b f9             	mov    %rcx,%rdi
140813aa7:	33 f6                	xor    %esi,%esi
140813aa9:	48 89 31             	mov    %rsi,(%rcx)
140813aac:	48 89 71 08          	mov    %rsi,0x8(%rcx)
140813ab0:	b9 48 00 00 00       	mov    $0x48,%ecx
140813ab5:	e8 4e 76 60 00       	call   0x140e1b108
140813aba:	48 89 00             	mov    %rax,(%rax)
140813abd:	48 89 40 08          	mov    %rax,0x8(%rax)
140813ac1:	48 89 40 10          	mov    %rax,0x10(%rax)
140813ac5:	66 c7 40 18 01 01    	movw   $0x101,0x18(%rax)
140813acb:	48 89 07             	mov    %rax,(%rdi)
140813ace:	48 8d 5f 10          	lea    0x10(%rdi),%rbx
140813ad2:	48 89 5c 24 38       	mov    %rbx,0x38(%rsp)
140813ad7:	89 33                	mov    %esi,(%rbx)
140813ad9:	48 89 73 08          	mov    %rsi,0x8(%rbx)
140813add:	48 89 73 10          	mov    %rsi,0x10(%rbx)
140813ae1:	b9 30 00 00 00       	mov    $0x30,%ecx
140813ae6:	e8 1d 76 60 00       	call   0x140e1b108
140813aeb:	48 89 00             	mov    %rax,(%rax)
140813aee:	48 89 40 08          	mov    %rax,0x8(%rax)
140813af2:	48 89 43 08          	mov    %rax,0x8(%rbx)
140813af6:	48 8d 4b 18          	lea    0x18(%rbx),%rcx
140813afa:	48 89 31             	mov    %rsi,(%rcx)
140813afd:	48 89 71 08          	mov    %rsi,0x8(%rcx)
140813b01:	48 89 71 10          	mov    %rsi,0x10(%rcx)
140813b05:	48 c7 43 30 07 00 00 	movq   $0x7,0x30(%rbx)
140813b0c:	00
140813b0d:	48 c7 43 38 08 00 00 	movq   $0x8,0x38(%rbx)
140813b14:	00
140813b15:	c7 03 00 00 80 3f    	movl   $0x3f800000,(%rbx)
140813b1b:	4c 8b 43 08          	mov    0x8(%rbx),%r8
140813b1f:	ba 10 00 00 00       	mov    $0x10,%edx
140813b24:	e8 57 8f b7 ff       	call   0x14038ca80
140813b29:	90                   	nop
140813b2a:	48 8d 5f 50          	lea    0x50(%rdi),%rbx
140813b2e:	48 89 5c 24 38       	mov    %rbx,0x38(%rsp)
140813b33:	48 89 33             	mov    %rsi,(%rbx)
140813b36:	48 89 73 08          	mov    %rsi,0x8(%rbx)
140813b3a:	b9 58 00 00 00       	mov    $0x58,%ecx
140813b3f:	e8 c4 75 60 00       	call   0x140e1b108
140813b44:	48 89 00             	mov    %rax,(%rax)
140813b47:	48 89 40 08          	mov    %rax,0x8(%rax)
140813b4b:	48 89 40 10          	mov    %rax,0x10(%rax)
140813b4f:	66 c7 40 18 01 01    	movw   $0x101,0x18(%rax)
140813b55:	48 89 03             	mov    %rax,(%rbx)
140813b58:	48 8b c7             	mov    %rdi,%rax
140813b5b:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140813b60:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
140813b65:	48 83 c4 20          	add    $0x20,%rsp
140813b69:	5f                   	pop    %rdi
140813b6a:	c3                   	ret
140813b6b:	cc                   	int3
140813b6c:	cc                   	int3
140813b6d:	cc                   	int3
140813b6e:	cc                   	int3
140813b6f:	cc                   	int3
140813b70:	40 53                	rex push %rbx
140813b72:	48 83 ec 20          	sub    $0x20,%rsp
140813b76:	48 8b d9             	mov    %rcx,%rbx
140813b79:	48 8b 49 18          	mov    0x18(%rcx),%rcx
140813b7d:	48 85 c9             	test   %rcx,%rcx
140813b80:	74 3f                	je     0x140813bc1
140813b82:	48 8b 53 28          	mov    0x28(%rbx),%rdx
140813b86:	48 2b d1             	sub    %rcx,%rdx
140813b89:	48 83 e2 f8          	and    $0xfffffffffffffff8,%rdx
140813b8d:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140813b94:	72 18                	jb     0x140813bae
140813b96:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
140813b9a:	48 83 c2 27          	add    $0x27,%rdx
140813b9e:	49 2b c8             	sub    %r8,%rcx
140813ba1:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140813ba5:	48 83 f8 1f          	cmp    $0x1f,%rax
140813ba9:	77 36                	ja     0x140813be1
140813bab:	49 8b c8             	mov    %r8,%rcx
140813bae:	e8 91 75 60 00       	call   0x140e1b144
140813bb3:	33 c0                	xor    %eax,%eax
140813bb5:	48 89 43 18          	mov    %rax,0x18(%rbx)
140813bb9:	48 89 43 20          	mov    %rax,0x20(%rbx)
140813bbd:	48 89 43 28          	mov    %rax,0x28(%rbx)
140813bc1:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140813bc5:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
140813bc9:	e8 e2 f9 ff ff       	call   0x1408135b0
140813bce:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140813bd2:	ba 18 00 00 00       	mov    $0x18,%edx
140813bd7:	48 83 c4 20          	add    $0x20,%rsp
140813bdb:	5b                   	pop    %rbx
140813bdc:	e9 63 75 60 00       	jmp    0x140e1b144
140813be1:	e8 be 65 61 00       	call   0x140e2a1a4
140813be6:	cc                   	int3
140813be7:	cc                   	int3
140813be8:	cc                   	int3
140813be9:	cc                   	int3
140813bea:	cc                   	int3
140813beb:	cc                   	int3
140813bec:	cc                   	int3
140813bed:	cc                   	int3
140813bee:	cc                   	int3
140813bef:	cc                   	int3
140813bf0:	40 53                	rex push %rbx
140813bf2:	48 83 ec 20          	sub    $0x20,%rsp
140813bf6:	48 8b d9             	mov    %rcx,%rbx
140813bf9:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140813bfd:	48 85 c9             	test   %rcx,%rcx
140813c00:	74 29                	je     0x140813c2b
140813c02:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140813c06:	48 85 c9             	test   %rcx,%rcx
140813c09:	74 20                	je     0x140813c2b
140813c0b:	8b 41 10             	mov    0x10(%rcx),%eax
140813c0e:	ff c8                	dec    %eax
140813c10:	89 41 10             	mov    %eax,0x10(%rcx)
140813c13:	85 c0                	test   %eax,%eax
140813c15:	7f 14                	jg     0x140813c2b
140813c17:	78 30                	js     0x140813c49
140813c19:	48 8b 01             	mov    (%rcx),%rax
140813c1c:	ba 01 00 00 00       	mov    $0x1,%edx
140813c21:	48 8b 00             	mov    (%rax),%rax
140813c24:	ff 15 f6 fd 76 00    	call   *0x76fdf6(%rip)        # 0x140f83a20
140813c2a:	90                   	nop
140813c2b:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140813c2f:	48 85 c9             	test   %rcx,%rcx
140813c32:	74 0f                	je     0x140813c43
140813c34:	ba 18 00 00 00       	mov    $0x18,%edx
140813c39:	48 83 c4 20          	add    $0x20,%rsp
140813c3d:	5b                   	pop    %rbx
140813c3e:	e9 01 75 60 00       	jmp    0x140e1b144
140813c43:	48 83 c4 20          	add    $0x20,%rsp
140813c47:	5b                   	pop    %rbx
140813c48:	c3                   	ret
140813c49:	b9 02 00 00 00       	mov    $0x2,%ecx
140813c4e:	e8 ad 6a f7 ff       	call   0x14078a700
140813c53:	cc                   	int3
140813c54:	cc                   	int3
140813c55:	cc                   	int3
140813c56:	cc                   	int3
140813c57:	cc                   	int3
140813c58:	cc                   	int3
140813c59:	cc                   	int3
140813c5a:	cc                   	int3
140813c5b:	cc                   	int3
140813c5c:	cc                   	int3
140813c5d:	cc                   	int3
140813c5e:	cc                   	int3
140813c5f:	cc                   	int3
140813c60:	40 53                	rex push %rbx
140813c62:	48 83 ec 20          	sub    $0x20,%rsp
140813c66:	48 8b 11             	mov    (%rcx),%rdx
140813c69:	48 8b d9             	mov    %rcx,%rbx
140813c6c:	e8 3f f9 ff ff       	call   0x1408135b0
140813c71:	48 8b 0b             	mov    (%rbx),%rcx