140e39a9f:	e8 cc dc ff ff       	call   0x140e37770
140e39aa4:	eb 2a                	jmp    0x140e39ad0
140e39aa6:	85 c0                	test   %eax,%eax
140e39aa8:	48 8b 54 24 60       	mov    0x60(%rsp),%rdx
140e39aad:	41 0f 95 c1          	setne  %r9b
140e39ab1:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140e39ab6:	8b d1                	mov    %ecx,%edx
140e39ab8:	48 8b 44 24 58       	mov    0x58(%rsp),%rax
140e39abd:	48 8d 8d 30 03 00 00 	lea    0x330(%rbp),%rcx
140e39ac4:	44 8a 80 08 03 00 00 	mov    0x308(%rax),%r8b
140e39acb:	e8 4c e0 ff ff       	call   0x140e37b1c
140e39ad0:	48 8b 8d 70 0a 00 00 	mov    0xa70(%rbp),%rcx
140e39ad7:	48 33 cc             	xor    %rsp,%rcx
140e39ada:	e8 21 1a fe ff       	call   0x140e1b500
140e39adf:	48 8b 9c 24 d0 0b 00 	mov    0xbd0(%rsp),%rbx
140e39ae6:	00
140e39ae7:	48 81 c4 80 0b 00 00 	add    $0xb80,%rsp
140e39aee:	41 5f                	pop    %r15
140e39af0:	41 5e                	pop    %r14
140e39af2:	41 5d                	pop    %r13
140e39af4:	41 5c                	pop    %r12
140e39af6:	5f                   	pop    %rdi
140e39af7:	5e                   	pop    %rsi
140e39af8:	5d                   	pop    %rbp
140e39af9:	c3                   	ret
140e39afa:	cc                   	int3
140e39afb:	cc                   	int3
140e39afc:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140e39b01:	57                   	push   %rdi
140e39b02:	48 83 ec 30          	sub    $0x30,%rsp
140e39b06:	44 8a 4a 08          	mov    0x8(%rdx),%r9b
140e39b0a:	48 8b d9             	mov    %rcx,%rbx
140e39b0d:	41 8a c1             	mov    %r9b,%al
140e39b10:	33 c9                	xor    %ecx,%ecx
140e39b12:	f6 d8                	neg    %al
140e39b14:	48 8b fa             	mov    %rdx,%rdi
140e39b17:	8b 43 04             	mov    0x4(%rbx),%eax
140e39b1a:	4c 8d 5b 08          	lea    0x8(%rbx),%r11
140e39b1e:	45 1b d2             	sbb    %r10d,%r10d
140e39b21:	4c 8d 43 08          	lea    0x8(%rbx),%r8
140e39b25:	41 83 e2 1d          	and    $0x1d,%r10d
140e39b29:	4c 03 d8             	add    %rax,%r11
140e39b2c:	41 83 c2 17          	add    $0x17,%r10d
140e39b30:	44 03 13             	add    (%rbx),%r10d
140e39b33:	4d 3b c3             	cmp    %r11,%r8
140e39b36:	74 36                	je     0x140e39b6e
140e39b38:	41 f6 d9             	neg    %r9b
140e39b3b:	48 b8 00 00 00 ff ff 	movabs $0x1fffffff000000,%rax
140e39b42:	ff 1f 00
140e39b45:	48 1b d2             	sbb    %rdx,%rdx
140e39b48:	48 23 d0             	and    %rax,%rdx
140e39b4b:	48 81 c2 ff ff ff 00 	add    $0xffffff,%rdx
140e39b52:	48 3b ca             	cmp    %rdx,%rcx
140e39b55:	77 17                	ja     0x140e39b6e
140e39b57:	41 0f b6 00          	movzbl (%r8),%eax
140e39b5b:	41 83 ea 04          	sub    $0x4,%r10d
140e39b5f:	48 c1 e1 04          	shl    $0x4,%rcx
140e39b63:	49 ff c0             	inc    %r8
140e39b66:	48 03 c8             	add    %rax,%rcx
140e39b69:	4d 3b c3             	cmp    %r11,%r8
140e39b6c:	75 e4                	jne    0x140e39b52
140e39b6e:	41 b1 01             	mov    $0x1,%r9b
140e39b71:	eb 11                	jmp    0x140e39b84
140e39b73:	45 84 c9             	test   %r9b,%r9b
140e39b76:	74 11                	je     0x140e39b89
140e39b78:	41 8a 00             	mov    (%r8),%al
140e39b7b:	49 ff c0             	inc    %r8
140e39b7e:	84 c0                	test   %al,%al
140e39b80:	41 0f 94 c1          	sete   %r9b
140e39b84:	4d 3b c3             	cmp    %r11,%r8
140e39b87:	75 ea                	jne    0x140e39b73
140e39b89:	44 8a 83 08 03 00 00 	mov    0x308(%rbx),%r8b
140e39b90:	41 8b d2             	mov    %r10d,%edx
140e39b93:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140e39b98:	e8 d3 db ff ff       	call   0x140e37770
140e39b9d:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
140e39ba2:	48 83 c4 30          	add    $0x30,%rsp
140e39ba6:	5f                   	pop    %rdi
140e39ba7:	c3                   	ret
140e39ba8:	cc                   	int3
140e39ba9:	cc                   	int3
140e39baa:	cc                   	int3
140e39bab:	cc                   	int3
140e39bac:	cc                   	int3
140e39bad:	cc                   	int3
140e39bae:	cc                   	int3
140e39baf:	cc                   	int3
140e39bb0:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140e39bb5:	53                   	push   %rbx
140e39bb6:	55                   	push   %rbp
140e39bb7:	56                   	push   %rsi
140e39bb8:	57                   	push   %rdi
140e39bb9:	41 54                	push   %r12
140e39bbb:	41 56                	push   %r14
140e39bbd:	41 57                	push   %r15
140e39bbf:	48 81 ec 20 02 00 00 	sub    $0x220,%rsp
140e39bc6:	44 8b 11             	mov    (%rcx),%r10d
140e39bc9:	4c 8b fa             	mov    %rdx,%r15
140e39bcc:	48 8b f1             	mov    %rcx,%rsi
140e39bcf:	45 85 d2             	test   %r10d,%r10d
140e39bd2:	0f 84 60 04 00 00    	je     0x140e3a038
140e39bd8:	8b 3a                	mov    (%rdx),%edi
140e39bda:	85 ff                	test   %edi,%edi
140e39bdc:	0f 84 56 04 00 00    	je     0x140e3a038
140e39be2:	41 ff ca             	dec    %r10d
140e39be5:	8d 6f ff             	lea    -0x1(%rdi),%ebp
140e39be8:	85 ed                	test   %ebp,%ebp
140e39bea:	0f 85 fb 00 00 00    	jne    0x140e39ceb
140e39bf0:	44 8b 62 04          	mov    0x4(%rdx),%r12d
140e39bf4:	33 ed                	xor    %ebp,%ebp
140e39bf6:	41 83 fc 01          	cmp    $0x1,%r12d
140e39bfa:	75 26                	jne    0x140e39c22
140e39bfc:	8b 59 04             	mov    0x4(%rcx),%ebx
140e39bff:	4c 8d 44 24 44       	lea    0x44(%rsp),%r8
140e39c04:	48 83 c1 04          	add    $0x4,%rcx
140e39c08:	89 2e                	mov    %ebp,(%rsi)
140e39c0a:	45 33 c9             	xor    %r9d,%r9d
140e39c0d:	89 6c 24 40          	mov    %ebp,0x40(%rsp)
140e39c11:	ba cc 01 00 00       	mov    $0x1cc,%edx
140e39c16:	e8 91 17 00 00       	call   0x140e3b3ac
140e39c1b:	8b c3                	mov    %ebx,%eax
140e39c1d:	e9 18 04 00 00       	jmp    0x140e3a03a
140e39c22:	45 85 d2             	test   %r10d,%r10d
140e39c25:	75 3d                	jne    0x140e39c64
140e39c27:	8b 79 04             	mov    0x4(%rcx),%edi
140e39c2a:	4c 8d 44 24 44       	lea    0x44(%rsp),%r8
140e39c2f:	89 29                	mov    %ebp,(%rcx)
140e39c31:	45 33 c9             	xor    %r9d,%r9d
140e39c34:	48 83 c1 04          	add    $0x4,%rcx
140e39c38:	89 6c 24 40          	mov    %ebp,0x40(%rsp)
140e39c3c:	ba cc 01 00 00       	mov    $0x1cc,%edx
140e39c41:	e8 66 17 00 00       	call   0x140e3b3ac
140e39c46:	33 d2                	xor    %edx,%edx
140e39c48:	8b c7                	mov    %edi,%eax
140e39c4a:	41 f7 f4             	div    %r12d
140e39c4d:	8b c7                	mov    %edi,%eax
140e39c4f:	85 d2                	test   %edx,%edx
140e39c51:	89 56 04             	mov    %edx,0x4(%rsi)
140e39c54:	40 0f 95 c5          	setne  %bpl
140e39c58:	33 d2                	xor    %edx,%edx
140e39c5a:	41 f7 f4             	div    %r12d
140e39c5d:	89 2e                	mov    %ebp,(%rsi)
140e39c5f:	e9 d6 03 00 00       	jmp    0x140e3a03a
140e39c64:	41 bf ff ff ff ff    	mov    $0xffffffff,%r15d
140e39c6a:	4c 8b f5             	mov    %rbp,%r14
140e39c6d:	48 8b fd             	mov    %rbp,%rdi
140e39c70:	45 3b d7             	cmp    %r15d,%r10d
140e39c73:	74 3b                	je     0x140e39cb0
140e39c75:	4d 8b cc             	mov    %r12,%r9
140e39c78:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140e39c7f:	00
140e39c80:	46 8b 44 96 04       	mov    0x4(%rsi,%r10,4),%r8d
140e39c85:	33 d2                	xor    %edx,%edx
140e39c87:	48 c1 e7 20          	shl    $0x20,%rdi
140e39c8b:	45 03 d7             	add    %r15d,%r10d
140e39c8e:	4c 0b c7             	or     %rdi,%r8
140e39c91:	49 c1 e6 20          	shl    $0x20,%r14
140e39c95:	49 8b c0             	mov    %r8,%rax
140e39c98:	49 f7 f1             	div    %r9
140e39c9b:	33 d2                	xor    %edx,%edx
140e39c9d:	8b c8                	mov    %eax,%ecx
140e39c9f:	49 8b c0             	mov    %r8,%rax
140e39ca2:	49 f7 f1             	div    %r9
140e39ca5:	4c 03 f1             	add    %rcx,%r14
140e39ca8:	48 8b fa             	mov    %rdx,%rdi
140e39cab:	45 3b d7             	cmp    %r15d,%r10d
140e39cae:	75 d0                	jne    0x140e39c80
140e39cb0:	45 33 c9             	xor    %r9d,%r9d
140e39cb3:	89 6c 24 40          	mov    %ebp,0x40(%rsp)
140e39cb7:	4c 8d 44 24 44       	lea    0x44(%rsp),%r8
140e39cbc:	89 2e                	mov    %ebp,(%rsi)
140e39cbe:	ba cc 01 00 00       	mov    $0x1cc,%edx
140e39cc3:	48 8d 4e 04          	lea    0x4(%rsi),%rcx
140e39cc7:	e8 e0 16 00 00       	call   0x140e3b3ac
140e39ccc:	48 8b cf             	mov    %rdi,%rcx
140e39ccf:	89 7e 04             	mov    %edi,0x4(%rsi)
140e39cd2:	48 c1 e9 20          	shr    $0x20,%rcx
140e39cd6:	49 8b c6             	mov    %r14,%rax
140e39cd9:	85 c9                	test   %ecx,%ecx
140e39cdb:	89 4e 08             	mov    %ecx,0x8(%rsi)
140e39cde:	40 0f 95 c5          	setne  %bpl
140e39ce2:	ff c5                	inc    %ebp
140e39ce4:	89 2e                	mov    %ebp,(%rsi)
140e39ce6:	e9 4f 03 00 00       	jmp    0x140e3a03a
140e39ceb:	41 3b ea             	cmp    %r10d,%ebp
140e39cee:	0f 87 44 03 00 00    	ja     0x140e3a038
140e39cf4:	45 8b c2             	mov    %r10d,%r8d
140e39cf7:	49 63 d2             	movslq %r10d,%rdx
140e39cfa:	44 2b c5             	sub    %ebp,%r8d
140e39cfd:	45 8b ca             	mov    %r10d,%r9d
140e39d00:	49 63 d8             	movslq %r8d,%rbx
140e39d03:	48 3b d3             	cmp    %rbx,%rdx
140e39d06:	7c 49                	jl     0x140e39d51
140e39d08:	48 83 c1 04          	add    $0x4,%rcx
140e39d0c:	48 8d 04 9d 00 00 00 	lea    0x0(,%rbx,4),%rax
140e39d13:	00
140e39d14:	4d 8b df             	mov    %r15,%r11
140e39d17:	4c 2b d8             	sub    %rax,%r11
140e39d1a:	4c 2b de             	sub    %rsi,%r11
140e39d1d:	48 8d 0c 91          	lea    (%rcx,%rdx,4),%rcx
140e39d21:	8b 01                	mov    (%rcx),%eax
140e39d23:	41 39 04 0b          	cmp    %eax,(%r11,%rcx,1)
140e39d27:	75 11                	jne    0x140e39d3a
140e39d29:	41 ff c9             	dec    %r9d
140e39d2c:	48 ff ca             	dec    %rdx
140e39d2f:	48 83 e9 04          	sub    $0x4,%rcx
140e39d33:	48 3b d3             	cmp    %rbx,%rdx
140e39d36:	7d e9                	jge    0x140e39d21
140e39d38:	eb 17                	jmp    0x140e39d51
140e39d3a:	41 8b c1             	mov    %r9d,%eax
140e39d3d:	41 2b c0             	sub    %r8d,%eax
140e39d40:	48 63 d0             	movslq %eax,%rdx
140e39d43:	49 63 c1             	movslq %r9d,%rax
140e39d46:	8b 4c 86 04          	mov    0x4(%rsi,%rax,4),%ecx
140e39d4a:	41 39 4c 97 04       	cmp    %ecx,0x4(%r15,%rdx,4)
140e39d4f:	73 03                	jae    0x140e39d54
140e39d51:	41 ff c0             	inc    %r8d
140e39d54:	45 85 c0             	test   %r8d,%r8d
140e39d57:	0f 84 db 02 00 00    	je     0x140e3a038
140e39d5d:	45 8b 4c af 04       	mov    0x4(%r15,%rbp,4),%r9d
140e39d62:	8d 47 fe             	lea    -0x2(%rdi),%eax
140e39d65:	45 8b 5c 87 04       	mov    0x4(%r15,%rax,4),%r11d
140e39d6a:	33 ed                	xor    %ebp,%ebp
140e39d6c:	41 0f bd c1          	bsr    %r9d,%eax
140e39d70:	44 89 9c 24 70 02 00 	mov    %r11d,0x270(%rsp)
140e39d77:	00
140e39d78:	74 1e                	je     0x140e39d98
140e39d7a:	bb 1f 00 00 00       	mov    $0x1f,%ebx
140e39d7f:	41 be 20 00 00 00    	mov    $0x20,%r14d
140e39d85:	2b d8                	sub    %eax,%ebx
140e39d87:	44 2b f3             	sub    %ebx,%r14d
140e39d8a:	44 89 b4 24 60 02 00 	mov    %r14d,0x260(%rsp)
140e39d91:	00
140e39d92:	85 db                	test   %ebx,%ebx
140e39d94:	74 4e                	je     0x140e39de4
140e39d96:	eb 0f                	jmp    0x140e39da7
140e39d98:	bb 20 00 00 00       	mov    $0x20,%ebx
140e39d9d:	89 ac 24 60 02 00 00 	mov    %ebp,0x260(%rsp)
140e39da4:	44 8b f5             	mov    %ebp,%r14d
140e39da7:	41 8b c1             	mov    %r9d,%eax
140e39daa:	41 8b d3             	mov    %r11d,%edx
140e39dad:	41 8b ce             	mov    %r14d,%ecx
140e39db0:	d3 ea                	shr    %cl,%edx
140e39db2:	8b cb                	mov    %ebx,%ecx
140e39db4:	d3 e0                	shl    %cl,%eax
140e39db6:	44 8b ca             	mov    %edx,%r9d
140e39db9:	41 d3 e3             	shl    %cl,%r11d
140e39dbc:	44 0b c8             	or     %eax,%r9d
140e39dbf:	44 89 9c 24 70 02 00 	mov    %r11d,0x270(%rsp)
140e39dc6:	00
140e39dc7:	83 ff 02             	cmp    $0x2,%edi
140e39dca:	76 18                	jbe    0x140e39de4
140e39dcc:	8d 47 fd             	lea    -0x3(%rdi),%eax
140e39dcf:	41 8b ce             	mov    %r14d,%ecx
140e39dd2:	41 8b 44 87 04       	mov    0x4(%r15,%rax,4),%eax
140e39dd7:	d3 e8                	shr    %cl,%eax
140e39dd9:	44 0b d8             	or     %eax,%r11d
140e39ddc:	44 89 9c 24 70 02 00 	mov    %r11d,0x270(%rsp)
140e39de3:	00
140e39de4:	45 8d 60 ff          	lea    -0x1(%r8),%r12d
140e39de8:	48 89 6c 24 30       	mov    %rbp,0x30(%rsp)
140e39ded:	4c 8b dd             	mov    %rbp,%r11
140e39df0:	45 85 e4             	test   %r12d,%r12d
140e39df3:	0f 88 00 02 00 00    	js     0x140e39ff9
140e39df9:	41 8b c6             	mov    %r14d,%eax
140e39dfc:	41 bf ff ff ff ff    	mov    $0xffffffff,%r15d
140e39e02:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140e39e07:	41 8b c1             	mov    %r9d,%eax
140e39e0a:	4c 89 ac 24 18 02 00 	mov    %r13,0x218(%rsp)
140e39e11:	00
140e39e12:	45 8d 2c 3c          	lea    (%r12,%rdi,1),%r13d
140e39e16:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140e39e1b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140e39e20:	45 3b ea             	cmp    %r10d,%r13d
140e39e23:	77 07                	ja     0x140e39e2c
140e39e25:	42 8b 54 ae 04       	mov    0x4(%rsi,%r13,4),%edx
140e39e2a:	eb 02                	jmp    0x140e39e2e
140e39e2c:	8b d5                	mov    %ebp,%edx
140e39e2e:	89 94 24 78 02 00 00 	mov    %edx,0x278(%rsp)
140e39e35:	41 8d 45 ff          	lea    -0x1(%r13),%eax
140e39e39:	8b 4c 86 04          	mov    0x4(%rsi,%rax,4),%ecx
140e39e3d:	41 8d 45 fe          	lea    -0x2(%r13),%eax
140e39e41:	44 8b 5c 86 04       	mov    0x4(%rsi,%rax,4),%r11d
140e39e46:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140e39e4b:	89 54 24 24          	mov    %edx,0x24(%rsp)
140e39e4f:	85 db                	test   %ebx,%ebx
140e39e51:	74 33                	je     0x140e39e86
140e39e53:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
140e39e58:	45 8b c3             	mov    %r11d,%r8d
140e39e5b:	48 8b 44 24 20       	mov    0x20(%rsp),%rax
140e39e60:	49 d3 e8             	shr    %cl,%r8
140e39e63:	8b cb                	mov    %ebx,%ecx
140e39e65:	48 d3 e0             	shl    %cl,%rax
140e39e68:	4c 0b c0             	or     %rax,%r8
140e39e6b:	41 d3 e3             	shl    %cl,%r11d
140e39e6e:	41 83 fd 03          	cmp    $0x3,%r13d
140e39e72:	72 17                	jb     0x140e39e8b
140e39e74:	41 8d 45 fd          	lea    -0x3(%r13),%eax
140e39e78:	41 8b ce             	mov    %r14d,%ecx
140e39e7b:	8b 44 86 04          	mov    0x4(%rsi,%rax,4),%eax
140e39e7f:	d3 e8                	shr    %cl,%eax
140e39e81:	44 0b d8             	or     %eax,%r11d
140e39e84:	eb 05                	jmp    0x140e39e8b
140e39e86:	4c 8b 44 24 20       	mov    0x20(%rsp),%r8
140e39e8b:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
140e39e90:	33 d2                	xor    %edx,%edx
140e39e92:	49 8b c0             	mov    %r8,%rax
140e39e95:	48 f7 f1             	div    %rcx
140e39e98:	33 d2                	xor    %edx,%edx
140e39e9a:	4c 8b c8             	mov    %rax,%r9
140e39e9d:	49 8b c0             	mov    %r8,%rax
140e39ea0:	48 f7 f1             	div    %rcx
140e39ea3:	44 8b c2             	mov    %edx,%r8d
140e39ea6:	4d 3b cf             	cmp    %r15,%r9
140e39ea9:	76 17                	jbe    0x140e39ec2
140e39eab:	48 b8 01 00 00 00 ff 	movabs $0xffffffff00000001,%rax
140e39eb2:	ff ff ff
140e39eb5:	49 03 c1             	add    %r9,%rax
140e39eb8:	4d 8b cf             	mov    %r15,%r9
140e39ebb:	48 0f af c1          	imul   %rcx,%rax
140e39ebf:	4c 03 c0             	add    %rax,%r8
140e39ec2:	4d 3b c7             	cmp    %r15,%r8
140e39ec5:	77 3e                	ja     0x140e39f05
140e39ec7:	8b 94 24 70 02 00 00 	mov    0x270(%rsp),%edx
140e39ece:	4c 8b f1             	mov    %rcx,%r14
140e39ed1:	8b c2                	mov    %edx,%eax
140e39ed3:	49 0f af c1          	imul   %r9,%rax
140e39ed7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140e39ede:	00 00
140e39ee0:	49 8b c8             	mov    %r8,%rcx
140e39ee3:	48 c1 e1 20          	shl    $0x20,%rcx
140e39ee7:	49 0b cb             	or     %r11,%rcx
140e39eea:	48 3b c1             	cmp    %rcx,%rax
140e39eed:	76 0e                	jbe    0x140e39efd
140e39eef:	49 ff c9             	dec    %r9
140e39ef2:	48 2b c2             	sub    %rdx,%rax
140e39ef5:	4d 03 c6             	add    %r14,%r8
140e39ef8:	4d 3b c7             	cmp    %r15,%r8
140e39efb:	76 e3                	jbe    0x140e39ee0
140e39efd:	44 8b b4 24 60 02 00 	mov    0x260(%rsp),%r14d
140e39f04:	00
140e39f05:	4d 85 c9             	test   %r9,%r9
140e39f08:	0f 84 c2 00 00 00    	je     0x140e39fd0
140e39f0e:	4c 8b d5             	mov    %rbp,%r10
140e39f11:	44 8b dd             	mov    %ebp,%r11d
140e39f14:	85 ff                	test   %edi,%edi
140e39f16:	74 64                	je     0x140e39f7c
140e39f18:	4c 8b b4 24 68 02 00 	mov    0x268(%rsp),%r14
140e39f1f:	00
140e39f20:	44 8b bc 24 60 02 00 	mov    0x260(%rsp),%r15d