140988ae3:	33 c0                	xor    %eax,%eax
140988ae5:	48 83 c4 50          	add    $0x50,%rsp
140988ae9:	41 5f                	pop    %r15
140988aeb:	41 5d                	pop    %r13
140988aed:	5f                   	pop    %rdi
140988aee:	5e                   	pop    %rsi
140988aef:	5d                   	pop    %rbp
140988af0:	c3                   	ret
140988af1:	cc                   	int3
140988af2:	cc                   	int3
140988af3:	cc                   	int3
140988af4:	cc                   	int3
140988af5:	cc                   	int3
140988af6:	cc                   	int3
140988af7:	cc                   	int3
140988af8:	cc                   	int3
140988af9:	cc                   	int3
140988afa:	cc                   	int3
140988afb:	cc                   	int3
140988afc:	cc                   	int3
140988afd:	cc                   	int3
140988afe:	cc                   	int3
140988aff:	cc                   	int3
140988b00:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140988b05:	55                   	push   %rbp
140988b06:	56                   	push   %rsi
140988b07:	57                   	push   %rdi
140988b08:	41 54                	push   %r12
140988b0a:	41 55                	push   %r13
140988b0c:	41 56                	push   %r14
140988b0e:	41 57                	push   %r15
140988b10:	48 83 ec 70          	sub    $0x70,%rsp
140988b14:	48 8b 05 e5 03 a3 00 	mov    0xa303e5(%rip),%rax        # 0x1413b8f00
140988b1b:	48 33 c4             	xor    %rsp,%rax
140988b1e:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
140988b23:	48 8b bc 24 d0 00 00 	mov    0xd0(%rsp),%rdi
140988b2a:	00
140988b2b:	48 8b f1             	mov    %rcx,%rsi
140988b2e:	48 8b ca             	mov    %rdx,%rcx
140988b31:	44 89 4c 24 20       	mov    %r9d,0x20(%rsp)
140988b36:	4d 8b e0             	mov    %r8,%r12
140988b39:	48 8b da             	mov    %rdx,%rbx
140988b3c:	e8 2f 36 00 00       	call   0x14098c170
140988b41:	ba 04 00 00 00       	mov    $0x4,%edx
140988b46:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140988b4b:	48 8b cb             	mov    %rbx,%rcx
140988b4e:	4c 8b f0             	mov    %rax,%r14
140988b51:	e8 ea 32 00 00       	call   0x14098be40
140988b56:	48 8b cb             	mov    %rbx,%rcx
140988b59:	e8 12 33 00 00       	call   0x14098be70
140988b5e:	48 8b cb             	mov    %rbx,%rcx
140988b61:	44 0f b7 f8          	movzwl %ax,%r15d
140988b65:	e8 06 33 00 00       	call   0x14098be70
140988b6a:	48 8b cb             	mov    %rbx,%rcx
140988b6d:	44 0f b7 e8          	movzwl %ax,%r13d
140988b71:	e8 9a 33 00 00       	call   0x14098bf10
140988b76:	48 8b e8             	mov    %rax,%rbp
140988b79:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
140988b80:	ff ff 7f
140988b83:	48 3b e8             	cmp    %rax,%rbp
140988b86:	0f 87 4f 02 00 00    	ja     0x140988ddb
140988b8c:	4b 8d 04 34          	lea    (%r12,%r14,1),%rax
140988b90:	4c 8d 75 38          	lea    0x38(%rbp),%r14
140988b94:	4c 3b f0             	cmp    %rax,%r14
140988b97:	76 0e                	jbe    0x140988ba7
140988b99:	ba 15 00 00 00       	mov    $0x15,%edx
140988b9e:	44 8d 42 f3          	lea    -0xd(%rdx),%r8d
140988ba2:	e9 3d 02 00 00       	jmp    0x140988de4
140988ba7:	49 3b ec             	cmp    %r12,%rbp
140988baa:	72 23                	jb     0x140988bcf
140988bac:	48 8b cb             	mov    %rbx,%rcx
140988baf:	e8 ac 65 84 ff       	call   0x1401cf160
140988bb4:	49 03 c4             	add    %r12,%rax
140988bb7:	4c 3b f0             	cmp    %rax,%r14
140988bba:	77 13                	ja     0x140988bcf
140988bbc:	48 8b d5             	mov    %rbp,%rdx
140988bbf:	48 8b cb             	mov    %rbx,%rcx
140988bc2:	49 2b d4             	sub    %r12,%rdx
140988bc5:	e8 d6 37 00 00       	call   0x14098c3a0
140988bca:	40 32 f6             	xor    %sil,%sil
140988bcd:	eb 46                	jmp    0x140988c15
140988bcf:	45 33 c0             	xor    %r8d,%r8d
140988bd2:	48 8b d5             	mov    %rbp,%rdx
140988bd5:	48 8b ce             	mov    %rsi,%rcx
140988bd8:	e8 33 20 00 00       	call   0x14098ac10
140988bdd:	85 c0                	test   %eax,%eax
140988bdf:	79 10                	jns    0x140988bf1
140988be1:	48 8b d6             	mov    %rsi,%rdx
140988be4:	48 8b cf             	mov    %rdi,%rcx
140988be7:	e8 e4 ec ff ff       	call   0x1409878d0
140988bec:	e9 fb 01 00 00       	jmp    0x140988dec
140988bf1:	4c 8b cf             	mov    %rdi,%r9
140988bf4:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
140988bf9:	ba 38 00 00 00       	mov    $0x38,%edx
140988bfe:	48 8b ce             	mov    %rsi,%rcx
140988c01:	e8 7a 34 00 00       	call   0x14098c080
140988c06:	48 8b d8             	mov    %rax,%rbx
140988c09:	48 85 c0             	test   %rax,%rax
140988c0c:	0f 84 da 01 00 00    	je     0x140988dec
140988c12:	40 b6 01             	mov    $0x1,%sil
140988c15:	ba 04 00 00 00       	mov    $0x4,%edx
140988c1a:	48 8b cb             	mov    %rbx,%rcx
140988c1d:	e8 1e 32 00 00       	call   0x14098be40
140988c22:	81 38 50 4b 06 06    	cmpl   $0x6064b50,(%rax)
140988c28:	74 0e                	je     0x140988c38
140988c2a:	ba 15 00 00 00       	mov    $0x15,%edx
140988c2f:	44 8d 42 f4          	lea    -0xc(%rdx),%r8d
140988c33:	e9 8c 01 00 00       	jmp    0x140988dc4
140988c38:	48 8b cb             	mov    %rbx,%rcx
140988c3b:	e8 d0 32 00 00       	call   0x14098bf10
140988c40:	44 8b 74 24 20       	mov    0x20(%rsp),%r14d
140988c45:	41 83 e6 04          	and    $0x4,%r14d
140988c49:	44 89 74 24 20       	mov    %r14d,0x20(%rsp)
140988c4e:	74 22                	je     0x140988c72
140988c50:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
140988c55:	48 83 c0 0c          	add    $0xc,%rax
140988c59:	48 03 c5             	add    %rbp,%rax
140988c5c:	49 03 cc             	add    %r12,%rcx
140988c5f:	48 3b c1             	cmp    %rcx,%rax
140988c62:	74 0e                	je     0x140988c72
140988c64:	ba 15 00 00 00       	mov    $0x15,%edx
140988c69:	44 8d 42 f3          	lea    -0xd(%rdx),%r8d
140988c6d:	e9 52 01 00 00       	jmp    0x140988dc4
140988c72:	ba 04 00 00 00       	mov    $0x4,%edx
140988c77:	48 8b cb             	mov    %rbx,%rcx
140988c7a:	e8 c1 31 00 00       	call   0x14098be40
140988c7f:	48 8b cb             	mov    %rbx,%rcx
140988c82:	e8 39 32 00 00       	call   0x14098bec0
140988c87:	48 8b cb             	mov    %rbx,%rcx
140988c8a:	89 44 24 28          	mov    %eax,0x28(%rsp)
140988c8e:	e8 2d 32 00 00       	call   0x14098bec0
140988c93:	8b 4c 24 28          	mov    0x28(%rsp),%ecx
140988c97:	41 81 ff ff ff 00 00 	cmp    $0xffff,%r15d
140988c9e:	44 0f 44 f9          	cmove  %ecx,%r15d
140988ca2:	41 81 fd ff ff 00 00 	cmp    $0xffff,%r13d
140988ca9:	44 0f 44 e8          	cmove  %eax,%r13d
140988cad:	45 85 f6             	test   %r14d,%r14d
140988cb0:	74 18                	je     0x140988cca
140988cb2:	44 3b e8             	cmp    %eax,%r13d
140988cb5:	75 05                	jne    0x140988cbc
140988cb7:	44 3b f9             	cmp    %ecx,%r15d
140988cba:	74 0e                	je     0x140988cca
140988cbc:	ba 15 00 00 00       	mov    $0x15,%edx
140988cc1:	44 8d 42 f5          	lea    -0xb(%rdx),%r8d
140988cc5:	e9 fa 00 00 00       	jmp    0x140988dc4
140988cca:	45 85 ff             	test   %r15d,%r15d
140988ccd:	0f 85 e9 00 00 00    	jne    0x140988dbc
140988cd3:	45 85 ed             	test   %r13d,%r13d
140988cd6:	0f 85 e0 00 00 00    	jne    0x140988dbc
140988cdc:	48 8b cb             	mov    %rbx,%rcx
140988cdf:	e8 2c 32 00 00       	call   0x14098bf10
140988ce4:	48 8b cb             	mov    %rbx,%rcx
140988ce7:	4c 8b e8             	mov    %rax,%r13
140988cea:	e8 21 32 00 00       	call   0x14098bf10
140988cef:	4c 3b e8             	cmp    %rax,%r13
140988cf2:	0f 85 c4 00 00 00    	jne    0x140988dbc
140988cf8:	48 8b cb             	mov    %rbx,%rcx
140988cfb:	e8 10 32 00 00       	call   0x14098bf10
140988d00:	48 8b cb             	mov    %rbx,%rcx
140988d03:	4c 8b f8             	mov    %rax,%r15
140988d06:	e8 05 32 00 00       	call   0x14098bf10
140988d0b:	48 8b cb             	mov    %rbx,%rcx
140988d0e:	4c 8b f0             	mov    %rax,%r14
140988d11:	e8 3a 3a 84 ff       	call   0x1401cc750
140988d16:	84 c0                	test   %al,%al
140988d18:	75 0a                	jne    0x140988d24
140988d1a:	ba 14 00 00 00       	mov    $0x14,%edx
140988d1f:	e9 9d 00 00 00       	jmp    0x140988dc1
140988d24:	40 84 f6             	test   %sil,%sil
140988d27:	74 08                	je     0x140988d31
140988d29:	48 8b cb             	mov    %rbx,%rcx
140988d2c:	e8 df 30 00 00       	call   0x14098be10
140988d31:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
140988d38:	ff ff 7f
140988d3b:	4c 3b f0             	cmp    %rax,%r14
140988d3e:	0f 87 97 00 00 00    	ja     0x140988ddb
140988d44:	4b 8d 04 3e          	lea    (%r14,%r15,1),%rax
140988d48:	49 3b c6             	cmp    %r14,%rax
140988d4b:	0f 82 8a 00 00 00    	jb     0x140988ddb
140988d51:	49 8d 0c 2c          	lea    (%r12,%rbp,1),%rcx
140988d55:	48 3b c1             	cmp    %rcx,%rax
140988d58:	77 57                	ja     0x140988db1
140988d5a:	83 7c 24 20 00       	cmpl   $0x0,0x20(%rsp)
140988d5f:	74 05                	je     0x140988d66
140988d61:	48 3b c1             	cmp    %rcx,%rax
140988d64:	75 4b                	jne    0x140988db1
140988d66:	48 b8 c9 42 16 b2 90 	movabs $0x642c8590b21642c9,%rax
140988d6d:	85 2c 64
140988d70:	49 f7 e7             	mul    %r15
140988d73:	49 8b c7             	mov    %r15,%rax
140988d76:	48 2b c2             	sub    %rdx,%rax
140988d79:	48 d1 e8             	shr    $1,%rax
140988d7c:	48 03 c2             	add    %rdx,%rax
140988d7f:	48 c1 e8 05          	shr    $0x5,%rax
140988d83:	4c 3b e8             	cmp    %rax,%r13
140988d86:	76 0b                	jbe    0x140988d93
140988d88:	ba 15 00 00 00       	mov    $0x15,%edx
140988d8d:	44 8d 42 f6          	lea    -0xa(%rdx),%r8d
140988d91:	eb 51                	jmp    0x140988de4
140988d93:	48 8b d7             	mov    %rdi,%rdx
140988d96:	49 8b cd             	mov    %r13,%rcx
140988d99:	e8 a2 37 00 00       	call   0x14098c540
140988d9e:	48 85 c0             	test   %rax,%rax
140988da1:	74 49                	je     0x140988dec
140988da3:	c6 40 30 01          	movb   $0x1,0x30(%rax)
140988da7:	4c 89 78 18          	mov    %r15,0x18(%rax)
140988dab:	4c 89 70 20          	mov    %r14,0x20(%rax)
140988daf:	eb 3d                	jmp    0x140988dee
140988db1:	ba 15 00 00 00       	mov    $0x15,%edx
140988db6:	44 8d 42 ec          	lea    -0x14(%rdx),%r8d
140988dba:	eb 28                	jmp    0x140988de4
140988dbc:	ba 01 00 00 00       	mov    $0x1,%edx
140988dc1:	45 33 c0             	xor    %r8d,%r8d
140988dc4:	48 8b cf             	mov    %rdi,%rcx
140988dc7:	e8 c4 eb ff ff       	call   0x140987990
140988dcc:	40 84 f6             	test   %sil,%sil
140988dcf:	74 1b                	je     0x140988dec
140988dd1:	48 8b cb             	mov    %rbx,%rcx
140988dd4:	e8 37 30 00 00       	call   0x14098be10
140988dd9:	eb 11                	jmp    0x140988dec
140988ddb:	ba 04 00 00 00       	mov    $0x4,%edx
140988de0:	44 8d 42 17          	lea    0x17(%rdx),%r8d
140988de4:	48 8b cf             	mov    %rdi,%rcx
140988de7:	e8 a4 eb ff ff       	call   0x140987990
140988dec:	33 c0                	xor    %eax,%eax
140988dee:	48 8b 4c 24 68       	mov    0x68(%rsp),%rcx
140988df3:	48 33 cc             	xor    %rsp,%rcx
140988df6:	e8 05 27 49 00       	call   0x140e1b500
140988dfb:	48 8b 9c 24 c8 00 00 	mov    0xc8(%rsp),%rbx
140988e02:	00
140988e03:	48 83 c4 70          	add    $0x70,%rsp
140988e07:	41 5f                	pop    %r15
140988e09:	41 5e                	pop    %r14
140988e0b:	41 5d                	pop    %r13
140988e0d:	41 5c                	pop    %r12
140988e0f:	5f                   	pop    %rdi
140988e10:	5e                   	pop    %rsi
140988e11:	5d                   	pop    %rbp
140988e12:	c3                   	ret
140988e13:	cc                   	int3
140988e14:	cc                   	int3
140988e15:	cc                   	int3
140988e16:	cc                   	int3
140988e17:	cc                   	int3
140988e18:	cc                   	int3
140988e19:	cc                   	int3
140988e1a:	cc                   	int3
140988e1b:	cc                   	int3
140988e1c:	cc                   	int3
140988e1d:	cc                   	int3
140988e1e:	cc                   	int3
140988e1f:	cc                   	int3
140988e20:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140988e25:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140988e2a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140988e2f:	57                   	push   %rdi
140988e30:	48 83 ec 30          	sub    $0x30,%rsp
140988e34:	48 8b d9             	mov    %rcx,%rbx
140988e37:	49 8b f8             	mov    %r8,%rdi
140988e3a:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140988e3f:	8b ea                	mov    %edx,%ebp
140988e41:	e8 da ea ff ff       	call   0x140987920
140988e46:	33 d2                	xor    %edx,%edx
140988e48:	4c 8d 4c 24 20       	lea    0x20(%rsp),%r9
140988e4d:	48 8b cb             	mov    %rbx,%rcx
140988e50:	4c 8d 42 ff          	lea    -0x1(%rdx),%r8
140988e54:	e8 d7 16 00 00       	call   0x14098a530
140988e59:	48 8b f0             	mov    %rax,%rsi
140988e5c:	48 85 c0             	test   %rax,%rax
140988e5f:	74 1f                	je     0x140988e80
140988e61:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
140988e66:	8b d5                	mov    %ebp,%edx
140988e68:	48 8b c8             	mov    %rax,%rcx
140988e6b:	e8 80 00 00 00       	call   0x140988ef0
140988e70:	48 8b d8             	mov    %rax,%rbx
140988e73:	48 85 c0             	test   %rax,%rax
140988e76:	75 50                	jne    0x140988ec8
140988e78:	48 8b ce             	mov    %rsi,%rcx
140988e7b:	e8 b0 17 00 00       	call   0x14098a630
140988e80:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140988e85:	e8 76 63 84 ff       	call   0x1401cf200
140988e8a:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140988e8f:	8b f0                	mov    %eax,%esi
140988e91:	e8 0a eb ff ff       	call   0x1409879a0
140988e96:	83 e8 01             	sub    $0x1,%eax
140988e99:	74 05                	je     0x140988ea0
140988e9b:	83 f8 02             	cmp    $0x2,%eax
140988e9e:	75 13                	jne    0x140988eb3
140988ea0:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140988ea5:	e8 66 af 82 ff       	call   0x1401b3e10
140988eaa:	8b d8                	mov    %eax,%ebx
140988eac:	e8 3f 14 4a 00       	call   0x140e2a2f0
140988eb1:	89 18                	mov    %ebx,(%rax)
140988eb3:	48 85 ff             	test   %rdi,%rdi
140988eb6:	74 02                	je     0x140988eba
140988eb8:	89 37                	mov    %esi,(%rdi)
140988eba:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140988ebf:	e8 3c ea ff ff       	call   0x140987900
140988ec4:	33 c0                	xor    %eax,%eax
140988ec6:	eb 0d                	jmp    0x140988ed5
140988ec8:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140988ecd:	e8 2e ea ff ff       	call   0x140987900
140988ed2:	48 8b c3             	mov    %rbx,%rax
140988ed5:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140988eda:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140988edf:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140988ee4:	48 83 c4 30          	add    $0x30,%rsp
140988ee8:	5f                   	pop    %rdi
140988ee9:	c3                   	ret
140988eea:	cc                   	int3
140988eeb:	cc                   	int3
140988eec:	cc                   	int3
140988eed:	cc                   	int3
140988eee:	cc                   	int3
140988eef:	cc                   	int3
140988ef0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140988ef5:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140988efa:	57                   	push   %rdi
140988efb:	48 83 ec 60          	sub    $0x60,%rsp
140988eff:	49 8b d8             	mov    %r8,%rbx
140988f02:	8b ea                	mov    %edx,%ebp
140988f04:	48 8b f9             	mov    %rcx,%rdi
140988f07:	85 d2                	test   %edx,%edx
140988f09:	0f 88 53 01 00 00    	js     0x140989062
140988f0f:	48 85 c9             	test   %rcx,%rcx
140988f12:	0f 84 4a 01 00 00    	je     0x140989062
140988f18:	e8 e3 11 82 ff       	call   0x1401aa100
140988f1d:	4c 8b c8             	mov    %rax,%r9
140988f20:	41 81 e1 ff 40 00 00 	and    $0x40ff,%r9d
140988f27:	49 81 f9 ff 40 00 00 	cmp    $0x40ff,%r9
140988f2e:	74 24                	je     0x140988f54
140988f30:	45 33 c0             	xor    %r8d,%r8d
140988f33:	48 8b cb             	mov    %rbx,%rcx
140988f36:	41 8d 50 1c          	lea    0x1c(%r8),%edx
140988f3a:	e8 51 ea ff ff       	call   0x140987990
140988f3f:	33 c0                	xor    %eax,%eax
140988f41:	48 8b 5c 24 78       	mov    0x78(%rsp),%rbx
140988f46:	48 8b ac 24 80 00 00 	mov    0x80(%rsp),%rbp
140988f4d:	00
140988f4e:	48 83 c4 60          	add    $0x60,%rsp
140988f52:	5f                   	pop    %rdi
140988f53:	c3                   	ret
140988f54:	48 89 74 24 70       	mov    %rsi,0x70(%rsp)
140988f59:	8b f5                	mov    %ebp,%esi
140988f5b:	83 ce 10             	or     $0x10,%esi
140988f5e:	66 3d ff ff          	cmp    $0xffff,%ax
140988f62:	0f 44 f5             	cmove  %ebp,%esi
140988f65:	8b c6                	mov    %esi,%eax
140988f67:	83 e0 18             	and    $0x18,%eax
140988f6a:	3c 18                	cmp    $0x18,%al