140080ba5:	41 57                	push   %r15
140080ba7:	48 8b ec             	mov    %rsp,%rbp
140080baa:	48 83 ec 40          	sub    $0x40,%rsp
140080bae:	48 8b 51 48          	mov    0x48(%rcx),%rdx
140080bb2:	4c 8d 4d 58          	lea    0x58(%rbp),%r9
140080bb6:	48 8b f1             	mov    %rcx,%rsi
140080bb9:	c6 45 f8 01          	movb   $0x1,-0x8(%rbp)
140080bbd:	33 db                	xor    %ebx,%ebx
140080bbf:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
140080bc3:	48 89 5d f0          	mov    %rbx,-0x10(%rbp)
140080bc7:	e8 70 11 00 00       	call   0x140081d3c
140080bcc:	44 8b c8             	mov    %eax,%r9d
140080bcf:	85 c0                	test   %eax,%eax
140080bd1:	79 43                	jns    0x140080c16
140080bd3:	48 8b 0d 26 e4 01 00 	mov    0x1e426(%rip),%rcx        # 0x14009f000
140080bda:	48 8d 05 1f e4 01 00 	lea    0x1e41f(%rip),%rax        # 0x14009f000
140080be1:	48 3b c8             	cmp    %rax,%rcx
140080be4:	0f 84 25 02 00 00    	je     0x140080e0f
140080bea:	f6 41 44 08          	testb  $0x8,0x44(%rcx)
140080bee:	0f 84 1b 02 00 00    	je     0x140080e0f
140080bf4:	80 79 41 02          	cmpb   $0x2,0x41(%rcx)
140080bf8:	0f 82 11 02 00 00    	jb     0x140080e0f
140080bfe:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140080c02:	8d 53 2d             	lea    0x2d(%rbx),%edx
140080c05:	4c 8d 05 7c 24 01 00 	lea    0x1247c(%rip),%r8        # 0x140093088
140080c0c:	e8 0b 6d fd ff       	call   0x14005791c
140080c11:	e9 f9 01 00 00       	jmp    0x140080e0f
140080c16:	4c 8b 7d 58          	mov    0x58(%rbp),%r15
140080c1a:	48 8b fb             	mov    %rbx,%rdi
140080c1d:	c7 45 48 04 00 00 00 	movl   $0x4,0x48(%rbp)
140080c24:	44 8b f3             	mov    %ebx,%r14d
140080c27:	89 5d 40             	mov    %ebx,0x40(%rbp)
140080c2a:	49 83 cc ff          	or     $0xffffffffffffffff,%r12
140080c2e:	48 8d 45 40          	lea    0x40(%rbp),%rax
140080c32:	45 33 c0             	xor    %r8d,%r8d
140080c35:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140080c3a:	4c 8d 4d 48          	lea    0x48(%rbp),%r9
140080c3e:	48 8d 15 db 22 01 00 	lea    0x122db(%rip),%rdx        # 0x140092f20
140080c45:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140080c4a:	49 8b cf             	mov    %r15,%rcx
140080c4d:	48 ff 15 9c 40 00 00 	rex.W call *0x409c(%rip)        # 0x140084cf0
140080c54:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140080c59:	85 c0                	test   %eax,%eax
140080c5b:	0f 85 09 01 00 00    	jne    0x140080d6a
140080c61:	8b 4d 48             	mov    0x48(%rbp),%ecx
140080c64:	8d 41 ff             	lea    -0x1(%rcx),%eax
140080c67:	83 f8 01             	cmp    $0x1,%eax
140080c6a:	76 09                	jbe    0x140080c75
140080c6c:	83 f9 07             	cmp    $0x7,%ecx
140080c6f:	0f 85 f5 00 00 00    	jne    0x140080d6a
140080c75:	48 85 ff             	test   %rdi,%rdi
140080c78:	75 32                	jne    0x140080cac
140080c7a:	8b 4d 40             	mov    0x40(%rbp),%ecx
140080c7d:	8d 47 02             	lea    0x2(%rdi),%eax
140080c80:	48 d1 e9             	shr    $1,%rcx
140080c83:	48 ff c1             	inc    %rcx
140080c86:	48 f7 e1             	mul    %rcx
140080c89:	49 0f 40 c4          	cmovo  %r12,%rax
140080c8d:	48 8b c8             	mov    %rax,%rcx
140080c90:	e8 3f 32 fb ff       	call   0x140033ed4
140080c95:	48 8b f8             	mov    %rax,%rdi
140080c98:	48 85 c0             	test   %rax,%rax
140080c9b:	0f 84 33 01 00 00    	je     0x140080dd4
140080ca1:	41 ff c6             	inc    %r14d
140080ca4:	41 83 fe 02          	cmp    $0x2,%r14d
140080ca8:	72 84                	jb     0x140080c2e
140080caa:	eb 0b                	jmp    0x140080cb7
140080cac:	8b 45 40             	mov    0x40(%rbp),%eax
140080caf:	48 d1 e8             	shr    $1,%rax
140080cb2:	66 89 5c 47 fe       	mov    %bx,-0x2(%rdi,%rax,2)
140080cb7:	83 7d 48 02          	cmpl   $0x2,0x48(%rbp)
140080cbb:	0f 85 b9 00 00 00    	jne    0x140080d7a
140080cc1:	45 33 c0             	xor    %r8d,%r8d
140080cc4:	33 d2                	xor    %edx,%edx
140080cc6:	48 8b cf             	mov    %rdi,%rcx
140080cc9:	48 ff 15 f8 3e 00 00 	rex.W call *0x3ef8(%rip)        # 0x140084bc8
140080cd0:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140080cd5:	44 8b f8             	mov    %eax,%r15d
140080cd8:	85 c0                	test   %eax,%eax
140080cda:	75 11                	jne    0x140080ced
140080cdc:	48 ff 15 8d 3d 00 00 	rex.W call *0x3d8d(%rip)        # 0x140084a70
140080ce3:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140080ce8:	44 8b f8             	mov    %eax,%r15d
140080ceb:	eb 78                	jmp    0x140080d65
140080ced:	b8 02 00 00 00       	mov    $0x2,%eax
140080cf2:	49 f7 e7             	mul    %r15
140080cf5:	49 0f 40 c4          	cmovo  %r12,%rax
140080cf9:	48 8b c8             	mov    %rax,%rcx
140080cfc:	e8 d3 31 fb ff       	call   0x140033ed4
140080d01:	4c 8b f0             	mov    %rax,%r14
140080d04:	48 85 c0             	test   %rax,%rax
140080d07:	74 61                	je     0x140080d6a
140080d09:	45 8b c7             	mov    %r15d,%r8d
140080d0c:	66 89 18             	mov    %bx,(%rax)
140080d0f:	48 8b d0             	mov    %rax,%rdx
140080d12:	48 8b cf             	mov    %rdi,%rcx
140080d15:	48 ff 15 ac 3e 00 00 	rex.W call *0x3eac(%rip)        # 0x140084bc8
140080d1c:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140080d21:	44 8b e0             	mov    %eax,%r12d
140080d24:	85 c0                	test   %eax,%eax
140080d26:	75 19                	jne    0x140080d41
140080d28:	48 ff 15 41 3d 00 00 	rex.W call *0x3d41(%rip)        # 0x140084a70
140080d2f:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140080d34:	49 8b ce             	mov    %r14,%rcx
140080d37:	44 8b f8             	mov    %eax,%r15d
140080d3a:	e8 c1 31 fb ff       	call   0x140033f00
140080d3f:	eb 24                	jmp    0x140080d65
140080d41:	45 3b e7             	cmp    %r15d,%r12d
140080d44:	76 0a                	jbe    0x140080d50
140080d46:	49 8b ce             	mov    %r14,%rcx
140080d49:	e8 b2 31 fb ff       	call   0x140033f00
140080d4e:	eb 1a                	jmp    0x140080d6a
140080d50:	48 8b cf             	mov    %rdi,%rcx
140080d53:	e8 a8 31 fb ff       	call   0x140033f00
140080d58:	43 8d 04 24          	lea    (%r12,%r12,1),%eax
140080d5c:	49 8b fe             	mov    %r14,%rdi
140080d5f:	89 45 40             	mov    %eax,0x40(%rbp)
140080d62:	44 8b fb             	mov    %ebx,%r15d
140080d65:	45 85 ff             	test   %r15d,%r15d
140080d68:	74 10                	je     0x140080d7a
140080d6a:	48 85 ff             	test   %rdi,%rdi
140080d6d:	74 65                	je     0x140080dd4
140080d6f:	48 8b cf             	mov    %rdi,%rcx
140080d72:	e8 89 31 fb ff       	call   0x140033f00
140080d77:	48 8b fb             	mov    %rbx,%rdi
140080d7a:	48 85 ff             	test   %rdi,%rdi
140080d7d:	74 55                	je     0x140080dd4
140080d7f:	33 d2                	xor    %edx,%edx
140080d81:	48 8b cf             	mov    %rdi,%rcx
140080d84:	e8 33 54 ff ff       	call   0x1400761bc
140080d89:	48 89 46 70          	mov    %rax,0x70(%rsi)
140080d8d:	48 85 c0             	test   %rax,%rax
140080d90:	74 38                	je     0x140080dca
140080d92:	8b 96 b4 00 00 00    	mov    0xb4(%rsi),%edx
140080d98:	48 8d 45 50          	lea    0x50(%rbp),%rax
140080d9c:	48 8b 4e 48          	mov    0x48(%rsi),%rcx
140080da0:	4c 8d 8e bc 00 00 00 	lea    0xbc(%rsi),%r9
140080da7:	4c 8d 86 b8 00 00 00 	lea    0xb8(%rsi),%r8
140080dae:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140080db3:	e8 a8 00 00 00       	call   0x140080e60
140080db8:	85 c0                	test   %eax,%eax
140080dba:	78 09                	js     0x140080dc5
140080dbc:	8b 45 50             	mov    0x50(%rbp),%eax
140080dbf:	89 86 b4 00 00 00    	mov    %eax,0xb4(%rsi)
140080dc5:	bb 01 00 00 00       	mov    $0x1,%ebx
140080dca:	48 8b cf             	mov    %rdi,%rcx
140080dcd:	e8 2e 31 fb ff       	call   0x140033f00
140080dd2:	eb 3b                	jmp    0x140080e0f
140080dd4:	48 8b 0d 25 e2 01 00 	mov    0x1e225(%rip),%rcx        # 0x14009f000
140080ddb:	48 8d 05 1e e2 01 00 	lea    0x1e21e(%rip),%rax        # 0x14009f000
140080de2:	48 3b c8             	cmp    %rax,%rcx
140080de5:	74 28                	je     0x140080e0f
140080de7:	f6 41 44 08          	testb  $0x8,0x44(%rcx)
140080deb:	74 22                	je     0x140080e0f
140080ded:	80 79 41 02          	cmpb   $0x2,0x41(%rcx)
140080df1:	72 1c                	jb     0x140080e0f
140080df3:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140080df7:	4c 8d 0d 22 21 01 00 	lea    0x12122(%rip),%r9        # 0x140092f20
140080dfe:	ba 2e 00 00 00       	mov    $0x2e,%edx
140080e03:	4c 8d 05 7e 22 01 00 	lea    0x1227e(%rip),%r8        # 0x140093088
140080e0a:	e8 01 6d fd ff       	call   0x140057b10
140080e0f:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
140080e13:	e8 e0 6f fa ff       	call   0x140027df8
140080e18:	8b c3                	mov    %ebx,%eax
140080e1a:	48 83 c4 40          	add    $0x40,%rsp
140080e1e:	41 5f                	pop    %r15
140080e20:	41 5e                	pop    %r14
140080e22:	41 5c                	pop    %r12
140080e24:	5f                   	pop    %rdi
140080e25:	5e                   	pop    %rsi
140080e26:	5b                   	pop    %rbx
140080e27:	5d                   	pop    %rbp
140080e28:	c3                   	ret
140080e29:	cc                   	int3
140080e2a:	cc                   	int3
140080e2b:	cc                   	int3
140080e2c:	cc                   	int3
140080e2d:	cc                   	int3
140080e2e:	cc                   	int3
140080e2f:	cc                   	int3
140080e30:	40 53                	rex push %rbx
140080e32:	48 83 ec 20          	sub    $0x20,%rsp
140080e36:	48 8b d9             	mov    %rcx,%rbx
140080e39:	48 8b 89 a8 00 00 00 	mov    0xa8(%rcx),%rcx
140080e40:	48 85 c9             	test   %rcx,%rcx
140080e43:	74 08                	je     0x140080e4d
140080e45:	48 8b d3             	mov    %rbx,%rdx
140080e48:	e8 13 02 00 00       	call   0x140081060
140080e4d:	c6 43 50 01          	movb   $0x1,0x50(%rbx)
140080e51:	48 83 c4 20          	add    $0x20,%rsp
140080e55:	5b                   	pop    %rbx
140080e56:	c3                   	ret
140080e57:	cc                   	int3
140080e58:	cc                   	int3
140080e59:	cc                   	int3
140080e5a:	cc                   	int3
140080e5b:	cc                   	int3
140080e5c:	cc                   	int3
140080e5d:	cc                   	int3
140080e5e:	cc                   	int3
140080e5f:	cc                   	int3
140080e60:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140080e65:	55                   	push   %rbp
140080e66:	56                   	push   %rsi
140080e67:	57                   	push   %rdi
140080e68:	41 56                	push   %r14
140080e6a:	41 57                	push   %r15
140080e6c:	48 8b ec             	mov    %rsp,%rbp
140080e6f:	48 83 ec 50          	sub    $0x50,%rsp
140080e73:	48 83 65 f0 00       	andq   $0x0,-0x10(%rbp)
140080e78:	8b f2                	mov    %edx,%esi
140080e7a:	48 83 65 e8 00       	andq   $0x0,-0x18(%rbp)
140080e7f:	48 8b d1             	mov    %rcx,%rdx
140080e82:	83 65 40 00          	andl   $0x0,0x40(%rbp)
140080e86:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
140080e8a:	83 65 38 00          	andl   $0x0,0x38(%rbp)
140080e8e:	4d 8b f9             	mov    %r9,%r15
140080e91:	4c 8d 4d e8          	lea    -0x18(%rbp),%r9
140080e95:	c6 45 f8 01          	movb   $0x1,-0x8(%rbp)
140080e99:	4d 8b f0             	mov    %r8,%r14
140080e9c:	e8 9b 0e 00 00       	call   0x140081d3c
140080ea1:	8b f8                	mov    %eax,%edi
140080ea3:	85 c0                	test   %eax,%eax
140080ea5:	79 48                	jns    0x140080eef
140080ea7:	48 8b 0d 52 e1 01 00 	mov    0x1e152(%rip),%rcx        # 0x14009f000
140080eae:	48 8d 1d 4b e1 01 00 	lea    0x1e14b(%rip),%rbx        # 0x14009f000
140080eb5:	48 3b cb             	cmp    %rbx,%rcx
140080eb8:	0f 84 64 01 00 00    	je     0x140081022
140080ebe:	f6 41 44 08          	testb  $0x8,0x44(%rcx)
140080ec2:	0f 84 5a 01 00 00    	je     0x140081022
140080ec8:	80 79 41 02          	cmpb   $0x2,0x41(%rcx)
140080ecc:	0f 82 50 01 00 00    	jb     0x140081022
140080ed2:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140080ed6:	4c 8d 05 ab 21 01 00 	lea    0x121ab(%rip),%r8        # 0x140093088
140080edd:	ba 32 00 00 00       	mov    $0x32,%edx
140080ee2:	44 8b c8             	mov    %eax,%r9d
140080ee5:	e8 32 6a fd ff       	call   0x14005791c
140080eea:	e9 33 01 00 00       	jmp    0x140081022
140080eef:	48 8b 4d e8          	mov    -0x18(%rbp),%rcx
140080ef3:	48 8d 45 48          	lea    0x48(%rbp),%rax
140080ef7:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140080efc:	4c 8d 4d e0          	lea    -0x20(%rbp),%r9
140080f00:	48 8d 45 40          	lea    0x40(%rbp),%rax
140080f04:	bf 04 00 00 00       	mov    $0x4,%edi
140080f09:	45 33 c0             	xor    %r8d,%r8d
140080f0c:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140080f11:	48 8d 15 b0 20 01 00 	lea    0x120b0(%rip),%rdx        # 0x140092fc8
140080f18:	89 7d 48             	mov    %edi,0x48(%rbp)
140080f1b:	48 ff 15 ce 3d 00 00 	rex.W call *0x3dce(%rip)        # 0x140084cf0
140080f22:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140080f27:	48 8d 1d d2 e0 01 00 	lea    0x1e0d2(%rip),%rbx        # 0x14009f000
140080f2e:	85 c0                	test   %eax,%eax
140080f30:	75 05                	jne    0x140080f37
140080f32:	39 7d e0             	cmp    %edi,-0x20(%rbp)
140080f35:	74 31                	je     0x140080f68
140080f37:	48 8b 0d c2 e0 01 00 	mov    0x1e0c2(%rip),%rcx        # 0x14009f000
140080f3e:	48 3b cb             	cmp    %rbx,%rcx
140080f41:	74 21                	je     0x140080f64
140080f43:	40 84 79 44          	test   %dil,0x44(%rcx)
140080f47:	74 1b                	je     0x140080f64
140080f49:	40 38 79 41          	cmp    %dil,0x41(%rcx)
140080f4d:	72 15                	jb     0x140080f64
140080f4f:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140080f53:	4c 8d 05 2e 21 01 00 	lea    0x1212e(%rip),%r8        # 0x140093088
140080f5a:	ba 33 00 00 00       	mov    $0x33,%edx
140080f5f:	e8 8c 69 fd ff       	call   0x1400578f0
140080f64:	83 65 40 00          	andl   $0x0,0x40(%rbp)
140080f68:	48 8b 4d e8          	mov    -0x18(%rbp),%rcx
140080f6c:	48 8d 45 48          	lea    0x48(%rbp),%rax
140080f70:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140080f75:	4c 8d 4d e0          	lea    -0x20(%rbp),%r9
140080f79:	48 8d 45 38          	lea    0x38(%rbp),%rax
140080f7d:	89 7d 48             	mov    %edi,0x48(%rbp)
140080f80:	45 33 c0             	xor    %r8d,%r8d
140080f83:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140080f88:	48 8d 15 71 20 01 00 	lea    0x12071(%rip),%rdx        # 0x140093000
140080f8f:	48 ff 15 5a 3d 00 00 	rex.W call *0x3d5a(%rip)        # 0x140084cf0
140080f96:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140080f9b:	85 c0                	test   %eax,%eax
140080f9d:	75 0e                	jne    0x140080fad
140080f9f:	39 7d e0             	cmp    %edi,-0x20(%rbp)
140080fa2:	75 09                	jne    0x140080fad
140080fa4:	48 8b 0d 55 e0 01 00 	mov    0x1e055(%rip),%rcx        # 0x14009f000
140080fab:	eb 38                	jmp    0x140080fe5
140080fad:	48 8b 0d 4c e0 01 00 	mov    0x1e04c(%rip),%rcx        # 0x14009f000
140080fb4:	48 3b cb             	cmp    %rbx,%rcx
140080fb7:	74 28                	je     0x140080fe1
140080fb9:	40 84 79 44          	test   %dil,0x44(%rcx)
140080fbd:	74 22                	je     0x140080fe1
140080fbf:	40 38 79 41          	cmp    %dil,0x41(%rcx)
140080fc3:	72 1c                	jb     0x140080fe1
140080fc5:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140080fc9:	4c 8d 05 b8 20 01 00 	lea    0x120b8(%rip),%r8        # 0x140093088
140080fd0:	ba 34 00 00 00       	mov    $0x34,%edx
140080fd5:	e8 16 69 fd ff       	call   0x1400578f0
140080fda:	48 8b 0d 1f e0 01 00 	mov    0x1e01f(%rip),%rcx        # 0x14009f000
140080fe1:	83 65 38 00          	andl   $0x0,0x38(%rbp)
140080fe5:	83 7d 40 00          	cmpl   $0x0,0x40(%rbp)
140080fe9:	75 06                	jne    0x140080ff1
140080feb:	83 7d 38 00          	cmpl   $0x0,0x38(%rbp)
140080fef:	74 29                	je     0x14008101a
140080ff1:	48 3b cb             	cmp    %rbx,%rcx
140080ff4:	74 21                	je     0x140081017
140080ff6:	40 84 79 44          	test   %dil,0x44(%rcx)
140080ffa:	74 1b                	je     0x140081017
140080ffc:	80 79 41 03          	cmpb   $0x3,0x41(%rcx)
140081000:	72 15                	jb     0x140081017
140081002:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140081006:	4c 8d 05 7b 20 01 00 	lea    0x1207b(%rip),%r8        # 0x140093088
14008100d:	ba 35 00 00 00       	mov    $0x35,%edx
140081012:	e8 d9 68 fd ff       	call   0x1400578f0
140081017:	83 ce ff             	or     $0xffffffff,%esi
14008101a:	48 8b 45 50          	mov    0x50(%rbp),%rax
14008101e:	33 ff                	xor    %edi,%edi
140081020:	89 30                	mov    %esi,(%rax)
140081022:	4d 85 ff             	test   %r15,%r15
140081025:	74 06                	je     0x14008102d
140081027:	8b 45 38             	mov    0x38(%rbp),%eax
14008102a:	41 89 07             	mov    %eax,(%r15)
14008102d:	4d 85 f6             	test   %r14,%r14
140081030:	74 06                	je     0x140081038
140081032:	8b 45 40             	mov    0x40(%rbp),%eax
140081035:	41 89 06             	mov    %eax,(%r14)
140081038:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
14008103c:	e8 b7 6d fa ff       	call   0x140027df8
140081041:	48 8b 9c 24 80 00 00 	mov    0x80(%rsp),%rbx
140081048:	00
140081049:	8b c7                	mov    %edi,%eax
14008104b:	48 83 c4 50          	add    $0x50,%rsp
14008104f:	41 5f                	pop    %r15
140081051:	41 5e                	pop    %r14
140081053:	5f                   	pop    %rdi
140081054:	5e                   	pop    %rsi
140081055:	5d                   	pop    %rbp
140081056:	c3                   	ret
140081057:	cc                   	int3
140081058:	cc                   	int3
140081059:	cc                   	int3
14008105a:	cc                   	int3
14008105b:	cc                   	int3
14008105c:	cc                   	int3
14008105d:	cc                   	int3
14008105e:	cc                   	int3
14008105f:	cc                   	int3
140081060:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140081065:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14008106a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14008106f:	57                   	push   %rdi
140081070:	48 83 ec 50          	sub    $0x50,%rsp
140081074:	48 8b f1             	mov    %rcx,%rsi