14001c9c2:	48 8b 05 07 a8 02 00 	mov    0x2a807(%rip),%rax        # 0x1400471d0
14001c9c9:	48 8b da             	mov    %rdx,%rbx
14001c9cc:	48 39 02             	cmp    %rax,(%rdx)
14001c9cf:	74 16                	je     0x14001c9e7
14001c9d1:	8b 81 a8 03 00 00    	mov    0x3a8(%rcx),%eax
14001c9d7:	85 05 a3 7b 02 00    	test   %eax,0x27ba3(%rip)        # 0x140044580
14001c9dd:	75 08                	jne    0x14001c9e7
14001c9df:	e8 6c 67 00 00       	call   0x140023150
14001c9e4:	48 89 03             	mov    %rax,(%rbx)
14001c9e7:	48 83 c4 20          	add    $0x20,%rsp
14001c9eb:	5b                   	pop    %rbx
14001c9ec:	c3                   	ret
14001c9ed:	cc                   	int3
14001c9ee:	cc                   	int3
14001c9ef:	cc                   	int3
14001c9f0:	4c 8b dc             	mov    %rsp,%r11
14001c9f3:	49 89 5b 08          	mov    %rbx,0x8(%r11)
14001c9f7:	49 89 6b 10          	mov    %rbp,0x10(%r11)
14001c9fb:	49 89 73 18          	mov    %rsi,0x18(%r11)
14001c9ff:	57                   	push   %rdi
14001ca00:	41 54                	push   %r12
14001ca02:	41 55                	push   %r13
14001ca04:	41 56                	push   %r14
14001ca06:	41 57                	push   %r15
14001ca08:	48 83 ec 70          	sub    $0x70,%rsp
14001ca0c:	8b 84 24 c8 00 00 00 	mov    0xc8(%rsp),%eax
14001ca13:	45 33 ed             	xor    %r13d,%r13d
14001ca16:	85 c0                	test   %eax,%eax
14001ca18:	44 88 2a             	mov    %r13b,(%rdx)
14001ca1b:	48 8b da             	mov    %rdx,%rbx
14001ca1e:	4c 8b f1             	mov    %rcx,%r14
14001ca21:	48 8b 94 24 e0 00 00 	mov    0xe0(%rsp),%rdx
14001ca28:	00
14001ca29:	49 8d 4b b8          	lea    -0x48(%r11),%rcx
14001ca2d:	41 8b fd             	mov    %r13d,%edi
14001ca30:	49 8b e9             	mov    %r9,%rbp
14001ca33:	0f 49 f8             	cmovns %eax,%edi
14001ca36:	49 8b f0             	mov    %r8,%rsi
14001ca39:	e8 62 45 ff ff       	call   0x140010fa0
14001ca3e:	8d 47 0b             	lea    0xb(%rdi),%eax
14001ca41:	48 63 c8             	movslq %eax,%rcx
14001ca44:	48 3b f1             	cmp    %rcx,%rsi
14001ca47:	77 15                	ja     0x14001ca5e
14001ca49:	e8 9e 7f ff ff       	call   0x1400149ec
14001ca4e:	41 8d 7d 22          	lea    0x22(%r13),%edi
14001ca52:	89 38                	mov    %edi,(%rax)
14001ca54:	e8 3f 3d ff ff       	call   0x140010798
14001ca59:	e9 cc 02 00 00       	jmp    0x14001cd2a
14001ca5e:	49 8b 0e             	mov    (%r14),%rcx
14001ca61:	ba ff 07 00 00       	mov    $0x7ff,%edx
14001ca66:	48 8b c1             	mov    %rcx,%rax
14001ca69:	48 c1 e8 34          	shr    $0x34,%rax
14001ca6d:	48 23 c2             	and    %rdx,%rax
14001ca70:	48 3b c2             	cmp    %rdx,%rax
14001ca73:	75 76                	jne    0x14001caeb
14001ca75:	8b 84 24 d8 00 00 00 	mov    0xd8(%rsp),%eax
14001ca7c:	4c 8b cd             	mov    %rbp,%r9
14001ca7f:	4c 89 6c 24 40       	mov    %r13,0x40(%rsp)
14001ca84:	4c 8b c6             	mov    %rsi,%r8
14001ca87:	89 44 24 38          	mov    %eax,0x38(%rsp)
14001ca8b:	48 8b d3             	mov    %rbx,%rdx
14001ca8e:	48 8b 84 24 c0 00 00 	mov    0xc0(%rsp),%rax
14001ca95:	00
14001ca96:	49 8b ce             	mov    %r14,%rcx
14001ca99:	44 88 6c 24 30       	mov    %r13b,0x30(%rsp)
14001ca9e:	89 7c 24 28          	mov    %edi,0x28(%rsp)
14001caa2:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14001caa7:	e8 b4 02 00 00       	call   0x14001cd60
14001caac:	8b f8                	mov    %eax,%edi
14001caae:	85 c0                	test   %eax,%eax
14001cab0:	74 08                	je     0x14001caba
14001cab2:	44 88 2b             	mov    %r13b,(%rbx)
14001cab5:	e9 70 02 00 00       	jmp    0x14001cd2a
14001caba:	ba 65 00 00 00       	mov    $0x65,%edx
14001cabf:	48 8b cb             	mov    %rbx,%rcx
14001cac2:	e8 4d 11 ff ff       	call   0x14000dc14
14001cac7:	48 85 c0             	test   %rax,%rax
14001caca:	0f 84 57 02 00 00    	je     0x14001cd27
14001cad0:	8a 8c 24 d0 00 00 00 	mov    0xd0(%rsp),%cl
14001cad7:	80 f1 01             	xor    $0x1,%cl
14001cada:	c0 e1 05             	shl    $0x5,%cl
14001cadd:	80 c1 50             	add    $0x50,%cl
14001cae0:	88 08                	mov    %cl,(%rax)
14001cae2:	44 88 68 03          	mov    %r13b,0x3(%rax)
14001cae6:	e9 3c 02 00 00       	jmp    0x14001cd27
14001caeb:	b8 2d 00 00 00       	mov    $0x2d,%eax
14001caf0:	48 85 c9             	test   %rcx,%rcx
14001caf3:	79 08                	jns    0x14001cafd
14001caf5:	88 03                	mov    %al,(%rbx)
14001caf7:	48 ff c3             	inc    %rbx
14001cafa:	49 8b 0e             	mov    (%r14),%rcx
14001cafd:	8a 84 24 d0 00 00 00 	mov    0xd0(%rsp),%al
14001cb04:	4c 8d 7b 01          	lea    0x1(%rbx),%r15
14001cb08:	34 01                	xor    $0x1,%al
14001cb0a:	bd ff 03 00 00       	mov    $0x3ff,%ebp
14001cb0f:	44 0f b6 e0          	movzbl %al,%r12d
14001cb13:	41 ba 30 00 00 00    	mov    $0x30,%r10d
14001cb19:	41 8b d4             	mov    %r12d,%edx
14001cb1c:	48 b8 00 00 00 00 00 	movabs $0x7ff0000000000000,%rax
14001cb23:	00 f0 7f
14001cb26:	c1 e2 05             	shl    $0x5,%edx
14001cb29:	49 bb ff ff ff ff ff 	movabs $0xfffffffffffff,%r11
14001cb30:	ff 0f 00
14001cb33:	83 c2 07             	add    $0x7,%edx
14001cb36:	48 85 c8             	test   %rcx,%rax
14001cb39:	75 17                	jne    0x14001cb52
14001cb3b:	44 88 13             	mov    %r10b,(%rbx)
14001cb3e:	49 8b 06             	mov    (%r14),%rax
14001cb41:	49 23 c3             	and    %r11,%rax
14001cb44:	48 f7 d8             	neg    %rax
14001cb47:	48 1b ed             	sbb    %rbp,%rbp
14001cb4a:	81 e5 fe 03 00 00    	and    $0x3fe,%ebp
14001cb50:	eb 03                	jmp    0x14001cb55
14001cb52:	c6 03 31             	movb   $0x31,(%rbx)
14001cb55:	49 8d 77 01          	lea    0x1(%r15),%rsi
14001cb59:	85 ff                	test   %edi,%edi
14001cb5b:	75 05                	jne    0x14001cb62
14001cb5d:	41 8a c5             	mov    %r13b,%al
14001cb60:	eb 11                	jmp    0x14001cb73
14001cb62:	48 8b 44 24 58       	mov    0x58(%rsp),%rax
14001cb67:	48 8b 88 f8 00 00 00 	mov    0xf8(%rax),%rcx
14001cb6e:	48 8b 01             	mov    (%rcx),%rax
14001cb71:	8a 00                	mov    (%rax),%al
14001cb73:	41 88 07             	mov    %al,(%r15)
14001cb76:	4d 85 1e             	test   %r11,(%r14)
14001cb79:	0f 86 8d 00 00 00    	jbe    0x14001cc0c
14001cb7f:	45 0f b7 c2          	movzwl %r10w,%r8d
14001cb83:	49 b9 00 00 00 00 00 	movabs $0xf000000000000,%r9
14001cb8a:	00 0f 00
14001cb8d:	85 ff                	test   %edi,%edi
14001cb8f:	7e 2e                	jle    0x14001cbbf
14001cb91:	49 8b 06             	mov    (%r14),%rax
14001cb94:	41 8a c8             	mov    %r8b,%cl
14001cb97:	49 23 c1             	and    %r9,%rax
14001cb9a:	49 23 c3             	and    %r11,%rax
14001cb9d:	48 d3 e8             	shr    %cl,%rax
14001cba0:	66 41 03 c2          	add    %r10w,%ax
14001cba4:	66 83 f8 39          	cmp    $0x39,%ax
14001cba8:	76 03                	jbe    0x14001cbad
14001cbaa:	66 03 c2             	add    %dx,%ax
14001cbad:	88 06                	mov    %al,(%rsi)
14001cbaf:	ff cf                	dec    %edi
14001cbb1:	48 ff c6             	inc    %rsi
14001cbb4:	49 c1 e9 04          	shr    $0x4,%r9
14001cbb8:	66 41 83 c0 fc       	add    $0xfffc,%r8w
14001cbbd:	79 ce                	jns    0x14001cb8d
14001cbbf:	66 45 85 c0          	test   %r8w,%r8w
14001cbc3:	78 47                	js     0x14001cc0c
14001cbc5:	49 8b 06             	mov    (%r14),%rax
14001cbc8:	41 8a c8             	mov    %r8b,%cl
14001cbcb:	49 23 c1             	and    %r9,%rax
14001cbce:	49 23 c3             	and    %r11,%rax
14001cbd1:	48 d3 e8             	shr    %cl,%rax
14001cbd4:	66 83 f8 08          	cmp    $0x8,%ax
14001cbd8:	76 32                	jbe    0x14001cc0c
14001cbda:	48 8d 4e ff          	lea    -0x1(%rsi),%rcx
14001cbde:	44 8a 01             	mov    (%rcx),%r8b
14001cbe1:	41 8d 40 ba          	lea    -0x46(%r8),%eax
14001cbe5:	a8 df                	test   $0xdf,%al
14001cbe7:	75 08                	jne    0x14001cbf1
14001cbe9:	44 88 11             	mov    %r10b,(%rcx)
14001cbec:	48 ff c9             	dec    %rcx
14001cbef:	eb ed                	jmp    0x14001cbde
14001cbf1:	49 3b cf             	cmp    %r15,%rcx
14001cbf4:	74 13                	je     0x14001cc09
14001cbf6:	41 80 f8 39          	cmp    $0x39,%r8b
14001cbfa:	75 05                	jne    0x14001cc01
14001cbfc:	80 c2 3a             	add    $0x3a,%dl
14001cbff:	eb 04                	jmp    0x14001cc05
14001cc01:	41 8d 50 01          	lea    0x1(%r8),%edx
14001cc05:	88 11                	mov    %dl,(%rcx)
14001cc07:	eb 03                	jmp    0x14001cc0c
14001cc09:	fe 41 ff             	incb   -0x1(%rcx)
14001cc0c:	85 ff                	test   %edi,%edi
14001cc0e:	7e 19                	jle    0x14001cc29
14001cc10:	44 8b c7             	mov    %edi,%r8d
14001cc13:	41 8a d2             	mov    %r10b,%dl
14001cc16:	48 8b ce             	mov    %rsi,%rcx
14001cc19:	8b df                	mov    %edi,%ebx
14001cc1b:	e8 50 17 ff ff       	call   0x14000e370
14001cc20:	48 03 f3             	add    %rbx,%rsi
14001cc23:	41 ba 30 00 00 00    	mov    $0x30,%r10d
14001cc29:	45 38 2f             	cmp    %r13b,(%r15)
14001cc2c:	4c 0f 45 fe          	cmovne %rsi,%r15
14001cc30:	41 c0 e4 05          	shl    $0x5,%r12b
14001cc34:	41 80 c4 50          	add    $0x50,%r12b
14001cc38:	45 88 27             	mov    %r12b,(%r15)
14001cc3b:	4d 8d 4f 02          	lea    0x2(%r15),%r9
14001cc3f:	49 8b 06             	mov    (%r14),%rax
14001cc42:	48 c1 e8 34          	shr    $0x34,%rax
14001cc46:	25 ff 07 00 00       	and    $0x7ff,%eax
14001cc4b:	8b c8                	mov    %eax,%ecx
14001cc4d:	48 2b cd             	sub    %rbp,%rcx
14001cc50:	48 8b d1             	mov    %rcx,%rdx
14001cc53:	79 06                	jns    0x14001cc5b
14001cc55:	48 8b cd             	mov    %rbp,%rcx
14001cc58:	48 2b c8             	sub    %rax,%rcx
14001cc5b:	48 85 d2             	test   %rdx,%rdx
14001cc5e:	b8 2b 00 00 00       	mov    $0x2b,%eax
14001cc63:	4d 8b c1             	mov    %r9,%r8
14001cc66:	8d 50 02             	lea    0x2(%rax),%edx
14001cc69:	0f 48 c2             	cmovs  %edx,%eax
14001cc6c:	41 88 47 01          	mov    %al,0x1(%r15)
14001cc70:	45 88 11             	mov    %r10b,(%r9)
14001cc73:	48 81 f9 e8 03 00 00 	cmp    $0x3e8,%rcx
14001cc7a:	7c 30                	jl     0x14001ccac
14001cc7c:	48 b8 cf f7 53 e3 a5 	movabs $0x20c49ba5e353f7cf,%rax
14001cc83:	9b c4 20
14001cc86:	4d 8d 41 01          	lea    0x1(%r9),%r8
14001cc8a:	48 f7 e9             	imul   %rcx
14001cc8d:	48 c1 fa 07          	sar    $0x7,%rdx
14001cc91:	48 8b c2             	mov    %rdx,%rax
14001cc94:	48 c1 e8 3f          	shr    $0x3f,%rax
14001cc98:	48 03 d0             	add    %rax,%rdx
14001cc9b:	41 8d 04 12          	lea    (%r10,%rdx,1),%eax
14001cc9f:	41 88 01             	mov    %al,(%r9)
14001cca2:	48 69 c2 18 fc ff ff 	imul   $0xfffffffffffffc18,%rdx,%rax
14001cca9:	48 03 c8             	add    %rax,%rcx
14001ccac:	4d 3b c1             	cmp    %r9,%r8
14001ccaf:	75 06                	jne    0x14001ccb7
14001ccb1:	48 83 f9 64          	cmp    $0x64,%rcx
14001ccb5:	7c 2f                	jl     0x14001cce6
14001ccb7:	48 b8 0b d7 a3 70 3d 	movabs $0xa3d70a3d70a3d70b,%rax
14001ccbe:	0a d7 a3
14001ccc1:	48 f7 e9             	imul   %rcx
14001ccc4:	48 03 d1             	add    %rcx,%rdx
14001ccc7:	48 c1 fa 06          	sar    $0x6,%rdx
14001cccb:	48 8b c2             	mov    %rdx,%rax
14001ccce:	48 c1 e8 3f          	shr    $0x3f,%rax
14001ccd2:	48 03 d0             	add    %rax,%rdx
14001ccd5:	41 8d 04 12          	lea    (%r10,%rdx,1),%eax
14001ccd9:	41 88 00             	mov    %al,(%r8)
14001ccdc:	49 ff c0             	inc    %r8
14001ccdf:	48 6b c2 9c          	imul   $0xffffffffffffff9c,%rdx,%rax
14001cce3:	48 03 c8             	add    %rax,%rcx
14001cce6:	4d 3b c1             	cmp    %r9,%r8
14001cce9:	75 06                	jne    0x14001ccf1
14001cceb:	48 83 f9 0a          	cmp    $0xa,%rcx
14001ccef:	7c 2c                	jl     0x14001cd1d
14001ccf1:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
14001ccf8:	66 66 66
14001ccfb:	48 f7 e9             	imul   %rcx
14001ccfe:	48 c1 fa 02          	sar    $0x2,%rdx
14001cd02:	48 8b c2             	mov    %rdx,%rax
14001cd05:	48 c1 e8 3f          	shr    $0x3f,%rax
14001cd09:	48 03 d0             	add    %rax,%rdx
14001cd0c:	41 8d 04 12          	lea    (%r10,%rdx,1),%eax
14001cd10:	41 88 00             	mov    %al,(%r8)
14001cd13:	49 ff c0             	inc    %r8
14001cd16:	48 6b c2 f6          	imul   $0xfffffffffffffff6,%rdx,%rax
14001cd1a:	48 03 c8             	add    %rax,%rcx
14001cd1d:	41 02 ca             	add    %r10b,%cl
14001cd20:	41 88 08             	mov    %cl,(%r8)
14001cd23:	45 88 68 01          	mov    %r13b,0x1(%r8)
14001cd27:	41 8b fd             	mov    %r13d,%edi
14001cd2a:	44 38 6c 24 68       	cmp    %r13b,0x68(%rsp)
14001cd2f:	74 0c                	je     0x14001cd3d
14001cd31:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
14001cd36:	83 a1 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rcx)
14001cd3d:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
14001cd42:	8b c7                	mov    %edi,%eax
14001cd44:	49 8b 5b 30          	mov    0x30(%r11),%rbx
14001cd48:	49 8b 6b 38          	mov    0x38(%r11),%rbp
14001cd4c:	49 8b 73 40          	mov    0x40(%r11),%rsi
14001cd50:	49 8b e3             	mov    %r11,%rsp
14001cd53:	41 5f                	pop    %r15
14001cd55:	41 5e                	pop    %r14
14001cd57:	41 5d                	pop    %r13
14001cd59:	41 5c                	pop    %r12
14001cd5b:	5f                   	pop    %rdi
14001cd5c:	c3                   	ret
14001cd5d:	cc                   	int3
14001cd5e:	cc                   	int3
14001cd5f:	cc                   	int3
14001cd60:	4c 8b dc             	mov    %rsp,%r11
14001cd63:	49 89 5b 08          	mov    %rbx,0x8(%r11)
14001cd67:	49 89 6b 10          	mov    %rbp,0x10(%r11)
14001cd6b:	49 89 73 18          	mov    %rsi,0x18(%r11)
14001cd6f:	57                   	push   %rdi
14001cd70:	48 83 ec 50          	sub    $0x50,%rsp
14001cd74:	8b ac 24 88 00 00 00 	mov    0x88(%rsp),%ebp
14001cd7b:	49 8b f0             	mov    %r8,%rsi
14001cd7e:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
14001cd85:	00
14001cd86:	4d 8d 43 e8          	lea    -0x18(%r11),%r8
14001cd8a:	48 8b 09             	mov    (%rcx),%rcx
14001cd8d:	48 8b fa             	mov    %rdx,%rdi
14001cd90:	44 8d 55 02          	lea    0x2(%rbp),%r10d
14001cd94:	49 ff c2             	inc    %r10
14001cd97:	8d 55 01             	lea    0x1(%rbp),%edx
14001cd9a:	4c 3b d0             	cmp    %rax,%r10
14001cd9d:	49 0f 42 c2          	cmovb  %r10,%rax
14001cda1:	49 89 43 c8          	mov    %rax,-0x38(%r11)
14001cda5:	e8 12 ac 00 00       	call   0x1400279bc
14001cdaa:	33 c9                	xor    %ecx,%ecx
14001cdac:	4c 8d 4c 24 40       	lea    0x40(%rsp),%r9
14001cdb1:	83 7c 24 40 2d       	cmpl   $0x2d,0x40(%rsp)
14001cdb6:	44 8d 45 01          	lea    0x1(%rbp),%r8d
14001cdba:	48 8b d6             	mov    %rsi,%rdx
14001cdbd:	0f 94 c1             	sete   %cl
14001cdc0:	33 c0                	xor    %eax,%eax
14001cdc2:	85 ed                	test   %ebp,%ebp
14001cdc4:	0f 9f c0             	setg   %al
14001cdc7:	48 2b d0             	sub    %rax,%rdx
14001cdca:	48 2b d1             	sub    %rcx,%rdx
14001cdcd:	48 83 fe ff          	cmp    $0xffffffffffffffff,%rsi
14001cdd1:	48 0f 44 d6          	cmove  %rsi,%rdx
14001cdd5:	48 03 c8             	add    %rax,%rcx
14001cdd8:	48 03 cf             	add    %rdi,%rcx
14001cddb:	e8 f8 aa 00 00       	call   0x1400278d8
14001cde0:	85 c0                	test   %eax,%eax
14001cde2:	74 05                	je     0x14001cde9
14001cde4:	c6 07 00             	movb   $0x0,(%rdi)
14001cde7:	eb 3d                	jmp    0x14001ce26
14001cde9:	48 8b 84 24 a0 00 00 	mov    0xa0(%rsp),%rax
14001cdf0:	00
14001cdf1:	44 8b c5             	mov    %ebp,%r8d
14001cdf4:	44 8a 8c 24 90 00 00 	mov    0x90(%rsp),%r9b
14001cdfb:	00
14001cdfc:	48 8b d6             	mov    %rsi,%rdx
14001cdff:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
14001ce04:	48 8b cf             	mov    %rdi,%rcx
14001ce07:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
14001ce0c:	c6 44 24 30 00       	movb   $0x0,0x30(%rsp)
14001ce11:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14001ce16:	8b 84 24 98 00 00 00 	mov    0x98(%rsp),%eax
14001ce1d:	89 44 24 20          	mov    %eax,0x20(%rsp)
14001ce21:	e8 16 00 00 00       	call   0x14001ce3c
14001ce26:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
14001ce2b:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
14001ce30:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
14001ce35:	48 83 c4 50          	add    $0x50,%rsp
14001ce39:	5f                   	pop    %rdi
14001ce3a:	c3                   	ret
14001ce3b:	cc                   	int3
14001ce3c:	48 8b c4             	mov    %rsp,%rax
14001ce3f:	48 89 58 08          	mov    %rbx,0x8(%rax)
14001ce43:	48 89 68 10          	mov    %rbp,0x10(%rax)
14001ce47:	48 89 70 18          	mov    %rsi,0x18(%rax)
14001ce4b:	48 89 78 20          	mov    %rdi,0x20(%rax)
14001ce4f:	41 57                	push   %r15
14001ce51:	48 83 ec 50          	sub    $0x50,%rsp
14001ce55:	33 c0                	xor    %eax,%eax
14001ce57:	49 63 d8             	movslq %r8d,%rbx
14001ce5a:	45 85 c0             	test   %r8d,%r8d
14001ce5d:	45 8a f9             	mov    %r9b,%r15b
14001ce60:	48 8b ea             	mov    %rdx,%rbp
14001ce63:	48 8b f9             	mov    %rcx,%rdi
14001ce66:	0f 4f c3             	cmovg  %ebx,%eax
14001ce69:	83 c0 09             	add    $0x9,%eax