14049999b:	48 8b fa             	mov    %rdx,%rdi
14049999e:	81 f9 22 22 00 00    	cmp    $0x2222,%ecx
1404999a4:	74 24                	je     0x1404999ca
1404999a6:	81 f9 33 33 00 00    	cmp    $0x3333,%ecx
1404999ac:	74 1c                	je     0x1404999ca
1404999ae:	81 f9 55 55 00 00    	cmp    $0x5555,%ecx
1404999b4:	74 14                	je     0x1404999ca
1404999b6:	81 f9 77 77 00 00    	cmp    $0x7777,%ecx
1404999bc:	74 0c                	je     0x1404999ca
1404999be:	81 f9 99 99 00 00    	cmp    $0x9999,%ecx
1404999c4:	0f 85 02 01 00 00    	jne    0x140499acc
1404999ca:	c6 07 00             	movb   $0x0,(%rdi)
1404999cd:	4c 8d b3 e8 00 00 00 	lea    0xe8(%rbx),%r14
1404999d4:	4c 8d 44 24 60       	lea    0x60(%rsp),%r8
1404999d9:	48 8d 54 24 58       	lea    0x58(%rsp),%rdx
1404999de:	48 8d 8b c8 00 00 00 	lea    0xc8(%rbx),%rcx
1404999e5:	e8 96 f7 ff ff       	call   0x140499180
1404999ea:	85 c0                	test   %eax,%eax
1404999ec:	0f 88 da 00 00 00    	js     0x140499acc
1404999f2:	45 33 ff             	xor    %r15d,%r15d
1404999f5:	48 8d bb d0 00 00 00 	lea    0xd0(%rbx),%rdi
1404999fc:	85 c0                	test   %eax,%eax
1404999fe:	48 8d b3 f0 00 00 00 	lea    0xf0(%rbx),%rsi
140499a05:	75 7f                	jne    0x140499a86
140499a07:	4c 8b 8b d8 00 00 00 	mov    0xd8(%rbx),%r9
140499a0e:	44 8b 83 e0 00 00 00 	mov    0xe0(%rbx),%r8d
140499a15:	0f b6 93 b8 00 00 00 	movzbl 0xb8(%rbx),%edx
140499a1c:	48 8b 8b f8 00 00 00 	mov    0xf8(%rbx),%rcx
140499a23:	e8 a8 f8 ff ff       	call   0x1404992d0
140499a28:	48 8d bb d0 00 00 00 	lea    0xd0(%rbx),%rdi
140499a2f:	48 8d b3 f0 00 00 00 	lea    0xf0(%rbx),%rsi
140499a36:	4c 39 bb d8 00 00 00 	cmp    %r15,0xd8(%rbx)
140499a3d:	75 12                	jne    0x140499a51
140499a3f:	48 8b 0f             	mov    (%rdi),%rcx
140499a42:	48 89 0e             	mov    %rcx,(%rsi)
140499a45:	e8 d2 1b 98 00       	call   0x140e1b61c
140499a4a:	48 89 83 d8 00 00 00 	mov    %rax,0xd8(%rbx)
140499a51:	4c 8d 44 24 60       	lea    0x60(%rsp),%r8
140499a56:	4d 89 3e             	mov    %r15,(%r14)
140499a59:	48 8d 54 24 58       	lea    0x58(%rsp),%rdx
140499a5e:	4c 89 bb e0 00 00 00 	mov    %r15,0xe0(%rbx)
140499a65:	48 8d 8b c8 00 00 00 	lea    0xc8(%rbx),%rcx
140499a6c:	e8 0f f7 ff ff       	call   0x140499180
140499a71:	85 c0                	test   %eax,%eax
140499a73:	79 90                	jns    0x140499a05
140499a75:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140499a7a:	48 83 c4 20          	add    $0x20,%rsp
140499a7e:	41 5f                	pop    %r15
140499a80:	41 5e                	pop    %r14
140499a82:	5f                   	pop    %rdi
140499a83:	5e                   	pop    %rsi
140499a84:	5d                   	pop    %rbp
140499a85:	c3                   	ret
140499a86:	4c 8d 05 ff 9c b0 00 	lea    0xb09cff(%rip),%r8        # 0x140fa378c
140499a8d:	48 8b cb             	mov    %rbx,%rcx
140499a90:	48 8d 15 81 37 b6 00 	lea    0xb63781(%rip),%rdx        # 0x140ffd218
140499a97:	e8 24 f1 09 00       	call   0x140538bc0
140499a9c:	4c 39 bb d8 00 00 00 	cmp    %r15,0xd8(%rbx)
140499aa3:	75 12                	jne    0x140499ab7
140499aa5:	48 8b 0f             	mov    (%rdi),%rcx
140499aa8:	48 89 0e             	mov    %rcx,(%rsi)
140499aab:	e8 6c 1b 98 00       	call   0x140e1b61c
140499ab0:	48 89 83 d8 00 00 00 	mov    %rax,0xd8(%rbx)
140499ab7:	4c 89 bb e8 00 00 00 	mov    %r15,0xe8(%rbx)
140499abe:	4c 89 bb e0 00 00 00 	mov    %r15,0xe0(%rbx)
140499ac5:	c6 83 00 01 00 00 01 	movb   $0x1,0x100(%rbx)
140499acc:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140499ad1:	48 83 c4 20          	add    $0x20,%rsp
140499ad5:	41 5f                	pop    %r15
140499ad7:	41 5e                	pop    %r14
140499ad9:	5f                   	pop    %rdi
140499ada:	5e                   	pop    %rsi
140499adb:	5d                   	pop    %rbp
140499adc:	c3                   	ret
140499add:	cc                   	int3
140499ade:	cc                   	int3
140499adf:	cc                   	int3
140499ae0:	40 53                	rex push %rbx
140499ae2:	48 83 ec 20          	sub    $0x20,%rsp
140499ae6:	48 8b d9             	mov    %rcx,%rbx
140499ae9:	e8 12 d4 cf ff       	call   0x140196f00
140499aee:	48 83 bb d8 00 00 00 	cmpq   $0x0,0xd8(%rbx)
140499af5:	00
140499af6:	75 1a                	jne    0x140499b12
140499af8:	48 8b 8b d0 00 00 00 	mov    0xd0(%rbx),%rcx
140499aff:	48 89 8b f0 00 00 00 	mov    %rcx,0xf0(%rbx)
140499b06:	e8 11 1b 98 00       	call   0x140e1b61c
140499b0b:	48 89 83 d8 00 00 00 	mov    %rax,0xd8(%rbx)
140499b12:	33 c0                	xor    %eax,%eax
140499b14:	48 89 83 e8 00 00 00 	mov    %rax,0xe8(%rbx)
140499b1b:	48 89 83 e0 00 00 00 	mov    %rax,0xe0(%rbx)
140499b22:	c6 83 00 01 00 00 01 	movb   $0x1,0x100(%rbx)
140499b29:	48 83 c4 20          	add    $0x20,%rsp
140499b2d:	5b                   	pop    %rbx
140499b2e:	c3                   	ret
140499b2f:	cc                   	int3
140499b30:	4c 8b 49 10          	mov    0x10(%rcx),%r9
140499b34:	48 c7 41 18 00 00 00 	movq   $0x0,0x18(%rcx)
140499b3b:	00
140499b3c:	41 0f b6 41 04       	movzbl 0x4(%r9),%eax
140499b41:	48 89 41 18          	mov    %rax,0x18(%rcx)
140499b45:	41 0f b6 51 05       	movzbl 0x5(%r9),%edx
140499b4a:	48 c1 e0 08          	shl    $0x8,%rax
140499b4e:	48 0b d0             	or     %rax,%rdx
140499b51:	48 89 51 18          	mov    %rdx,0x18(%rcx)
140499b55:	45 0f b6 41 06       	movzbl 0x6(%r9),%r8d
140499b5a:	48 c1 e2 08          	shl    $0x8,%rdx
140499b5e:	4c 0b c2             	or     %rdx,%r8
140499b61:	4c 89 41 18          	mov    %r8,0x18(%rcx)
140499b65:	41 0f b6 41 07       	movzbl 0x7(%r9),%eax
140499b6a:	49 c1 e0 08          	shl    $0x8,%r8
140499b6e:	49 0b c0             	or     %r8,%rax
140499b71:	48 89 41 18          	mov    %rax,0x18(%rcx)
140499b75:	c3                   	ret
140499b76:	cc                   	int3
140499b77:	cc                   	int3
140499b78:	cc                   	int3
140499b79:	cc                   	int3
140499b7a:	cc                   	int3
140499b7b:	cc                   	int3
140499b7c:	cc                   	int3
140499b7d:	cc                   	int3
140499b7e:	cc                   	int3
140499b7f:	cc                   	int3
140499b80:	48 81 ec 88 00 00 00 	sub    $0x88,%rsp
140499b87:	48 8b 05 72 f3 f1 00 	mov    0xf1f372(%rip),%rax        # 0x1413b8f00
140499b8e:	48 33 c4             	xor    %rsp,%rax
140499b91:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
140499b96:	83 79 08 01          	cmpl   $0x1,0x8(%rcx)
140499b9a:	75 19                	jne    0x140499bb5
140499b9c:	48 8b 41 10          	mov    0x10(%rcx),%rax
140499ba0:	48 8b 4c 24 70       	mov    0x70(%rsp),%rcx
140499ba5:	48 33 cc             	xor    %rsp,%rcx
140499ba8:	e8 53 19 98 00       	call   0x140e1b500
140499bad:	48 81 c4 88 00 00 00 	add    $0x88,%rsp
140499bb4:	c3                   	ret
140499bb5:	e8 b6 42 d2 ff       	call   0x1401bde70
140499bba:	4c 63 c0             	movslq %eax,%r8
140499bbd:	4c 8d 0d 3c b0 b0 00 	lea    0xb0b03c(%rip),%r9        # 0x140fa4c00
140499bc4:	48 8d 15 15 34 b6 00 	lea    0xb63415(%rip),%rdx        # 0x140ffcfe0
140499bcb:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140499bd0:	e8 db f2 d0 ff       	call   0x1401a8eb0
140499bd5:	48 8d 15 6c 6d f0 00 	lea    0xf06d6c(%rip),%rdx        # 0x1413a0948
140499bdc:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140499be1:	e8 32 2c 98 00       	call   0x140e1c818
140499be6:	cc                   	int3
140499be7:	cc                   	int3
140499be8:	cc                   	int3
140499be9:	cc                   	int3
140499bea:	cc                   	int3
140499beb:	cc                   	int3
140499bec:	cc                   	int3
140499bed:	cc                   	int3
140499bee:	cc                   	int3
140499bef:	cc                   	int3
140499bf0:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140499bf5:	53                   	push   %rbx
140499bf6:	55                   	push   %rbp
140499bf7:	56                   	push   %rsi
140499bf8:	57                   	push   %rdi
140499bf9:	41 56                	push   %r14
140499bfb:	48 83 ec 20          	sub    $0x20,%rsp
140499bff:	4c 8b f2             	mov    %rdx,%r14
140499c02:	48 8b d9             	mov    %rcx,%rbx
140499c05:	48 8d 05 34 36 b6 00 	lea    0xb63634(%rip),%rax        # 0x140ffd240
140499c0c:	48 89 01             	mov    %rax,(%rcx)
140499c0f:	b9 30 00 00 00       	mov    $0x30,%ecx
140499c14:	e8 ef 14 98 00       	call   0x140e1b108
140499c19:	48 8b f0             	mov    %rax,%rsi
140499c1c:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
140499c21:	48 8d 2d c0 38 b6 00 	lea    0xb638c0(%rip),%rbp        # 0x140ffd4e8
140499c28:	48 85 c0             	test   %rax,%rax
140499c2b:	74 42                	je     0x140499c6f
140499c2d:	48 89 28             	mov    %rbp,(%rax)
140499c30:	33 ff                	xor    %edi,%edi
140499c32:	48 89 78 18          	mov    %rdi,0x18(%rax)
140499c36:	48 89 58 20          	mov    %rbx,0x20(%rax)
140499c3a:	c6 40 28 01          	movb   $0x1,0x28(%rax)
140499c3e:	48 89 78 08          	mov    %rdi,0x8(%rax)
140499c42:	48 89 78 10          	mov    %rdi,0x10(%rax)
140499c46:	b9 58 00 00 00       	mov    $0x58,%ecx
140499c4b:	e8 b8 14 98 00       	call   0x140e1b108
140499c50:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
140499c55:	48 85 c0             	test   %rax,%rax
140499c58:	74 0c                	je     0x140499c66
140499c5a:	33 d2                	xor    %edx,%edx
140499c5c:	48 8b c8             	mov    %rax,%rcx
140499c5f:	e8 bc 43 52 00       	call   0x1409be020
140499c64:	eb 03                	jmp    0x140499c69
140499c66:	48 8b c7             	mov    %rdi,%rax
140499c69:	48 89 46 18          	mov    %rax,0x18(%rsi)
140499c6d:	eb 04                	jmp    0x140499c73
140499c6f:	33 ff                	xor    %edi,%edi
140499c71:	8b f7                	mov    %edi,%esi
140499c73:	48 89 73 28          	mov    %rsi,0x28(%rbx)
140499c77:	b9 30 00 00 00       	mov    $0x30,%ecx
140499c7c:	e8 87 14 98 00       	call   0x140e1b108
140499c81:	48 8b f0             	mov    %rax,%rsi
140499c84:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
140499c89:	48 85 c0             	test   %rax,%rax
140499c8c:	74 40                	je     0x140499cce
140499c8e:	48 89 28             	mov    %rbp,(%rax)
140499c91:	48 89 78 18          	mov    %rdi,0x18(%rax)
140499c95:	48 89 58 20          	mov    %rbx,0x20(%rax)
140499c99:	c6 40 28 00          	movb   $0x0,0x28(%rax)
140499c9d:	48 89 78 08          	mov    %rdi,0x8(%rax)
140499ca1:	48 89 78 10          	mov    %rdi,0x10(%rax)
140499ca5:	b9 58 00 00 00       	mov    $0x58,%ecx
140499caa:	e8 59 14 98 00       	call   0x140e1b108
140499caf:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
140499cb4:	48 85 c0             	test   %rax,%rax
140499cb7:	74 0c                	je     0x140499cc5
140499cb9:	33 d2                	xor    %edx,%edx
140499cbb:	48 8b c8             	mov    %rax,%rcx
140499cbe:	e8 5d 43 52 00       	call   0x1409be020
140499cc3:	eb 03                	jmp    0x140499cc8
140499cc5:	48 8b c7             	mov    %rdi,%rax
140499cc8:	48 89 46 18          	mov    %rax,0x18(%rsi)
140499ccc:	eb 03                	jmp    0x140499cd1
140499cce:	48 8b f7             	mov    %rdi,%rsi
140499cd1:	48 89 73 30          	mov    %rsi,0x30(%rbx)
140499cd5:	49 8b 06             	mov    (%r14),%rax
140499cd8:	48 89 43 38          	mov    %rax,0x38(%rbx)
140499cdc:	66 c7 43 08 00 00    	movw   $0x0,0x8(%rbx)
140499ce2:	89 7b 0c             	mov    %edi,0xc(%rbx)
140499ce5:	48 c7 43 10 01 00 00 	movq   $0x1,0x10(%rbx)
140499cec:	00
140499ced:	48 c7 43 18 00 00 00 	movq   $0x0,0x18(%rbx)
140499cf4:	00
140499cf5:	c6 43 20 00          	movb   $0x0,0x20(%rbx)
140499cf9:	48 8b c3             	mov    %rbx,%rax
140499cfc:	48 83 c4 20          	add    $0x20,%rsp
140499d00:	41 5e                	pop    %r14
140499d02:	5f                   	pop    %rdi
140499d03:	5e                   	pop    %rsi
140499d04:	5d                   	pop    %rbp
140499d05:	5b                   	pop    %rbx
140499d06:	c3                   	ret
140499d07:	cc                   	int3
140499d08:	cc                   	int3
140499d09:	cc                   	int3
140499d0a:	cc                   	int3
140499d0b:	cc                   	int3
140499d0c:	cc                   	int3
140499d0d:	cc                   	int3
140499d0e:	cc                   	int3
140499d0f:	cc                   	int3
140499d10:	40 57                	rex push %rdi
140499d12:	48 83 ec 20          	sub    $0x20,%rsp
140499d16:	8b 01                	mov    (%rcx),%eax
140499d18:	48 8b f9             	mov    %rcx,%rdi
140499d1b:	ff c8                	dec    %eax
140499d1d:	83 f8 07             	cmp    $0x7,%eax
140499d20:	0f 87 9b 03 00 00    	ja     0x14049a0c1
140499d26:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
140499d2b:	48 8d 0d ce 62 b6 ff 	lea    -0x499d32(%rip),%rcx        # 0x140000000
140499d32:	48 89 6c 24 38       	mov    %rbp,0x38(%rsp)
140499d37:	48 89 74 24 40       	mov    %rsi,0x40(%rsp)
140499d3c:	48 98                	cltq
140499d3e:	4c 89 74 24 48       	mov    %r14,0x48(%rsp)
140499d43:	8b 94 81 c8 a0 49 00 	mov    0x49a0c8(%rcx,%rax,4),%edx
140499d4a:	48 03 d1             	add    %rcx,%rdx
140499d4d:	ff e2                	jmp    *%rdx
140499d4f:	48 8b 77 08          	mov    0x8(%rdi),%rsi
140499d53:	33 db                	xor    %ebx,%ebx
140499d55:	48 85 f6             	test   %rsi,%rsi
140499d58:	0f 84 cb 00 00 00    	je     0x140499e29
140499d5e:	0f b6 46 01          	movzbl 0x1(%rsi),%eax
140499d62:	84 c0                	test   %al,%al
140499d64:	0f 84 9b 00 00 00    	je     0x140499e05
140499d6a:	3c ff                	cmp    $0xff,%al
140499d6c:	74 51                	je     0x140499dbf
140499d6e:	4c 8b 76 18          	mov    0x18(%rsi),%r14
140499d72:	4d 85 f6             	test   %r14,%r14
140499d75:	74 42                	je     0x140499db9
140499d77:	49 8b 2e             	mov    (%r14),%rbp
140499d7a:	48 85 ed             	test   %rbp,%rbp
140499d7d:	74 2a                	je     0x140499da9
140499d7f:	80 7d 00 fd          	cmpb   $0xfd,0x0(%rbp)
140499d83:	75 17                	jne    0x140499d9c
140499d85:	48 8b 4d 08          	mov    0x8(%rbp),%rcx
140499d89:	48 85 c9             	test   %rcx,%rcx
140499d8c:	74 0a                	je     0x140499d98
140499d8e:	ba 03 00 00 00       	mov    $0x3,%edx
140499d93:	e8 ac 13 98 00       	call   0x140e1b144
140499d98:	48 89 5d 08          	mov    %rbx,0x8(%rbp)
140499d9c:	ba 20 00 00 00       	mov    $0x20,%edx
140499da1:	48 8b cd             	mov    %rbp,%rcx
140499da4:	e8 9b 13 98 00       	call   0x140e1b144
140499da9:	ba 18 00 00 00       	mov    $0x18,%edx
140499dae:	49 89 1e             	mov    %rbx,(%r14)
140499db1:	49 8b ce             	mov    %r14,%rcx
140499db4:	e8 8b 13 98 00       	call   0x140e1b144
140499db9:	48 89 5e 18          	mov    %rbx,0x18(%rsi)
140499dbd:	eb 5d                	jmp    0x140499e1c
140499dbf:	48 8b 6e 10          	mov    0x10(%rsi),%rbp
140499dc3:	48 85 ed             	test   %rbp,%rbp
140499dc6:	74 37                	je     0x140499dff
140499dc8:	48 8b 4d 08          	mov    0x8(%rbp),%rcx
140499dcc:	48 85 c9             	test   %rcx,%rcx
140499dcf:	74 05                	je     0x140499dd6
140499dd1:	e8 6e 13 98 00       	call   0x140e1b144
140499dd6:	48 89 5d 08          	mov    %rbx,0x8(%rbp)
140499dda:	89 5d 10             	mov    %ebx,0x10(%rbp)
140499ddd:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
140499de1:	48 85 c9             	test   %rcx,%rcx
140499de4:	74 05                	je     0x140499deb
140499de6:	e8 59 13 98 00       	call   0x140e1b144
140499deb:	ba 30 00 00 00       	mov    $0x30,%edx
140499df0:	48 89 5d 18          	mov    %rbx,0x18(%rbp)
140499df4:	48 8b cd             	mov    %rbp,%rcx
140499df7:	89 5d 20             	mov    %ebx,0x20(%rbp)
140499dfa:	e8 45 13 98 00       	call   0x140e1b144
140499dff:	48 89 5e 10          	mov    %rbx,0x10(%rsi)
140499e03:	eb 17                	jmp    0x140499e1c
140499e05:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
140499e09:	48 85 c9             	test   %rcx,%rcx
140499e0c:	74 0a                	je     0x140499e18
140499e0e:	ba 01 00 00 00       	mov    $0x1,%edx
140499e13:	e8 a8 0d 00 00       	call   0x14049abc0
140499e18:	48 89 5e 08          	mov    %rbx,0x8(%rsi)
140499e1c:	ba 20 00 00 00       	mov    $0x20,%edx
140499e21:	48 8b ce             	mov    %rsi,%rcx
140499e24:	e8 1b 13 98 00       	call   0x140e1b144
140499e29:	48 89 5f 08          	mov    %rbx,0x8(%rdi)
140499e2d:	e9 7b 02 00 00       	jmp    0x14049a0ad
140499e32:	48 8b 77 10          	mov    0x10(%rdi),%rsi
140499e36:	33 db                	xor    %ebx,%ebx
140499e38:	48 85 f6             	test   %rsi,%rsi
140499e3b:	74 24                	je     0x140499e61
140499e3d:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
140499e41:	48 85 c9             	test   %rcx,%rcx
140499e44:	74 0a                	je     0x140499e50
140499e46:	ba 01 00 00 00       	mov    $0x1,%edx
140499e4b:	e8 80 07 00 00       	call   0x14049a5d0
140499e50:	ba 18 00 00 00       	mov    $0x18,%edx
140499e55:	48 89 5e 08          	mov    %rbx,0x8(%rsi)
140499e59:	48 8b ce             	mov    %rsi,%rcx
140499e5c:	e8 e3 12 98 00       	call   0x140e1b144
140499e61:	48 89 5f 10          	mov    %rbx,0x10(%rdi)
140499e65:	e9 43 02 00 00       	jmp    0x14049a0ad
140499e6a:	48 8b 77 18          	mov    0x18(%rdi),%rsi
140499e6e:	33 db                	xor    %ebx,%ebx
140499e70:	48 85 f6             	test   %rsi,%rsi
140499e73:	0f 84 88 00 00 00    	je     0x140499f01
140499e79:	8b 4e 04             	mov    0x4(%rsi),%ecx
140499e7c:	85 c9                	test   %ecx,%ecx
140499e7e:	74 5d                	je     0x140499edd
140499e80:	83 f9 01             	cmp    $0x1,%ecx
140499e83:	75 6f                	jne    0x140499ef4