140197a4e:	45 33 c9             	xor    %r9d,%r9d
140197a51:	44 89 75 80          	mov    %r14d,-0x80(%rbp)
140197a55:	4c 8d 45 84          	lea    -0x7c(%rbp),%r8
140197a59:	44 89 b5 20 03 00 00 	mov    %r14d,0x320(%rbp)
140197a60:	ba cc 01 00 00       	mov    $0x1cc,%edx
140197a65:	48 8d 8d 24 03 00 00 	lea    0x324(%rbp),%rcx
140197a6c:	e8 bf 06 00 00       	call   0x140198130
140197a71:	48 8d 95 f0 04 00 00 	lea    0x4f0(%rbp),%rdx
140197a78:	48 8d 8d 20 03 00 00 	lea    0x320(%rbp),%rcx
140197a7f:	e8 dc 01 00 00       	call   0x140197c60
140197a84:	44 39 b5 20 03 00 00 	cmp    %r14d,0x320(%rbp)
140197a8b:	4c 8b c8             	mov    %rax,%r9
140197a8e:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140197a93:	0f 94 c3             	sete   %bl
140197a96:	4c 3b c8             	cmp    %rax,%r9
140197a99:	76 18                	jbe    0x140197ab3
140197a9b:	49 8b c9             	mov    %r9,%rcx
140197a9e:	48 c1 e9 20          	shr    $0x20,%rcx
140197aa2:	0f bd c9             	bsr    %ecx,%ecx
140197aa5:	74 04                	je     0x140197aab
140197aa7:	ff c1                	inc    %ecx
140197aa9:	eb 03                	jmp    0x140197aae
140197aab:	41 8b ce             	mov    %r14d,%ecx
140197aae:	83 c1 20             	add    $0x20,%ecx
140197ab1:	eb 0d                	jmp    0x140197ac0
140197ab3:	41 0f bd c9          	bsr    %r9d,%ecx
140197ab7:	74 04                	je     0x140197abd
140197ab9:	ff c1                	inc    %ecx
140197abb:	eb 03                	jmp    0x140197ac0
140197abd:	41 8b ce             	mov    %r14d,%ecx
140197ac0:	8b 74 24 54          	mov    0x54(%rsp),%esi
140197ac4:	3b ce                	cmp    %esi,%ecx
140197ac6:	76 1e                	jbe    0x140197ae6
140197ac8:	2b ce                	sub    %esi,%ecx
140197aca:	84 db                	test   %bl,%bl
140197acc:	74 12                	je     0x140197ae0
140197ace:	b8 01 00 00 00       	mov    $0x1,%eax
140197ad3:	b3 01                	mov    $0x1,%bl
140197ad5:	48 d3 e0             	shl    %cl,%rax
140197ad8:	48 ff c8             	dec    %rax
140197adb:	49 85 c1             	test   %rax,%r9
140197ade:	74 03                	je     0x140197ae3
140197ae0:	41 8a de             	mov    %r14b,%bl
140197ae3:	49 d3 e9             	shr    %cl,%r9
140197ae6:	44 8b 54 24 44       	mov    0x44(%rsp),%r10d
140197aeb:	45 85 ff             	test   %r15d,%r15d
140197aee:	45 8b de             	mov    %r14d,%r11d
140197af1:	45 8b c6             	mov    %r14d,%r8d
140197af4:	44 0f 45 9d 54 01 00 	cmovne 0x154(%rbp),%r11d
140197afb:	00
140197afc:	8b ce                	mov    %esi,%ecx
140197afe:	41 83 ff 01          	cmp    $0x1,%r15d
140197b02:	41 8d 42 fe          	lea    -0x2(%r10),%eax
140197b06:	44 0f 47 85 58 01 00 	cmova  0x158(%rbp),%r8d
140197b0d:	00
140197b0e:	83 ca ff             	or     $0xffffffff,%edx
140197b11:	2b d7                	sub    %edi,%edx
140197b13:	45 85 d2             	test   %r10d,%r10d
140197b16:	45 8b d0             	mov    %r8d,%r10d
140197b19:	4c 8b 44 24 58       	mov    0x58(%rsp),%r8
140197b1e:	0f 45 d0             	cmovne %eax,%edx
140197b21:	49 c1 e2 20          	shl    $0x20,%r10
140197b25:	41 8b c3             	mov    %r11d,%eax
140197b28:	4c 8b 5c 24 70       	mov    0x70(%rsp),%r11
140197b2d:	4c 03 d0             	add    %rax,%r10
140197b30:	45 8a 80 08 03 00 00 	mov    0x308(%r8),%r8b
140197b37:	49 d3 e2             	shl    %cl,%r10
140197b3a:	4c 89 5c 24 20       	mov    %r11,0x20(%rsp)
140197b3f:	4b 8d 0c 11          	lea    (%r9,%r10,1),%rcx
140197b43:	44 8a cb             	mov    %bl,%r9b
140197b46:	e8 55 dd ff ff       	call   0x1401958a0
140197b4b:	eb 2b                	jmp    0x140197b78
140197b4d:	45 85 c9             	test   %r9d,%r9d
140197b50:	41 0f 95 c1          	setne  %r9b
140197b54:	8b d1                	mov    %ecx,%edx
140197b56:	4c 8b 44 24 58       	mov    0x58(%rsp),%r8
140197b5b:	48 8d 8d 50 01 00 00 	lea    0x150(%rbp),%rcx
140197b62:	4c 8b 5c 24 70       	mov    0x70(%rsp),%r11
140197b67:	4c 89 5c 24 20       	mov    %r11,0x20(%rsp)
140197b6c:	45 8a 80 08 03 00 00 	mov    0x308(%r8),%r8b
140197b73:	e8 dc e0 ff ff       	call   0x140195c54
140197b78:	48 8b 8d 60 0a 00 00 	mov    0xa60(%rbp),%rcx
140197b7f:	48 33 cc             	xor    %rsp,%rcx
140197b82:	e8 49 e7 fe ff       	call   0x1401862d0
140197b87:	48 8b 9c 24 c0 0b 00 	mov    0xbc0(%rsp),%rbx
140197b8e:	00
140197b8f:	48 81 c4 70 0b 00 00 	add    $0xb70,%rsp
140197b96:	41 5f                	pop    %r15
140197b98:	41 5e                	pop    %r14
140197b9a:	41 5d                	pop    %r13
140197b9c:	41 5c                	pop    %r12
140197b9e:	5f                   	pop    %rdi
140197b9f:	5e                   	pop    %rsi
140197ba0:	5d                   	pop    %rbp
140197ba1:	c3                   	ret
140197ba2:	cc                   	int3
140197ba3:	cc                   	int3
140197ba4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140197ba9:	57                   	push   %rdi
140197baa:	48 83 ec 30          	sub    $0x30,%rsp
140197bae:	44 8a 4a 08          	mov    0x8(%rdx),%r9b
140197bb2:	4c 8b d9             	mov    %rcx,%r11
140197bb5:	41 8a c1             	mov    %r9b,%al
140197bb8:	33 c9                	xor    %ecx,%ecx
140197bba:	f6 d8                	neg    %al
140197bbc:	48 8b fa             	mov    %rdx,%rdi
140197bbf:	41 8b 1b             	mov    (%r11),%ebx
140197bc2:	4d 8d 53 08          	lea    0x8(%r11),%r10
140197bc6:	41 8b 43 04          	mov    0x4(%r11),%eax
140197bca:	49 8d 53 08          	lea    0x8(%r11),%rdx
140197bce:	45 1b c0             	sbb    %r8d,%r8d
140197bd1:	ff cb                	dec    %ebx
140197bd3:	41 83 e0 1d          	and    $0x1d,%r8d
140197bd7:	4c 03 d0             	add    %rax,%r10
140197bda:	41 83 c0 18          	add    $0x18,%r8d
140197bde:	41 03 d8             	add    %r8d,%ebx
140197be1:	49 3b d2             	cmp    %r10,%rdx
140197be4:	74 34                	je     0x140197c1a
140197be6:	41 f6 d9             	neg    %r9b
140197be9:	48 b8 00 00 00 ff ff 	movabs $0x1fffffff000000,%rax
140197bf0:	ff 1f 00
140197bf3:	4d 1b c0             	sbb    %r8,%r8
140197bf6:	4c 23 c0             	and    %rax,%r8
140197bf9:	49 81 c0 ff ff ff 00 	add    $0xffffff,%r8
140197c00:	49 3b c8             	cmp    %r8,%rcx
140197c03:	77 15                	ja     0x140197c1a
140197c05:	0f b6 02             	movzbl (%rdx),%eax
140197c08:	83 eb 04             	sub    $0x4,%ebx
140197c0b:	48 c1 e1 04          	shl    $0x4,%rcx
140197c0f:	48 ff c2             	inc    %rdx
140197c12:	48 03 c8             	add    %rax,%rcx
140197c15:	49 3b d2             	cmp    %r10,%rdx
140197c18:	75 e6                	jne    0x140197c00
140197c1a:	41 b1 01             	mov    $0x1,%r9b
140197c1d:	eb 11                	jmp    0x140197c30
140197c1f:	45 84 c9             	test   %r9b,%r9b
140197c22:	74 11                	je     0x140197c35
140197c24:	8a 02                	mov    (%rdx),%al
140197c26:	48 ff c2             	inc    %rdx
140197c29:	84 c0                	test   %al,%al
140197c2b:	74 ed                	je     0x140197c1a
140197c2d:	45 32 c9             	xor    %r9b,%r9b
140197c30:	49 3b d2             	cmp    %r10,%rdx
140197c33:	75 ea                	jne    0x140197c1f
140197c35:	45 8a 83 08 03 00 00 	mov    0x308(%r11),%r8b
140197c3c:	8b d3                	mov    %ebx,%edx
140197c3e:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140197c43:	e8 58 dc ff ff       	call   0x1401958a0
140197c48:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140197c4d:	48 83 c4 30          	add    $0x30,%rsp
140197c51:	5f                   	pop    %rdi
140197c52:	c3                   	ret
140197c53:	cc                   	int3
140197c54:	cc                   	int3
140197c55:	cc                   	int3
140197c56:	cc                   	int3
140197c57:	cc                   	int3
140197c58:	cc                   	int3
140197c59:	cc                   	int3
140197c5a:	cc                   	int3
140197c5b:	cc                   	int3
140197c5c:	cc                   	int3
140197c5d:	cc                   	int3
140197c5e:	cc                   	int3
140197c5f:	cc                   	int3
140197c60:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140197c65:	56                   	push   %rsi
140197c66:	57                   	push   %rdi
140197c67:	48 81 ec 48 02 00 00 	sub    $0x248,%rsp
140197c6e:	44 8b 09             	mov    (%rcx),%r9d
140197c71:	48 8b fa             	mov    %rdx,%rdi
140197c74:	48 8b f1             	mov    %rcx,%rsi
140197c77:	45 85 c9             	test   %r9d,%r9d
140197c7a:	75 0c                	jne    0x140197c88
140197c7c:	33 c0                	xor    %eax,%eax
140197c7e:	48 81 c4 48 02 00 00 	add    $0x248,%rsp
140197c85:	5f                   	pop    %rdi
140197c86:	5e                   	pop    %rsi
140197c87:	c3                   	ret
140197c88:	8b 02                	mov    (%rdx),%eax
140197c8a:	85 c0                	test   %eax,%eax
140197c8c:	74 ee                	je     0x140197c7c
140197c8e:	48 89 9c 24 40 02 00 	mov    %rbx,0x240(%rsp)
140197c95:	00
140197c96:	41 ff c9             	dec    %r9d
140197c99:	48 89 ac 24 38 02 00 	mov    %rbp,0x238(%rsp)
140197ca0:	00
140197ca1:	4c 89 a4 24 30 02 00 	mov    %r12,0x230(%rsp)
140197ca8:	00
140197ca9:	4c 89 b4 24 20 02 00 	mov    %r14,0x220(%rsp)
140197cb0:	00
140197cb1:	4c 89 bc 24 18 02 00 	mov    %r15,0x218(%rsp)
140197cb8:	00
140197cb9:	83 e8 01             	sub    $0x1,%eax
140197cbc:	0f 85 f2 00 00 00    	jne    0x140197db4
140197cc2:	44 8b 7a 04          	mov    0x4(%rdx),%r15d
140197cc6:	45 33 f6             	xor    %r14d,%r14d
140197cc9:	41 83 ff 01          	cmp    $0x1,%r15d
140197ccd:	75 28                	jne    0x140197cf7
140197ccf:	8b 59 04             	mov    0x4(%rcx),%ebx
140197cd2:	4c 8d 44 24 44       	lea    0x44(%rsp),%r8
140197cd7:	48 83 c1 04          	add    $0x4,%rcx
140197cdb:	44 89 36             	mov    %r14d,(%rsi)
140197cde:	45 33 c9             	xor    %r9d,%r9d
140197ce1:	44 89 74 24 40       	mov    %r14d,0x40(%rsp)
140197ce6:	ba cc 01 00 00       	mov    $0x1cc,%edx
140197ceb:	e8 40 04 00 00       	call   0x140198130
140197cf0:	8b c3                	mov    %ebx,%eax
140197cf2:	e9 05 04 00 00       	jmp    0x1401980fc
140197cf7:	45 85 c9             	test   %r9d,%r9d
140197cfa:	75 39                	jne    0x140197d35
140197cfc:	8b 59 04             	mov    0x4(%rcx),%ebx
140197cff:	4c 8d 44 24 44       	lea    0x44(%rsp),%r8
140197d04:	44 89 31             	mov    %r14d,(%rcx)
140197d07:	45 33 c9             	xor    %r9d,%r9d
140197d0a:	48 83 c1 04          	add    $0x4,%rcx
140197d0e:	44 89 74 24 40       	mov    %r14d,0x40(%rsp)
140197d13:	ba cc 01 00 00       	mov    $0x1cc,%edx
140197d18:	e8 13 04 00 00       	call   0x140198130
140197d1d:	33 d2                	xor    %edx,%edx
140197d1f:	8b c3                	mov    %ebx,%eax
140197d21:	41 f7 f7             	div    %r15d
140197d24:	85 d2                	test   %edx,%edx
140197d26:	89 56 04             	mov    %edx,0x4(%rsi)
140197d29:	41 0f 95 c6          	setne  %r14b
140197d2d:	44 89 36             	mov    %r14d,(%rsi)
140197d30:	e9 c7 03 00 00       	jmp    0x1401980fc
140197d35:	41 bc ff ff ff ff    	mov    $0xffffffff,%r12d
140197d3b:	49 8b fe             	mov    %r14,%rdi
140197d3e:	49 8b ee             	mov    %r14,%rbp
140197d41:	45 3b cc             	cmp    %r12d,%r9d
140197d44:	74 2f                	je     0x140197d75
140197d46:	49 8b cf             	mov    %r15,%rcx
140197d49:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140197d50:	42 8b 44 8e 04       	mov    0x4(%rsi,%r9,4),%eax
140197d55:	33 d2                	xor    %edx,%edx
140197d57:	48 c1 e5 20          	shl    $0x20,%rbp
140197d5b:	45 03 cc             	add    %r12d,%r9d
140197d5e:	48 0b c5             	or     %rbp,%rax
140197d61:	48 c1 e7 20          	shl    $0x20,%rdi
140197d65:	48 f7 f1             	div    %rcx
140197d68:	8b c0                	mov    %eax,%eax
140197d6a:	48 8b ea             	mov    %rdx,%rbp
140197d6d:	48 03 f8             	add    %rax,%rdi
140197d70:	45 3b cc             	cmp    %r12d,%r9d
140197d73:	75 db                	jne    0x140197d50
140197d75:	45 33 c9             	xor    %r9d,%r9d
140197d78:	44 89 74 24 40       	mov    %r14d,0x40(%rsp)
140197d7d:	4c 8d 44 24 44       	lea    0x44(%rsp),%r8
140197d82:	44 89 36             	mov    %r14d,(%rsi)
140197d85:	ba cc 01 00 00       	mov    $0x1cc,%edx
140197d8a:	48 8d 4e 04          	lea    0x4(%rsi),%rcx
140197d8e:	e8 9d 03 00 00       	call   0x140198130
140197d93:	48 8b cd             	mov    %rbp,%rcx
140197d96:	89 6e 04             	mov    %ebp,0x4(%rsi)
140197d99:	48 c1 e9 20          	shr    $0x20,%rcx
140197d9d:	48 8b c7             	mov    %rdi,%rax
140197da0:	85 c9                	test   %ecx,%ecx
140197da2:	89 4e 08             	mov    %ecx,0x8(%rsi)
140197da5:	41 0f 95 c6          	setne  %r14b
140197da9:	41 ff c6             	inc    %r14d
140197dac:	44 89 36             	mov    %r14d,(%rsi)
140197daf:	e9 48 03 00 00       	jmp    0x1401980fc
140197db4:	41 3b c1             	cmp    %r9d,%eax
140197db7:	76 07                	jbe    0x140197dc0
140197db9:	33 c0                	xor    %eax,%eax
140197dbb:	e9 3c 03 00 00       	jmp    0x1401980fc
140197dc0:	45 8b c1             	mov    %r9d,%r8d
140197dc3:	49 63 d1             	movslq %r9d,%rdx
140197dc6:	44 2b c0             	sub    %eax,%r8d
140197dc9:	4c 89 ac 24 28 02 00 	mov    %r13,0x228(%rsp)
140197dd0:	00
140197dd1:	49 63 d8             	movslq %r8d,%rbx
140197dd4:	44 8d 68 01          	lea    0x1(%rax),%r13d
140197dd8:	45 8b d1             	mov    %r9d,%r10d
140197ddb:	48 3b d3             	cmp    %rbx,%rdx
140197dde:	7c 4c                	jl     0x140197e2c
140197de0:	48 83 c1 04          	add    $0x4,%rcx
140197de4:	48 8d 04 9d 00 00 00 	lea    0x0(,%rbx,4),%rax
140197deb:	00
140197dec:	4c 8b df             	mov    %rdi,%r11
140197def:	4c 2b d8             	sub    %rax,%r11
140197df2:	4c 2b de             	sub    %rsi,%r11
140197df5:	48 8d 0c 91          	lea    (%rcx,%rdx,4),%rcx
140197df9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140197e00:	8b 01                	mov    (%rcx),%eax
140197e02:	41 39 04 0b          	cmp    %eax,(%r11,%rcx,1)
140197e06:	75 11                	jne    0x140197e19
140197e08:	41 ff ca             	dec    %r10d
140197e0b:	48 ff ca             	dec    %rdx
140197e0e:	48 83 e9 04          	sub    $0x4,%rcx
140197e12:	48 3b d3             	cmp    %rbx,%rdx
140197e15:	7d e9                	jge    0x140197e00
140197e17:	eb 13                	jmp    0x140197e2c
140197e19:	49 63 c2             	movslq %r10d,%rax
140197e1c:	48 8b c8             	mov    %rax,%rcx
140197e1f:	48 2b cb             	sub    %rbx,%rcx
140197e22:	8b 44 86 04          	mov    0x4(%rsi,%rax,4),%eax
140197e26:	39 44 8f 04          	cmp    %eax,0x4(%rdi,%rcx,4)
140197e2a:	73 03                	jae    0x140197e2f
140197e2c:	41 ff c0             	inc    %r8d
140197e2f:	45 85 c0             	test   %r8d,%r8d
140197e32:	75 07                	jne    0x140197e3b
140197e34:	33 c0                	xor    %eax,%eax
140197e36:	e9 b9 02 00 00       	jmp    0x1401980f4
140197e3b:	41 8d 45 ff          	lea    -0x1(%r13),%eax
140197e3f:	41 bb 20 00 00 00    	mov    $0x20,%r11d
140197e45:	44 8b 54 87 04       	mov    0x4(%rdi,%rax,4),%r10d
140197e4a:	41 8d 45 fe          	lea    -0x2(%r13),%eax
140197e4e:	8b 5c 87 04          	mov    0x4(%rdi,%rax,4),%ebx
140197e52:	41 0f bd c2          	bsr    %r10d,%eax
140197e56:	89 9c 24 78 02 00 00 	mov    %ebx,0x278(%rsp)
140197e5d:	74 09                	je     0x140197e68
140197e5f:	ba 1f 00 00 00       	mov    $0x1f,%edx
140197e64:	2b d0                	sub    %eax,%edx
140197e66:	eb 03                	jmp    0x140197e6b
140197e68:	41 8b d3             	mov    %r11d,%edx
140197e6b:	44 2b da             	sub    %edx,%r11d
140197e6e:	89 94 24 70 02 00 00 	mov    %edx,0x270(%rsp)
140197e75:	44 89 5c 24 20       	mov    %r11d,0x20(%rsp)
140197e7a:	85 d2                	test   %edx,%edx
140197e7c:	74 40                	je     0x140197ebe
140197e7e:	41 8b c2             	mov    %r10d,%eax
140197e81:	8b d3                	mov    %ebx,%edx
140197e83:	41 8b cb             	mov    %r11d,%ecx
140197e86:	d3 ea                	shr    %cl,%edx
140197e88:	8b 8c 24 70 02 00 00 	mov    0x270(%rsp),%ecx
140197e8f:	44 8b d2             	mov    %edx,%r10d
140197e92:	d3 e0                	shl    %cl,%eax
140197e94:	8b d1                	mov    %ecx,%edx
140197e96:	d3 e3                	shl    %cl,%ebx
140197e98:	44 0b d0             	or     %eax,%r10d
140197e9b:	89 9c 24 78 02 00 00 	mov    %ebx,0x278(%rsp)
140197ea2:	41 83 fd 02          	cmp    $0x2,%r13d
140197ea6:	76 16                	jbe    0x140197ebe
140197ea8:	41 8d 45 fd          	lea    -0x3(%r13),%eax
140197eac:	41 8b cb             	mov    %r11d,%ecx
140197eaf:	8b 44 87 04          	mov    0x4(%rdi,%rax,4),%eax
140197eb3:	d3 e8                	shr    %cl,%eax
140197eb5:	0b d8                	or     %eax,%ebx
140197eb7:	89 9c 24 78 02 00 00 	mov    %ebx,0x278(%rsp)
140197ebe:	45 33 f6             	xor    %r14d,%r14d
140197ec1:	41 8d 58 ff          	lea    -0x1(%r8),%ebx
140197ec5:	89 9c 24 60 02 00 00 	mov    %ebx,0x260(%rsp)
140197ecc:	45 8b fe             	mov    %r14d,%r15d
140197ecf:	85 db                	test   %ebx,%ebx
140197ed1:	0f 88 df 01 00 00    	js     0x1401980b6
140197ed7:	41 8b c3             	mov    %r11d,%eax
140197eda:	42 8d 3c 2b          	lea    (%rbx,%r13,1),%edi
140197ede:	45 8b da             	mov    %r10d,%r11d