14069dc36:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
14069dc3b:	e8 70 fe ff ff       	call   0x14069dab0
14069dc40:	84 c0                	test   %al,%al
14069dc42:	74 04                	je     0x14069dc48
14069dc44:	b3 01                	mov    $0x1,%bl
14069dc46:	eb 02                	jmp    0x14069dc4a
14069dc48:	32 db                	xor    %bl,%bl
14069dc4a:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
14069dc4f:	48 85 c9             	test   %rcx,%rcx
14069dc52:	74 24                	je     0x14069dc78
14069dc54:	8b 41 10             	mov    0x10(%rcx),%eax
14069dc57:	ff c8                	dec    %eax
14069dc59:	89 41 10             	mov    %eax,0x10(%rcx)
14069dc5c:	85 c0                	test   %eax,%eax
14069dc5e:	7f 18                	jg     0x14069dc78
14069dc60:	0f 88 83 00 00 00    	js     0x14069dce9
14069dc66:	48 8b 01             	mov    (%rcx),%rax
14069dc69:	ba 01 00 00 00       	mov    $0x1,%edx
14069dc6e:	48 8b 00             	mov    (%rax),%rax
14069dc71:	ff 15 a9 5d 8e 00    	call   *0x8e5da9(%rip)        # 0x140f83a20
14069dc77:	90                   	nop
14069dc78:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
14069dc7d:	48 85 c9             	test   %rcx,%rcx
14069dc80:	74 20                	je     0x14069dca2
14069dc82:	8b 41 10             	mov    0x10(%rcx),%eax
14069dc85:	ff c8                	dec    %eax
14069dc87:	89 41 10             	mov    %eax,0x10(%rcx)
14069dc8a:	85 c0                	test   %eax,%eax
14069dc8c:	7f 14                	jg     0x14069dca2
14069dc8e:	78 25                	js     0x14069dcb5
14069dc90:	48 8b 11             	mov    (%rcx),%rdx
14069dc93:	48 8b 02             	mov    (%rdx),%rax
14069dc96:	ba 01 00 00 00       	mov    $0x1,%edx
14069dc9b:	ff 15 7f 5d 8e 00    	call   *0x8e5d7f(%rip)        # 0x140f83a20
14069dca1:	90                   	nop
14069dca2:	0f b6 c3             	movzbl %bl,%eax
14069dca5:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
14069dcaa:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14069dcaf:	48 83 c4 30          	add    $0x30,%rsp
14069dcb3:	5f                   	pop    %rdi
14069dcb4:	c3                   	ret
14069dcb5:	b9 02 00 00 00       	mov    $0x2,%ecx
14069dcba:	e8 41 ca 0e 00       	call   0x14078a700
14069dcbf:	90                   	nop
14069dcc0:	33 c9                	xor    %ecx,%ecx
14069dcc2:	e8 39 ca 0e 00       	call   0x14078a700
14069dcc7:	cc                   	int3
14069dcc8:	b9 01 00 00 00       	mov    $0x1,%ecx
14069dccd:	e8 2e ca 0e 00       	call   0x14078a700
14069dcd2:	90                   	nop
14069dcd3:	b9 02 00 00 00       	mov    $0x2,%ecx
14069dcd8:	e8 23 ca 0e 00       	call   0x14078a700
14069dcdd:	90                   	nop
14069dcde:	b9 02 00 00 00       	mov    $0x2,%ecx
14069dce3:	e8 18 ca 0e 00       	call   0x14078a700
14069dce8:	90                   	nop
14069dce9:	b9 02 00 00 00       	mov    $0x2,%ecx
14069dcee:	e8 0d ca 0e 00       	call   0x14078a700
14069dcf3:	cc                   	int3
14069dcf4:	cc                   	int3
14069dcf5:	cc                   	int3
14069dcf6:	cc                   	int3
14069dcf7:	cc                   	int3
14069dcf8:	cc                   	int3
14069dcf9:	cc                   	int3
14069dcfa:	cc                   	int3
14069dcfb:	cc                   	int3
14069dcfc:	cc                   	int3
14069dcfd:	cc                   	int3
14069dcfe:	cc                   	int3
14069dcff:	cc                   	int3
14069dd00:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
14069dd05:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
14069dd0a:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
14069dd0f:	55                   	push   %rbp
14069dd10:	56                   	push   %rsi
14069dd11:	57                   	push   %rdi
14069dd12:	48 83 ec 20          	sub    $0x20,%rsp
14069dd16:	48 8b fa             	mov    %rdx,%rdi
14069dd19:	48 8b f1             	mov    %rcx,%rsi
14069dd1c:	48 8b 09             	mov    (%rcx),%rcx
14069dd1f:	8b 51 18             	mov    0x18(%rcx),%edx
14069dd22:	48 8b 07             	mov    (%rdi),%rax
14069dd25:	44 8b 40 18          	mov    0x18(%rax),%r8d
14069dd29:	83 fa 01             	cmp    $0x1,%edx
14069dd2c:	0f 87 fb 00 00 00    	ja     0x14069de2d
14069dd32:	41 83 f8 01          	cmp    $0x1,%r8d
14069dd36:	0f 87 f1 00 00 00    	ja     0x14069de2d
14069dd3c:	41 3b d0             	cmp    %r8d,%edx
14069dd3f:	74 50                	je     0x14069dd91
14069dd41:	48 85 c9             	test   %rcx,%rcx
14069dd44:	74 24                	je     0x14069dd6a
14069dd46:	8b 41 10             	mov    0x10(%rcx),%eax
14069dd49:	ff c8                	dec    %eax
14069dd4b:	89 41 10             	mov    %eax,0x10(%rcx)
14069dd4e:	85 c0                	test   %eax,%eax
14069dd50:	7f 18                	jg     0x14069dd6a
14069dd52:	0f 88 47 01 00 00    	js     0x14069de9f
14069dd58:	48 8b 01             	mov    (%rcx),%rax
14069dd5b:	ba 01 00 00 00       	mov    $0x1,%edx
14069dd60:	48 8b 00             	mov    (%rax),%rax
14069dd63:	ff 15 b7 5c 8e 00    	call   *0x8e5cb7(%rip)        # 0x140f83a20
14069dd69:	90                   	nop
14069dd6a:	48 8b 0f             	mov    (%rdi),%rcx
14069dd6d:	48 85 c9             	test   %rcx,%rcx
14069dd70:	0f 84 04 01 00 00    	je     0x14069de7a
14069dd76:	8b 41 10             	mov    0x10(%rcx),%eax
14069dd79:	ff c8                	dec    %eax
14069dd7b:	89 41 10             	mov    %eax,0x10(%rcx)
14069dd7e:	85 c0                	test   %eax,%eax
14069dd80:	0f 8f f4 00 00 00    	jg     0x14069de7a
14069dd86:	0f 88 08 01 00 00    	js     0x14069de94
14069dd8c:	e9 d7 00 00 00       	jmp    0x14069de68
14069dd91:	83 fa 01             	cmp    $0x1,%edx
14069dd94:	75 7c                	jne    0x14069de12
14069dd96:	e8 a5 84 fe ff       	call   0x140686240
14069dd9b:	48 8b 68 38          	mov    0x38(%rax),%rbp
14069dd9f:	48 8b 0f             	mov    (%rdi),%rcx
14069dda2:	e8 99 84 fe ff       	call   0x140686240
14069dda7:	48 8b 58 38          	mov    0x38(%rax),%rbx
14069ddab:	48 8b cd             	mov    %rbp,%rcx
14069ddae:	e8 ad 76 0a 00       	call   0x140745460
14069ddb3:	84 c0                	test   %al,%al
14069ddb5:	74 3b                	je     0x14069ddf2
14069ddb7:	48 8b cb             	mov    %rbx,%rcx
14069ddba:	e8 a1 76 0a 00       	call   0x140745460
14069ddbf:	84 c0                	test   %al,%al
14069ddc1:	74 2f                	je     0x14069ddf2
14069ddc3:	48 8b d3             	mov    %rbx,%rdx
14069ddc6:	48 8b cd             	mov    %rbp,%rcx
14069ddc9:	e8 62 77 0a 00       	call   0x140745530
14069ddce:	0f b6 d8             	movzbl %al,%ebx
14069ddd1:	48 8b ce             	mov    %rsi,%rcx
14069ddd4:	e8 17 07 b0 ff       	call   0x14019e4f0
14069ddd9:	90                   	nop
14069ddda:	48 8b cf             	mov    %rdi,%rcx
14069dddd:	e8 0e 07 b0 ff       	call   0x14019e4f0
14069dde2:	0f b6 c3             	movzbl %bl,%eax
14069dde5:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
14069ddea:	48 83 c4 20          	add    $0x20,%rsp
14069ddee:	5f                   	pop    %rdi
14069ddef:	5e                   	pop    %rsi
14069ddf0:	5d                   	pop    %rbp
14069ddf1:	c3                   	ret
14069ddf2:	48 8b ce             	mov    %rsi,%rcx
14069ddf5:	e8 f6 06 b0 ff       	call   0x14019e4f0
14069ddfa:	90                   	nop
14069ddfb:	48 8b cf             	mov    %rdi,%rcx
14069ddfe:	e8 ed 06 b0 ff       	call   0x14019e4f0
14069de03:	32 c0                	xor    %al,%al
14069de05:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
14069de0a:	48 83 c4 20          	add    $0x20,%rsp
14069de0e:	5f                   	pop    %rdi
14069de0f:	5e                   	pop    %rsi
14069de10:	5d                   	pop    %rbp
14069de11:	c3                   	ret
14069de12:	e8 a9 a4 15 00       	call   0x1407f82c0
14069de17:	90                   	nop
14069de18:	48 8b 58 38          	mov    0x38(%rax),%rbx
14069de1c:	48 8b 0f             	mov    (%rdi),%rcx
14069de1f:	e8 9c a4 15 00       	call   0x1407f82c0
14069de24:	48 3b 58 38          	cmp    0x38(%rax),%rbx
14069de28:	0f 94 c3             	sete   %bl
14069de2b:	eb a4                	jmp    0x14069ddd1
14069de2d:	48 85 c9             	test   %rcx,%rcx
14069de30:	74 20                	je     0x14069de52
14069de32:	8b 41 10             	mov    0x10(%rcx),%eax
14069de35:	ff c8                	dec    %eax
14069de37:	89 41 10             	mov    %eax,0x10(%rcx)
14069de3a:	85 c0                	test   %eax,%eax
14069de3c:	7f 14                	jg     0x14069de52
14069de3e:	78 6a                	js     0x14069deaa
14069de40:	48 8b 01             	mov    (%rcx),%rax
14069de43:	ba 01 00 00 00       	mov    $0x1,%edx
14069de48:	48 8b 00             	mov    (%rax),%rax
14069de4b:	ff 15 cf 5b 8e 00    	call   *0x8e5bcf(%rip)        # 0x140f83a20
14069de51:	90                   	nop
14069de52:	48 8b 0f             	mov    (%rdi),%rcx
14069de55:	48 85 c9             	test   %rcx,%rcx
14069de58:	74 20                	je     0x14069de7a
14069de5a:	8b 41 10             	mov    0x10(%rcx),%eax
14069de5d:	ff c8                	dec    %eax
14069de5f:	89 41 10             	mov    %eax,0x10(%rcx)
14069de62:	85 c0                	test   %eax,%eax
14069de64:	7f 14                	jg     0x14069de7a
14069de66:	78 21                	js     0x14069de89
14069de68:	48 8b 01             	mov    (%rcx),%rax
14069de6b:	ba 01 00 00 00       	mov    $0x1,%edx
14069de70:	48 8b 00             	mov    (%rax),%rax
14069de73:	ff 15 a7 5b 8e 00    	call   *0x8e5ba7(%rip)        # 0x140f83a20
14069de79:	90                   	nop
14069de7a:	32 c0                	xor    %al,%al
14069de7c:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
14069de81:	48 83 c4 20          	add    $0x20,%rsp
14069de85:	5f                   	pop    %rdi
14069de86:	5e                   	pop    %rsi
14069de87:	5d                   	pop    %rbp
14069de88:	c3                   	ret
14069de89:	b9 02 00 00 00       	mov    $0x2,%ecx
14069de8e:	e8 6d c8 0e 00       	call   0x14078a700
14069de93:	90                   	nop
14069de94:	b9 02 00 00 00       	mov    $0x2,%ecx
14069de99:	e8 62 c8 0e 00       	call   0x14078a700
14069de9e:	90                   	nop
14069de9f:	b9 02 00 00 00       	mov    $0x2,%ecx
14069dea4:	e8 57 c8 0e 00       	call   0x14078a700
14069dea9:	90                   	nop
14069deaa:	b9 02 00 00 00       	mov    $0x2,%ecx
14069deaf:	e8 4c c8 0e 00       	call   0x14078a700
14069deb4:	cc                   	int3
14069deb5:	cc                   	int3
14069deb6:	cc                   	int3
14069deb7:	cc                   	int3
14069deb8:	cc                   	int3
14069deb9:	cc                   	int3
14069deba:	cc                   	int3
14069debb:	cc                   	int3
14069debc:	cc                   	int3
14069debd:	cc                   	int3
14069debe:	cc                   	int3
14069debf:	cc                   	int3
14069dec0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14069dec5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14069deca:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14069decf:	57                   	push   %rdi
14069ded0:	41 54                	push   %r12
14069ded2:	41 55                	push   %r13
14069ded4:	41 56                	push   %r14
14069ded6:	41 57                	push   %r15
14069ded8:	48 83 ec 30          	sub    $0x30,%rsp
14069dedc:	49 8b f0             	mov    %r8,%rsi
14069dedf:	4c 8b f2             	mov    %rdx,%r14
14069dee2:	48 8b e9             	mov    %rcx,%rbp
14069dee5:	45 0f b6 28          	movzbl (%r8),%r13d
14069dee9:	48 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rax
14069def0:	9c f2 cb
14069def3:	4c 33 e8             	xor    %rax,%r13
14069def6:	48 b9 b3 01 00 00 00 	movabs $0x100000001b3,%rcx
14069defd:	01 00 00
14069df00:	4c 0f af e9          	imul   %rcx,%r13
14069df04:	41 0f b6 40 01       	movzbl 0x1(%r8),%eax
14069df09:	4c 33 e8             	xor    %rax,%r13
14069df0c:	4c 0f af e9          	imul   %rcx,%r13
14069df10:	41 0f b6 40 02       	movzbl 0x2(%r8),%eax
14069df15:	4c 33 e8             	xor    %rax,%r13
14069df18:	4c 0f af e9          	imul   %rcx,%r13
14069df1c:	41 0f b6 40 03       	movzbl 0x3(%r8),%eax
14069df21:	4c 33 e8             	xor    %rax,%r13
14069df24:	4c 0f af e9          	imul   %rcx,%r13
14069df28:	41 0f b6 40 04       	movzbl 0x4(%r8),%eax
14069df2d:	4c 33 e8             	xor    %rax,%r13
14069df30:	4c 0f af e9          	imul   %rcx,%r13
14069df34:	41 0f b6 40 05       	movzbl 0x5(%r8),%eax
14069df39:	4c 33 e8             	xor    %rax,%r13
14069df3c:	4c 0f af e9          	imul   %rcx,%r13
14069df40:	41 0f b6 40 06       	movzbl 0x6(%r8),%eax
14069df45:	4c 33 e8             	xor    %rax,%r13
14069df48:	4c 0f af e9          	imul   %rcx,%r13
14069df4c:	41 0f b6 40 07       	movzbl 0x7(%r8),%eax
14069df51:	4c 33 e8             	xor    %rax,%r13
14069df54:	4c 0f af e9          	imul   %rcx,%r13
14069df58:	49 8b cd             	mov    %r13,%rcx
14069df5b:	48 23 4d 30          	and    0x30(%rbp),%rcx
14069df5f:	48 03 c9             	add    %rcx,%rcx
14069df62:	48 8b 45 18          	mov    0x18(%rbp),%rax
14069df66:	48 8b 5c c8 08       	mov    0x8(%rax,%rcx,8),%rbx
14069df6b:	48 8d 55 08          	lea    0x8(%rbp),%rdx
14069df6f:	4c 8b 22             	mov    (%rdx),%r12
14069df72:	49 3b dc             	cmp    %r12,%rbx
14069df75:	75 08                	jne    0x14069df7f
14069df77:	49 8b dc             	mov    %r12,%rbx
14069df7a:	4d 8b fc             	mov    %r12,%r15
14069df7d:	eb 4e                	jmp    0x14069dfcd
14069df7f:	48 8b 0c c8          	mov    (%rax,%rcx,8),%rcx
14069df83:	49 8b 00             	mov    (%r8),%rax
14069df86:	48 3b 43 10          	cmp    0x10(%rbx),%rax
14069df8a:	74 13                	je     0x14069df9f
14069df8c:	0f 1f 40 00          	nopl   0x0(%rax)
14069df90:	48 3b d9             	cmp    %rcx,%rbx
14069df93:	74 32                	je     0x14069dfc7
14069df95:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
14069df99:	48 3b 43 10          	cmp    0x10(%rbx),%rax
14069df9d:	75 f1                	jne    0x14069df90
14069df9f:	49 89 1e             	mov    %rbx,(%r14)
14069dfa2:	41 c6 46 08 00       	movb   $0x0,0x8(%r14)
14069dfa7:	49 8b c6             	mov    %r14,%rax
14069dfaa:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
14069dfaf:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
14069dfb4:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
14069dfb9:	48 83 c4 30          	add    $0x30,%rsp
14069dfbd:	41 5f                	pop    %r15
14069dfbf:	41 5e                	pop    %r14
14069dfc1:	41 5d                	pop    %r13
14069dfc3:	41 5c                	pop    %r12
14069dfc5:	5f                   	pop    %rdi
14069dfc6:	c3                   	ret
14069dfc7:	4c 8b e3             	mov    %rbx,%r12
14069dfca:	4c 8b fb             	mov    %rbx,%r15
14069dfcd:	48 b8 66 66 66 66 66 	movabs $0x666666666666666,%rax
14069dfd4:	66 66 06
14069dfd7:	48 39 45 10          	cmp    %rax,0x10(%rbp)
14069dfdb:	0f 84 c9 01 00 00    	je     0x14069e1aa
14069dfe1:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
14069dfe6:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
14069dfed:	00 00
14069dfef:	b9 28 00 00 00       	mov    $0x28,%ecx
14069dff4:	e8 0f d1 77 00       	call   0x140e1b108
14069dff9:	48 8b f8             	mov    %rax,%rdi
14069dffc:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14069e001:	48 8b 0e             	mov    (%rsi),%rcx
14069e004:	48 89 48 10          	mov    %rcx,0x10(%rax)
14069e008:	33 c0                	xor    %eax,%eax
14069e00a:	48 89 47 18          	mov    %rax,0x18(%rdi)
14069e00e:	48 89 47 20          	mov    %rax,0x20(%rdi)
14069e012:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
14069e016:	48 83 c1 01          	add    $0x1,%rcx
14069e01a:	0f 57 c0             	xorps  %xmm0,%xmm0
14069e01d:	78 07                	js     0x14069e026
14069e01f:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
14069e024:	eb 15                	jmp    0x14069e03b
14069e026:	48 8b c1             	mov    %rcx,%rax
14069e029:	48 d1 e8             	shr    $1,%rax
14069e02c:	83 e1 01             	and    $0x1,%ecx
14069e02f:	48 0b c1             	or     %rcx,%rax
14069e032:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
14069e037:	f3 0f 58 c0          	addss  %xmm0,%xmm0
14069e03b:	48 8b 75 38          	mov    0x38(%rbp),%rsi
14069e03f:	f3 0f 10 5d 00       	movss  0x0(%rbp),%xmm3
14069e044:	0f 57 d2             	xorps  %xmm2,%xmm2
14069e047:	48 85 f6             	test   %rsi,%rsi
14069e04a:	78 07                	js     0x14069e053
14069e04c:	f3 48 0f 2a d6       	cvtsi2ss %rsi,%xmm2
14069e051:	eb 18                	jmp    0x14069e06b
14069e053:	48 8b ce             	mov    %rsi,%rcx
14069e056:	48 d1 e9             	shr    $1,%rcx
14069e059:	48 8b c6             	mov    %rsi,%rax
14069e05c:	83 e0 01             	and    $0x1,%eax
14069e05f:	48 0b c8             	or     %rax,%rcx
14069e062:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
14069e067:	f3 0f 58 d2          	addss  %xmm2,%xmm2
14069e06b:	0f 28 c8             	movaps %xmm0,%xmm1
14069e06e:	f3 0f 5e ca          	divss  %xmm2,%xmm1
14069e072:	0f 2f cb             	comiss %xmm3,%xmm1
14069e075:	0f 86 c7 00 00 00    	jbe    0x14069e142
14069e07b:	f3 0f 5e c3          	divss  %xmm3,%xmm0
14069e07f:	e8 9c 30 79 00       	call   0x140e31120
14069e084:	33 c9                	xor    %ecx,%ecx
14069e086:	f3 0f 10 0d d6 05 91 	movss  0x9105d6(%rip),%xmm1        # 0x140fae664
14069e08d:	00
14069e08e:	0f 2f c1             	comiss %xmm1,%xmm0