140021d50:	83 e2 08             	and    $0x8,%edx
140021d53:	48 ff 25 ee a3 00 00 	rex.W jmp *0xa3ee(%rip)        # 0x14002c148
140021d5a:	cc                   	int3
140021d5b:	cc                   	int3
140021d5c:	40 53                	rex push %rbx
140021d5e:	8d 81 18 02 ff ff    	lea    -0xfde8(%rcx),%eax
140021d64:	44 8b d1             	mov    %ecx,%r10d
140021d67:	83 f8 01             	cmp    $0x1,%eax
140021d6a:	41 0f 96 c3          	setbe  %r11b
140021d6e:	33 db                	xor    %ebx,%ebx
140021d70:	81 f9 35 c4 00 00    	cmp    $0xc435,%ecx
140021d76:	77 1b                	ja     0x140021d93
140021d78:	8d 81 d4 3b ff ff    	lea    -0xc42c(%rcx),%eax
140021d7e:	83 f8 09             	cmp    $0x9,%eax
140021d81:	77 0a                	ja     0x140021d8d
140021d83:	b9 a7 02 00 00       	mov    $0x2a7,%ecx
140021d88:	0f a3 c1             	bt     %eax,%ecx
140021d8b:	72 39                	jb     0x140021dc6
140021d8d:	41 83 fa 2a          	cmp    $0x2a,%r10d
140021d91:	eb 2b                	jmp    0x140021dbe
140021d93:	41 81 fa 98 d6 00 00 	cmp    $0xd698,%r10d
140021d9a:	74 2a                	je     0x140021dc6
140021d9c:	41 81 fa a9 de 00 00 	cmp    $0xdea9,%r10d
140021da3:	76 1b                	jbe    0x140021dc0
140021da5:	41 81 fa b3 de 00 00 	cmp    $0xdeb3,%r10d
140021dac:	76 18                	jbe    0x140021dc6
140021dae:	41 81 fa e8 fd 00 00 	cmp    $0xfde8,%r10d
140021db5:	74 0f                	je     0x140021dc6
140021db7:	41 81 fa e9 fd 00 00 	cmp    $0xfde9,%r10d
140021dbe:	74 06                	je     0x140021dc6
140021dc0:	0f ba f2 07          	btr    $0x7,%edx
140021dc4:	eb 02                	jmp    0x140021dc8
140021dc6:	8b d3                	mov    %ebx,%edx
140021dc8:	48 8b 4c 24 48       	mov    0x48(%rsp),%rcx
140021dcd:	45 84 db             	test   %r11b,%r11b
140021dd0:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
140021dd5:	48 0f 45 c3          	cmovne %rbx,%rax
140021dd9:	48 0f 45 cb          	cmovne %rbx,%rcx
140021ddd:	48 89 4c 24 48       	mov    %rcx,0x48(%rsp)
140021de2:	41 8b ca             	mov    %r10d,%ecx
140021de5:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
140021dea:	5b                   	pop    %rbx
140021deb:	48 ff 25 d6 a2 00 00 	rex.W jmp *0xa2d6(%rip)        # 0x14002c0c8
140021df2:	cc                   	int3
140021df3:	cc                   	int3
140021df4:	48 83 ec 28          	sub    $0x28,%rsp
140021df8:	45 33 d2             	xor    %r10d,%r10d
140021dfb:	44 39 15 ba 4c 02 00 	cmp    %r10d,0x24cba(%rip)        # 0x140046abc
140021e02:	75 7b                	jne    0x140021e7f
140021e04:	48 85 c9             	test   %rcx,%rcx
140021e07:	75 1a                	jne    0x140021e23
140021e09:	e8 de 2b ff ff       	call   0x1400149ec
140021e0e:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140021e14:	e8 7f e9 fe ff       	call   0x140010798
140021e19:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
140021e1e:	48 83 c4 28          	add    $0x28,%rsp
140021e22:	c3                   	ret
140021e23:	48 85 d2             	test   %rdx,%rdx
140021e26:	74 e1                	je     0x140021e09
140021e28:	48 2b ca             	sub    %rdx,%rcx
140021e2b:	0f b7 04 11          	movzwl (%rcx,%rdx,1),%eax
140021e2f:	44 0f b7 04 11       	movzwl (%rcx,%rdx,1),%r8d
140021e34:	66 83 e8 41          	sub    $0x41,%ax
140021e38:	44 0f b7 0a          	movzwl (%rdx),%r9d
140021e3c:	66 41 83 c0 20       	add    $0x20,%r8w
140021e41:	66 83 f8 19          	cmp    $0x19,%ax
140021e45:	0f b7 02             	movzwl (%rdx),%eax
140021e48:	66 44 0f 47 04 11    	cmova  (%rcx,%rdx,1),%r8w
140021e4e:	66 41 83 c1 20       	add    $0x20,%r9w
140021e53:	66 83 e8 41          	sub    $0x41,%ax
140021e57:	66 83 f8 19          	cmp    $0x19,%ax
140021e5b:	66 44 0f 47 0a       	cmova  (%rdx),%r9w
140021e60:	48 8d 52 02          	lea    0x2(%rdx),%rdx
140021e64:	66 45 85 c0          	test   %r8w,%r8w
140021e68:	74 06                	je     0x140021e70
140021e6a:	66 45 3b c1          	cmp    %r9w,%r8w
140021e6e:	74 bb                	je     0x140021e2b
140021e70:	41 0f b7 c9          	movzwl %r9w,%ecx
140021e74:	41 0f b7 c0          	movzwl %r8w,%eax
140021e78:	2b c1                	sub    %ecx,%eax
140021e7a:	48 83 c4 28          	add    $0x28,%rsp
140021e7e:	c3                   	ret
140021e7f:	45 33 c0             	xor    %r8d,%r8d
140021e82:	48 83 c4 28          	add    $0x28,%rsp
140021e86:	e9 01 00 00 00       	jmp    0x140021e8c
140021e8b:	cc                   	int3
140021e8c:	48 8b c4             	mov    %rsp,%rax
140021e8f:	48 89 58 08          	mov    %rbx,0x8(%rax)
140021e93:	48 89 68 10          	mov    %rbp,0x10(%rax)
140021e97:	48 89 70 18          	mov    %rsi,0x18(%rax)
140021e9b:	57                   	push   %rdi
140021e9c:	48 83 ec 40          	sub    $0x40,%rsp
140021ea0:	48 8b fa             	mov    %rdx,%rdi
140021ea3:	48 8b f1             	mov    %rcx,%rsi
140021ea6:	49 8b d0             	mov    %r8,%rdx
140021ea9:	48 8d 48 d8          	lea    -0x28(%rax),%rcx
140021ead:	e8 ee f0 fe ff       	call   0x140010fa0
140021eb2:	33 ed                	xor    %ebp,%ebp
140021eb4:	48 85 f6             	test   %rsi,%rsi
140021eb7:	74 05                	je     0x140021ebe
140021eb9:	48 85 ff             	test   %rdi,%rdi
140021ebc:	75 1a                	jne    0x140021ed8
140021ebe:	e8 29 2b ff ff       	call   0x1400149ec
140021ec3:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140021ec9:	e8 ca e8 fe ff       	call   0x140010798
140021ece:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
140021ed3:	e9 8a 00 00 00       	jmp    0x140021f62
140021ed8:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
140021edd:	48 39 a8 38 01 00 00 	cmp    %rbp,0x138(%rax)
140021ee4:	75 42                	jne    0x140021f28
140021ee6:	48 2b f7             	sub    %rdi,%rsi
140021ee9:	0f b7 04 3e          	movzwl (%rsi,%rdi,1),%eax
140021eed:	0f b7 1c 3e          	movzwl (%rsi,%rdi,1),%ebx
140021ef1:	66 83 e8 41          	sub    $0x41,%ax
140021ef5:	0f b7 0f             	movzwl (%rdi),%ecx
140021ef8:	66 83 c3 20          	add    $0x20,%bx
140021efc:	66 83 f8 19          	cmp    $0x19,%ax
140021f00:	0f b7 07             	movzwl (%rdi),%eax
140021f03:	66 0f 47 1c 3e       	cmova  (%rsi,%rdi,1),%bx
140021f08:	66 83 c1 20          	add    $0x20,%cx
140021f0c:	66 83 e8 41          	sub    $0x41,%ax
140021f10:	66 83 f8 19          	cmp    $0x19,%ax
140021f14:	66 0f 47 0f          	cmova  (%rdi),%cx
140021f18:	48 8d 7f 02          	lea    0x2(%rdi),%rdi
140021f1c:	66 85 db             	test   %bx,%bx
140021f1f:	74 39                	je     0x140021f5a
140021f21:	66 3b d9             	cmp    %cx,%bx
140021f24:	74 c3                	je     0x140021ee9
140021f26:	eb 32                	jmp    0x140021f5a
140021f28:	0f b7 0e             	movzwl (%rsi),%ecx
140021f2b:	48 8d 54 24 28       	lea    0x28(%rsp),%rdx
140021f30:	e8 77 76 00 00       	call   0x1400295ac
140021f35:	0f b7 0f             	movzwl (%rdi),%ecx
140021f38:	48 8d 54 24 28       	lea    0x28(%rsp),%rdx
140021f3d:	0f b7 d8             	movzwl %ax,%ebx
140021f40:	48 8d 76 02          	lea    0x2(%rsi),%rsi
140021f44:	e8 63 76 00 00       	call   0x1400295ac
140021f49:	48 8d 7f 02          	lea    0x2(%rdi),%rdi
140021f4d:	0f b7 c8             	movzwl %ax,%ecx
140021f50:	66 85 db             	test   %bx,%bx
140021f53:	74 05                	je     0x140021f5a
140021f55:	66 3b d8             	cmp    %ax,%bx
140021f58:	74 ce                	je     0x140021f28
140021f5a:	0f b7 c9             	movzwl %cx,%ecx
140021f5d:	0f b7 c3             	movzwl %bx,%eax
140021f60:	2b c1                	sub    %ecx,%eax
140021f62:	40 38 6c 24 38       	cmp    %bpl,0x38(%rsp)
140021f67:	74 0c                	je     0x140021f75
140021f69:	48 8b 4c 24 20       	mov    0x20(%rsp),%rcx
140021f6e:	83 a1 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rcx)
140021f75:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140021f7a:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
140021f7f:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
140021f84:	48 83 c4 40          	add    $0x40,%rsp
140021f88:	5f                   	pop    %rdi
140021f89:	c3                   	ret
140021f8a:	cc                   	int3
140021f8b:	cc                   	int3
140021f8c:	48 b8 80 70 00 00 80 	movabs $0x708000007080,%rax
140021f93:	70 00 00
140021f96:	89 05 4c 51 02 00    	mov    %eax,0x2514c(%rip)        # 0x1400470e8
140021f9c:	48 b8 01 00 00 00 01 	movabs $0x100000001,%rax
140021fa3:	00 00 00
140021fa6:	89 05 40 51 02 00    	mov    %eax,0x25140(%rip)        # 0x1400470ec
140021fac:	48 b8 f0 f1 ff ff f0 	movabs $0xfffff1f0fffff1f0,%rax
140021fb3:	f1 ff ff
140021fb6:	89 05 34 51 02 00    	mov    %eax,0x25134(%rip)        # 0x1400470f0
140021fbc:	48 8d 05 4d 26 02 00 	lea    0x2264d(%rip),%rax        # 0x140044610
140021fc3:	48 89 05 2e 51 02 00 	mov    %rax,0x2512e(%rip)        # 0x1400470f8
140021fca:	33 c0                	xor    %eax,%eax
140021fcc:	c3                   	ret
140021fcd:	cc                   	int3
140021fce:	cc                   	int3
140021fcf:	cc                   	int3
140021fd0:	40 53                	rex push %rbx
140021fd2:	48 83 ec 40          	sub    $0x40,%rsp
140021fd6:	48 63 d9             	movslq %ecx,%rbx
140021fd9:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140021fde:	e8 bd ef fe ff       	call   0x140010fa0
140021fe3:	8d 43 01             	lea    0x1(%rbx),%eax
140021fe6:	3d 00 01 00 00       	cmp    $0x100,%eax
140021feb:	77 13                	ja     0x140022000
140021fed:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
140021ff2:	48 8b 08             	mov    (%rax),%rcx
140021ff5:	0f b7 04 59          	movzwl (%rcx,%rbx,2),%eax
140021ff9:	25 00 80 00 00       	and    $0x8000,%eax
140021ffe:	eb 02                	jmp    0x140022002
140022000:	33 c0                	xor    %eax,%eax
140022002:	80 7c 24 38 00       	cmpb   $0x0,0x38(%rsp)
140022007:	74 0c                	je     0x140022015
140022009:	48 8b 4c 24 20       	mov    0x20(%rsp),%rcx
14002200e:	83 a1 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rcx)
140022015:	48 83 c4 40          	add    $0x40,%rsp
140022019:	5b                   	pop    %rbx
14002201a:	c3                   	ret
14002201b:	cc                   	int3
14002201c:	40 53                	rex push %rbx
14002201e:	48 83 ec 20          	sub    $0x20,%rsp
140022022:	33 db                	xor    %ebx,%ebx
140022024:	89 5c 24 30          	mov    %ebx,0x30(%rsp)
140022028:	65 48 8b 04 25 60 00 	mov    %gs:0x60,%rax
14002202f:	00 00
140022031:	48 8b 48 20          	mov    0x20(%rax),%rcx
140022035:	39 59 08             	cmp    %ebx,0x8(%rcx)
140022038:	7c 11                	jl     0x14002204b
14002203a:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
14002203f:	e8 20 97 ff ff       	call   0x14001b764
140022044:	83 7c 24 30 01       	cmpl   $0x1,0x30(%rsp)
140022049:	74 05                	je     0x140022050
14002204b:	bb 01 00 00 00       	mov    $0x1,%ebx
140022050:	8b c3                	mov    %ebx,%eax
140022052:	48 83 c4 20          	add    $0x20,%rsp
140022056:	5b                   	pop    %rbx
140022057:	c3                   	ret
140022058:	48 3b ca             	cmp    %rdx,%rcx
14002205b:	73 04                	jae    0x140022061
14002205d:	83 c8 ff             	or     $0xffffffff,%eax
140022060:	c3                   	ret
140022061:	33 c0                	xor    %eax,%eax
140022063:	48 3b ca             	cmp    %rdx,%rcx
140022066:	0f 97 c0             	seta   %al
140022069:	c3                   	ret
14002206a:	cc                   	int3
14002206b:	cc                   	int3
14002206c:	48 8b c4             	mov    %rsp,%rax
14002206f:	48 89 58 08          	mov    %rbx,0x8(%rax)
140022073:	48 89 68 10          	mov    %rbp,0x10(%rax)
140022077:	48 89 70 18          	mov    %rsi,0x18(%rax)
14002207b:	48 89 78 20          	mov    %rdi,0x20(%rax)
14002207f:	41 56                	push   %r14
140022081:	48 83 ec 40          	sub    $0x40,%rsp
140022085:	33 db                	xor    %ebx,%ebx
140022087:	45 8b f0             	mov    %r8d,%r14d
14002208a:	48 8b fa             	mov    %rdx,%rdi
14002208d:	48 8b f1             	mov    %rcx,%rsi
140022090:	48 85 c9             	test   %rcx,%rcx
140022093:	75 22                	jne    0x1400220b7
140022095:	38 5a 28             	cmp    %bl,0x28(%rdx)
140022098:	74 0c                	je     0x1400220a6
14002209a:	48 8b 4a 10          	mov    0x10(%rdx),%rcx
14002209e:	e8 e5 8d ff ff       	call   0x14001ae88
1400220a3:	88 5f 28             	mov    %bl,0x28(%rdi)
1400220a6:	48 89 5f 10          	mov    %rbx,0x10(%rdi)
1400220aa:	48 89 5f 18          	mov    %rbx,0x18(%rdi)
1400220ae:	48 89 5f 20          	mov    %rbx,0x20(%rdi)
1400220b2:	e9 22 01 00 00       	jmp    0x1400221d9
1400220b7:	66 39 19             	cmp    %bx,(%rcx)
1400220ba:	75 54                	jne    0x140022110
1400220bc:	48 39 5a 18          	cmp    %rbx,0x18(%rdx)
1400220c0:	75 46                	jne    0x140022108
1400220c2:	38 5a 28             	cmp    %bl,0x28(%rdx)
1400220c5:	74 0c                	je     0x1400220d3
1400220c7:	48 8b 4a 10          	mov    0x10(%rdx),%rcx
1400220cb:	e8 b8 8d ff ff       	call   0x14001ae88
1400220d0:	88 5f 28             	mov    %bl,0x28(%rdi)
1400220d3:	b9 01 00 00 00       	mov    $0x1,%ecx
1400220d8:	e8 87 a1 ff ff       	call   0x14001c264
1400220dd:	48 89 47 10          	mov    %rax,0x10(%rdi)
1400220e1:	48 8b cb             	mov    %rbx,%rcx
1400220e4:	48 f7 d8             	neg    %rax
1400220e7:	1b d2                	sbb    %edx,%edx
1400220e9:	f7 d2                	not    %edx
1400220eb:	83 e2 0c             	and    $0xc,%edx
1400220ee:	0f 94 c1             	sete   %cl
1400220f1:	85 d2                	test   %edx,%edx
1400220f3:	0f 94 c0             	sete   %al
1400220f6:	88 47 28             	mov    %al,0x28(%rdi)
1400220f9:	48 89 4f 18          	mov    %rcx,0x18(%rdi)
1400220fd:	85 d2                	test   %edx,%edx
1400220ff:	74 07                	je     0x140022108
140022101:	8b da                	mov    %edx,%ebx
140022103:	e9 d1 00 00 00       	jmp    0x1400221d9
140022108:	48 8b 47 10          	mov    0x10(%rdi),%rax
14002210c:	88 18                	mov    %bl,(%rax)
14002210e:	eb 9e                	jmp    0x1400220ae
140022110:	48 89 5c 24 38       	mov    %rbx,0x38(%rsp)
140022115:	41 83 c9 ff          	or     $0xffffffff,%r9d
140022119:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
14002211e:	4c 8b c6             	mov    %rsi,%r8
140022121:	89 5c 24 28          	mov    %ebx,0x28(%rsp)
140022125:	33 d2                	xor    %edx,%edx
140022127:	41 8b ce             	mov    %r14d,%ecx
14002212a:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
14002212f:	e8 28 fc ff ff       	call   0x140021d5c
140022134:	48 63 e8             	movslq %eax,%rbp
140022137:	85 c0                	test   %eax,%eax
140022139:	75 19                	jne    0x140022154
14002213b:	ff 15 1f 9f 00 00    	call   *0x9f1f(%rip)        # 0x14002c060
140022141:	8b c8                	mov    %eax,%ecx
140022143:	e8 34 28 ff ff       	call   0x14001497c
140022148:	e8 9f 28 ff ff       	call   0x1400149ec
14002214d:	8b 18                	mov    (%rax),%ebx
14002214f:	e9 85 00 00 00       	jmp    0x1400221d9
140022154:	48 8b 4f 18          	mov    0x18(%rdi),%rcx
140022158:	48 3b e9             	cmp    %rcx,%rbp
14002215b:	76 42                	jbe    0x14002219f
14002215d:	38 5f 28             	cmp    %bl,0x28(%rdi)
140022160:	74 0c                	je     0x14002216e
140022162:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140022166:	e8 1d 8d ff ff       	call   0x14001ae88
14002216b:	88 5f 28             	mov    %bl,0x28(%rdi)
14002216e:	48 8b cd             	mov    %rbp,%rcx
140022171:	e8 ee a0 ff ff       	call   0x14001c264
140022176:	48 89 47 10          	mov    %rax,0x10(%rdi)
14002217a:	48 8b cb             	mov    %rbx,%rcx
14002217d:	48 f7 d8             	neg    %rax
140022180:	1b d2                	sbb    %edx,%edx
140022182:	f7 d2                	not    %edx
140022184:	83 e2 0c             	and    $0xc,%edx
140022187:	48 0f 44 cd          	cmove  %rbp,%rcx
14002218b:	85 d2                	test   %edx,%edx
14002218d:	0f 94 c0             	sete   %al
140022190:	88 47 28             	mov    %al,0x28(%rdi)
140022193:	48 89 4f 18          	mov    %rcx,0x18(%rdi)
140022197:	85 d2                	test   %edx,%edx
140022199:	0f 85 62 ff ff ff    	jne    0x140022101
14002219f:	48 8b 47 10          	mov    0x10(%rdi),%rax
1400221a3:	41 83 c9 ff          	or     $0xffffffff,%r9d
1400221a7:	48 89 5c 24 38       	mov    %rbx,0x38(%rsp)
1400221ac:	4c 8b c6             	mov    %rsi,%r8
1400221af:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
1400221b4:	33 d2                	xor    %edx,%edx
1400221b6:	89 4c 24 28          	mov    %ecx,0x28(%rsp)
1400221ba:	41 8b ce             	mov    %r14d,%ecx
1400221bd:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1400221c2:	e8 95 fb ff ff       	call   0x140021d5c
1400221c7:	48 63 c8             	movslq %eax,%rcx
1400221ca:	85 c0                	test   %eax,%eax
1400221cc:	0f 84 69 ff ff ff    	je     0x14002213b
1400221d2:	48 ff c9             	dec    %rcx
1400221d5:	48 89 4f 20          	mov    %rcx,0x20(%rdi)
1400221d9:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
1400221de:	8b c3                	mov    %ebx,%eax
1400221e0:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
1400221e5:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
1400221ea:	48 8b 7c 24 68       	mov    0x68(%rsp),%rdi
1400221ef:	48 83 c4 40          	add    $0x40,%rsp
1400221f3:	41 5e                	pop    %r14
1400221f5:	c3                   	ret
1400221f6:	cc                   	int3
1400221f7:	cc                   	int3
1400221f8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400221fd:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140022202:	55                   	push   %rbp
140022203:	56                   	push   %rsi
140022204:	57                   	push   %rdi
140022205:	41 54                	push   %r12
140022207:	41 55                	push   %r13
140022209:	41 56                	push   %r14
14002220b:	41 57                	push   %r15