1407f8b8a:	ff c8                	dec    %eax
1407f8b8c:	89 41 10             	mov    %eax,0x10(%rcx)
1407f8b8f:	85 c0                	test   %eax,%eax
1407f8b91:	7f 14                	jg     0x1407f8ba7
1407f8b93:	78 2e                	js     0x1407f8bc3
1407f8b95:	48 8b 01             	mov    (%rcx),%rax
1407f8b98:	ba 01 00 00 00       	mov    $0x1,%edx
1407f8b9d:	48 8b 00             	mov    (%rax),%rax
1407f8ba0:	ff 15 7a ae 78 00    	call   *0x78ae7a(%rip)        # 0x140f83a20
1407f8ba6:	90                   	nop
1407f8ba7:	48 8b 4c 24 78       	mov    0x78(%rsp),%rcx
1407f8bac:	48 33 cc             	xor    %rsp,%rcx
1407f8baf:	e8 4c 29 62 00       	call   0x140e1b500
1407f8bb4:	48 81 c4 80 00 00 00 	add    $0x80,%rsp
1407f8bbb:	41 5f                	pop    %r15
1407f8bbd:	41 5e                	pop    %r14
1407f8bbf:	5f                   	pop    %rdi
1407f8bc0:	5e                   	pop    %rsi
1407f8bc1:	5b                   	pop    %rbx
1407f8bc2:	c3                   	ret
1407f8bc3:	b9 02 00 00 00       	mov    $0x2,%ecx
1407f8bc8:	e8 33 1b f9 ff       	call   0x14078a700
1407f8bcd:	90                   	nop
1407f8bce:	48 8b d3             	mov    %rbx,%rdx
1407f8bd1:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
1407f8bd6:	e8 35 ef 99 ff       	call   0x140197b10
1407f8bdb:	90                   	nop
1407f8bdc:	48 8d 54 24 58       	lea    0x58(%rsp),%rdx
1407f8be1:	48 8b cf             	mov    %rdi,%rcx
1407f8be4:	e8 c7 94 00 00       	call   0x1408020b0
1407f8be9:	90                   	nop
1407f8bea:	b9 02 00 00 00       	mov    $0x2,%ecx
1407f8bef:	e8 0c 1b f9 ff       	call   0x14078a700
1407f8bf4:	90                   	nop
1407f8bf5:	b9 02 00 00 00       	mov    $0x2,%ecx
1407f8bfa:	e8 01 1b f9 ff       	call   0x14078a700
1407f8bff:	cc                   	int3
1407f8c00:	48 83 ec 28          	sub    $0x28,%rsp
1407f8c04:	48 8b 41 20          	mov    0x20(%rcx),%rax
1407f8c08:	48 85 c0             	test   %rax,%rax
1407f8c0b:	74 06                	je     0x1407f8c13
1407f8c0d:	83 78 18 16          	cmpl   $0x16,0x18(%rax)
1407f8c11:	74 21                	je     0x1407f8c34
1407f8c13:	48 8b 41 38          	mov    0x38(%rcx),%rax
1407f8c17:	48 8b 48 20          	mov    0x20(%rax),%rcx
1407f8c1b:	83 79 18 0e          	cmpl   $0xe,0x18(%rcx)
1407f8c1f:	75 1a                	jne    0x1407f8c3b
1407f8c21:	48 8b 01             	mov    (%rcx),%rax
1407f8c24:	48 8b 40 40          	mov    0x40(%rax),%rax
1407f8c28:	ff 15 f2 ad 78 00    	call   *0x78adf2(%rip)        # 0x140f83a20
1407f8c2e:	48 83 38 00          	cmpq   $0x0,(%rax)
1407f8c32:	75 07                	jne    0x1407f8c3b
1407f8c34:	b0 01                	mov    $0x1,%al
1407f8c36:	48 83 c4 28          	add    $0x28,%rsp
1407f8c3a:	c3                   	ret
1407f8c3b:	32 c0                	xor    %al,%al
1407f8c3d:	48 83 c4 28          	add    $0x28,%rsp
1407f8c41:	c3                   	ret
1407f8c42:	cc                   	int3
1407f8c43:	cc                   	int3
1407f8c44:	cc                   	int3
1407f8c45:	cc                   	int3
1407f8c46:	cc                   	int3
1407f8c47:	cc                   	int3
1407f8c48:	cc                   	int3
1407f8c49:	cc                   	int3
1407f8c4a:	cc                   	int3
1407f8c4b:	cc                   	int3
1407f8c4c:	cc                   	int3
1407f8c4d:	cc                   	int3
1407f8c4e:	cc                   	int3
1407f8c4f:	cc                   	int3
1407f8c50:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1407f8c55:	57                   	push   %rdi
1407f8c56:	48 83 ec 20          	sub    $0x20,%rsp
1407f8c5a:	48 8b 41 48          	mov    0x48(%rcx),%rax
1407f8c5e:	48 8d 1d 13 c4 ba 00 	lea    0xbac413(%rip),%rbx        # 0x1413a5078
1407f8c65:	48 8b f9             	mov    %rcx,%rdi
1407f8c68:	48 8b 48 08          	mov    0x8(%rax),%rcx
1407f8c6c:	48 85 c9             	test   %rcx,%rcx
1407f8c6f:	74 0c                	je     0x1407f8c7d
1407f8c71:	ba 01 00 00 00       	mov    $0x1,%edx
1407f8c76:	e8 65 e2 03 00       	call   0x140836ee0
1407f8c7b:	eb 03                	jmp    0x1407f8c80
1407f8c7d:	48 8b c3             	mov    %rbx,%rax
1407f8c80:	48 83 38 00          	cmpq   $0x0,(%rax)
1407f8c84:	75 2a                	jne    0x1407f8cb0
1407f8c86:	48 8b 47 48          	mov    0x48(%rdi),%rax
1407f8c8a:	48 8b 48 08          	mov    0x8(%rax),%rcx
1407f8c8e:	48 85 c9             	test   %rcx,%rcx
1407f8c91:	74 0a                	je     0x1407f8c9d
1407f8c93:	33 d2                	xor    %edx,%edx
1407f8c95:	e8 46 e2 03 00       	call   0x140836ee0
1407f8c9a:	48 8b d8             	mov    %rax,%rbx
1407f8c9d:	48 83 3b 00          	cmpq   $0x0,(%rbx)
1407f8ca1:	75 0d                	jne    0x1407f8cb0
1407f8ca3:	32 c0                	xor    %al,%al
1407f8ca5:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1407f8caa:	48 83 c4 20          	add    $0x20,%rsp
1407f8cae:	5f                   	pop    %rdi
1407f8caf:	c3                   	ret
1407f8cb0:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1407f8cb5:	b0 01                	mov    $0x1,%al
1407f8cb7:	48 83 c4 20          	add    $0x20,%rsp
1407f8cbb:	5f                   	pop    %rdi
1407f8cbc:	c3                   	ret
1407f8cbd:	cc                   	int3
1407f8cbe:	cc                   	int3
1407f8cbf:	cc                   	int3
1407f8cc0:	48 8b 41 20          	mov    0x20(%rcx),%rax
1407f8cc4:	48 85 c0             	test   %rax,%rax
1407f8cc7:	74 09                	je     0x1407f8cd2
1407f8cc9:	83 78 18 16          	cmpl   $0x16,0x18(%rax)
1407f8ccd:	75 03                	jne    0x1407f8cd2
1407f8ccf:	b0 01                	mov    $0x1,%al
1407f8cd1:	c3                   	ret
1407f8cd2:	48 8b 41 38          	mov    0x38(%rcx),%rax
1407f8cd6:	48 8b 48 20          	mov    0x20(%rax),%rcx
1407f8cda:	83 79 18 0e          	cmpl   $0xe,0x18(%rcx)
1407f8cde:	0f 94 c0             	sete   %al
1407f8ce1:	c3                   	ret
1407f8ce2:	cc                   	int3
1407f8ce3:	cc                   	int3
1407f8ce4:	cc                   	int3
1407f8ce5:	cc                   	int3
1407f8ce6:	cc                   	int3
1407f8ce7:	cc                   	int3
1407f8ce8:	cc                   	int3
1407f8ce9:	cc                   	int3
1407f8cea:	cc                   	int3
1407f8ceb:	cc                   	int3
1407f8cec:	cc                   	int3
1407f8ced:	cc                   	int3
1407f8cee:	cc                   	int3
1407f8cef:	cc                   	int3
1407f8cf0:	40 53                	rex push %rbx
1407f8cf2:	48 83 ec 20          	sub    $0x20,%rsp
1407f8cf6:	48 8b d9             	mov    %rcx,%rbx
1407f8cf9:	48 8b 49 40          	mov    0x40(%rcx),%rcx
1407f8cfd:	48 8b 53 38          	mov    0x38(%rbx),%rdx
1407f8d01:	44 8b 41 18          	mov    0x18(%rcx),%r8d
1407f8d05:	44 3b 42 18          	cmp    0x18(%rdx),%r8d
1407f8d09:	7f 33                	jg     0x1407f8d3e
1407f8d0b:	48 8b 42 20          	mov    0x20(%rdx),%rax
1407f8d0f:	83 78 18 06          	cmpl   $0x6,0x18(%rax)
1407f8d13:	75 0a                	jne    0x1407f8d1f
1407f8d15:	48 8b 41 20          	mov    0x20(%rcx),%rax
1407f8d19:	83 78 18 05          	cmpl   $0x5,0x18(%rax)
1407f8d1d:	74 1f                	je     0x1407f8d3e
1407f8d1f:	41 83 f8 01          	cmp    $0x1,%r8d
1407f8d23:	75 25                	jne    0x1407f8d4a
1407f8d25:	e8 36 63 f6 ff       	call   0x14075f060
1407f8d2a:	48 8b 48 18          	mov    0x18(%rax),%rcx
1407f8d2e:	83 79 18 13          	cmpl   $0x13,0x18(%rcx)
1407f8d32:	74 16                	je     0x1407f8d4a
1407f8d34:	48 8b 53 38          	mov    0x38(%rbx),%rdx
1407f8d38:	83 7a 18 01          	cmpl   $0x1,0x18(%rdx)
1407f8d3c:	74 0c                	je     0x1407f8d4a
1407f8d3e:	48 8b 43 40          	mov    0x40(%rbx),%rax
1407f8d42:	48 89 43 38          	mov    %rax,0x38(%rbx)
1407f8d46:	48 89 53 40          	mov    %rdx,0x40(%rbx)
1407f8d4a:	48 83 c4 20          	add    $0x20,%rsp
1407f8d4e:	5b                   	pop    %rbx
1407f8d4f:	c3                   	ret
1407f8d50:	48 8b 51 40          	mov    0x40(%rcx),%rdx
1407f8d54:	48 8b 42 20          	mov    0x20(%rdx),%rax
1407f8d58:	83 78 18 08          	cmpl   $0x8,0x18(%rax)
1407f8d5c:	75 0d                	jne    0x1407f8d6b
1407f8d5e:	48 8b 41 38          	mov    0x38(%rcx),%rax
1407f8d62:	48 89 41 40          	mov    %rax,0x40(%rcx)
1407f8d66:	48 89 51 38          	mov    %rdx,0x38(%rcx)
1407f8d6a:	c3                   	ret
1407f8d6b:	4c 8b 41 38          	mov    0x38(%rcx),%r8
1407f8d6f:	49 8b 40 20          	mov    0x20(%r8),%rax
1407f8d73:	83 78 18 08          	cmpl   $0x8,0x18(%rax)
1407f8d77:	74 11                	je     0x1407f8d8a
1407f8d79:	41 8b 40 18          	mov    0x18(%r8),%eax
1407f8d7d:	39 42 18             	cmp    %eax,0x18(%rdx)
1407f8d80:	7e 08                	jle    0x1407f8d8a
1407f8d82:	48 89 51 38          	mov    %rdx,0x38(%rcx)
1407f8d86:	4c 89 41 40          	mov    %r8,0x40(%rcx)
1407f8d8a:	c3                   	ret
1407f8d8b:	cc                   	int3
1407f8d8c:	cc                   	int3
1407f8d8d:	cc                   	int3
1407f8d8e:	cc                   	int3
1407f8d8f:	cc                   	int3
1407f8d90:	8b 41 18             	mov    0x18(%rcx),%eax
1407f8d93:	4c 8b c1             	mov    %rcx,%r8
1407f8d96:	83 f8 1c             	cmp    $0x1c,%eax
1407f8d99:	75 18                	jne    0x1407f8db3
1407f8d9b:	48 8b 51 38          	mov    0x38(%rcx),%rdx
1407f8d9f:	48 8b 41 40          	mov    0x40(%rcx),%rax
1407f8da3:	48 89 41 38          	mov    %rax,0x38(%rcx)
1407f8da7:	48 89 51 40          	mov    %rdx,0x40(%rcx)
1407f8dab:	c7 41 18 17 00 00 00 	movl   $0x17,0x18(%rcx)
1407f8db2:	c3                   	ret
1407f8db3:	83 f8 1b             	cmp    $0x1b,%eax
1407f8db6:	75 18                	jne    0x1407f8dd0
1407f8db8:	48 8b 49 38          	mov    0x38(%rcx),%rcx
1407f8dbc:	49 8b 40 40          	mov    0x40(%r8),%rax
1407f8dc0:	49 89 40 38          	mov    %rax,0x38(%r8)
1407f8dc4:	49 89 48 40          	mov    %rcx,0x40(%r8)
1407f8dc8:	41 c7 40 18 18 00 00 	movl   $0x18,0x18(%r8)
1407f8dcf:	00
1407f8dd0:	c3                   	ret
1407f8dd1:	cc                   	int3
1407f8dd2:	cc                   	int3
1407f8dd3:	cc                   	int3
1407f8dd4:	cc                   	int3
1407f8dd5:	cc                   	int3
1407f8dd6:	cc                   	int3
1407f8dd7:	cc                   	int3
1407f8dd8:	cc                   	int3
1407f8dd9:	cc                   	int3
1407f8dda:	cc                   	int3
1407f8ddb:	cc                   	int3
1407f8ddc:	cc                   	int3
1407f8ddd:	cc                   	int3
1407f8dde:	cc                   	int3
1407f8ddf:	cc                   	int3
1407f8de0:	40 53                	rex push %rbx
1407f8de2:	48 83 ec 20          	sub    $0x20,%rsp
1407f8de6:	48 8b d9             	mov    %rcx,%rbx
1407f8de9:	48 8b 49 40          	mov    0x40(%rcx),%rcx
1407f8ded:	48 8b 53 38          	mov    0x38(%rbx),%rdx
1407f8df1:	44 8b 41 18          	mov    0x18(%rcx),%r8d
1407f8df5:	44 3b 42 18          	cmp    0x18(%rdx),%r8d
1407f8df9:	7f 29                	jg     0x1407f8e24
1407f8dfb:	48 8b 41 20          	mov    0x20(%rcx),%rax
1407f8dff:	83 78 18 06          	cmpl   $0x6,0x18(%rax)
1407f8e03:	74 1f                	je     0x1407f8e24
1407f8e05:	41 83 f8 01          	cmp    $0x1,%r8d
1407f8e09:	75 25                	jne    0x1407f8e30
1407f8e0b:	e8 50 62 f6 ff       	call   0x14075f060
1407f8e10:	48 8b 48 18          	mov    0x18(%rax),%rcx
1407f8e14:	83 79 18 13          	cmpl   $0x13,0x18(%rcx)
1407f8e18:	74 16                	je     0x1407f8e30
1407f8e1a:	48 8b 53 38          	mov    0x38(%rbx),%rdx
1407f8e1e:	83 7a 18 01          	cmpl   $0x1,0x18(%rdx)
1407f8e22:	74 0c                	je     0x1407f8e30
1407f8e24:	48 8b 43 40          	mov    0x40(%rbx),%rax
1407f8e28:	48 89 43 38          	mov    %rax,0x38(%rbx)
1407f8e2c:	48 89 53 40          	mov    %rdx,0x40(%rbx)
1407f8e30:	48 83 c4 20          	add    $0x20,%rsp
1407f8e34:	5b                   	pop    %rbx
1407f8e35:	c3                   	ret
1407f8e36:	cc                   	int3
1407f8e37:	cc                   	int3
1407f8e38:	cc                   	int3
1407f8e39:	cc                   	int3
1407f8e3a:	cc                   	int3
1407f8e3b:	cc                   	int3
1407f8e3c:	cc                   	int3
1407f8e3d:	cc                   	int3
1407f8e3e:	cc                   	int3
1407f8e3f:	cc                   	int3
1407f8e40:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1407f8e45:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
1407f8e4a:	55                   	push   %rbp
1407f8e4b:	56                   	push   %rsi
1407f8e4c:	57                   	push   %rdi
1407f8e4d:	41 54                	push   %r12
1407f8e4f:	41 55                	push   %r13
1407f8e51:	41 56                	push   %r14
1407f8e53:	41 57                	push   %r15
1407f8e55:	48 8d 6c 24 d9       	lea    -0x27(%rsp),%rbp
1407f8e5a:	48 81 ec 90 00 00 00 	sub    $0x90,%rsp
1407f8e61:	48 8b fa             	mov    %rdx,%rdi
1407f8e64:	4c 8b e9             	mov    %rcx,%r13
1407f8e67:	48 8b 49 20          	mov    0x20(%rcx),%rcx
1407f8e6b:	e8 30 16 f5 ff       	call   0x14074a4a0
1407f8e70:	48 8b d8             	mov    %rax,%rbx
1407f8e73:	48 89 45 77          	mov    %rax,0x77(%rbp)
1407f8e77:	48 8d 05 f2 41 84 00 	lea    0x8441f2(%rip),%rax        # 0x14103d070
1407f8e7e:	4c 8d 05 ff 41 84 00 	lea    0x8441ff(%rip),%r8        # 0x14103d084
1407f8e85:	48 83 3f 00          	cmpq   $0x0,(%rdi)
1407f8e89:	4c 0f 45 c0          	cmovne %rax,%r8
1407f8e8d:	4c 89 45 67          	mov    %r8,0x67(%rbp)
1407f8e91:	80 bb 90 00 00 00 00 	cmpb   $0x0,0x90(%rbx)
1407f8e98:	75 5d                	jne    0x1407f8ef7
1407f8e9a:	41 8b 55 54          	mov    0x54(%r13),%edx
1407f8e9e:	85 d2                	test   %edx,%edx
1407f8ea0:	74 48                	je     0x1407f8eea
1407f8ea2:	49 8b 45 48          	mov    0x48(%r13),%rax
1407f8ea6:	48 8b 08             	mov    (%rax),%rcx
1407f8ea9:	48 8b 41 28          	mov    0x28(%rcx),%rax
1407f8ead:	48 8d 0d d8 41 84 00 	lea    0x8441d8(%rip),%rcx        # 0x14103d08c
1407f8eb4:	4c 8d 0d d1 a8 7a 00 	lea    0x7aa8d1(%rip),%r9        # 0x140fa378c
1407f8ebb:	83 fa 01             	cmp    $0x1,%edx
1407f8ebe:	4c 0f 47 c9          	cmova  %rcx,%r9
1407f8ec2:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1407f8ec7:	48 8d 15 ca 41 84 00 	lea    0x8441ca(%rip),%rdx        # 0x14103d098
1407f8ece:	48 8b 0d 23 86 c3 00 	mov    0xc38623(%rip),%rcx        # 0x1414314f8
1407f8ed5:	e8 e6 a6 f9 ff       	call   0x1407935c0
1407f8eda:	90                   	nop
1407f8edb:	48 8b cf             	mov    %rdi,%rcx
1407f8ede:	e8 0d 56 9a ff       	call   0x14019e4f0
1407f8ee3:	32 c0                	xor    %al,%al
1407f8ee5:	e9 ba 05 00 00       	jmp    0x1407f94a4
1407f8eea:	48 8b cf             	mov    %rdi,%rcx
1407f8eed:	e8 fe 55 9a ff       	call   0x14019e4f0
1407f8ef2:	e9 ab 05 00 00       	jmp    0x1407f94a2
1407f8ef7:	33 f6                	xor    %esi,%esi
1407f8ef9:	48 89 75 c7          	mov    %rsi,-0x39(%rbp)
1407f8efd:	48 89 75 cf          	mov    %rsi,-0x31(%rbp)
1407f8f01:	b9 28 00 00 00       	mov    $0x28,%ecx
1407f8f06:	e8 fd 21 62 00       	call   0x140e1b108
1407f8f0b:	48 89 00             	mov    %rax,(%rax)
1407f8f0e:	48 89 40 08          	mov    %rax,0x8(%rax)
1407f8f12:	48 89 40 10          	mov    %rax,0x10(%rax)
1407f8f16:	66 c7 40 18 01 01    	movw   $0x101,0x18(%rax)
1407f8f1c:	48 89 45 c7          	mov    %rax,-0x39(%rbp)
1407f8f20:	48 89 75 d7          	mov    %rsi,-0x29(%rbp)
1407f8f24:	48 89 75 df          	mov    %rsi,-0x21(%rbp)
1407f8f28:	b9 28 00 00 00       	mov    $0x28,%ecx
1407f8f2d:	e8 d6 21 62 00       	call   0x140e1b108
1407f8f32:	48 8b f0             	mov    %rax,%rsi
1407f8f35:	48 89 00             	mov    %rax,(%rax)
1407f8f38:	48 89 40 08          	mov    %rax,0x8(%rax)
1407f8f3c:	48 89 40 10          	mov    %rax,0x10(%rax)
1407f8f40:	66 c7 40 18 01 01    	movw   $0x101,0x18(%rax)
1407f8f46:	48 89 45 d7          	mov    %rax,-0x29(%rbp)
1407f8f4a:	4c 8b 73 78          	mov    0x78(%rbx),%r14
1407f8f4e:	4c 8b a3 80 00 00 00 	mov    0x80(%rbx),%r12
1407f8f55:	4c 8b 7d c7          	mov    -0x39(%rbp),%r15
1407f8f59:	4d 3b f4             	cmp    %r12,%r14
1407f8f5c:	0f 84 e9 01 00 00    	je     0x1407f914b
1407f8f62:	49 b8 66 66 66 66 66 	movabs $0x666666666666666,%r8
1407f8f69:	66 66 06
1407f8f6c:	49 8b 3e             	mov    (%r14),%rdi
1407f8f6f:	48 85 ff             	test   %rdi,%rdi
1407f8f72:	0f 84 be 01 00 00    	je     0x1407f9136
1407f8f78:	48 8b 46 08          	mov    0x8(%rsi),%rax
1407f8f7c:	48 8b ce             	mov    %rsi,%rcx
1407f8f7f:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
1407f8f83:	75 18                	jne    0x1407f8f9d
1407f8f85:	48 39 78 20          	cmp    %rdi,0x20(%rax)
1407f8f89:	73 06                	jae    0x1407f8f91
1407f8f8b:	48 8b 40 10          	mov    0x10(%rax),%rax
1407f8f8f:	eb 06                	jmp    0x1407f8f97
1407f8f91:	48 8b c8             	mov    %rax,%rcx
1407f8f94:	48 8b 00             	mov    (%rax),%rax
1407f8f97:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
1407f8f9b:	74 e8                	je     0x1407f8f85
1407f8f9d:	80 79 19 00          	cmpb   $0x0,0x19(%rcx)
1407f8fa1:	75 0a                	jne    0x1407f8fad
1407f8fa3:	48 3b 79 20          	cmp    0x20(%rcx),%rdi
1407f8fa7:	0f 83 e8 01 00 00    	jae    0x1407f9195
1407f8fad:	49 8b 4d 48          	mov    0x48(%r13),%rcx