14002e398:	4c 2b c0             	sub    %rax,%r8
14002e39b:	49 d1 f8             	sar    $1,%r8
14002e39e:	48 83 c0 02          	add    $0x2,%rax
14002e3a2:	45 89 41 48          	mov    %r8d,0x48(%r9)
14002e3a6:	49 89 41 40          	mov    %rax,0x40(%r9)
14002e3aa:	c3                   	ret
14002e3ab:	cc                   	int3
14002e3ac:	4c 8d 49 50          	lea    0x50(%rcx),%r9
14002e3b0:	45 8a d8             	mov    %r8b,%r11b
14002e3b3:	49 8b 81 08 04 00 00 	mov    0x408(%r9),%rax
14002e3ba:	4c 8b d2             	mov    %rdx,%r10
14002e3bd:	48 85 c0             	test   %rax,%rax
14002e3c0:	75 07                	jne    0x14002e3c9
14002e3c2:	b8 00 02 00 00       	mov    $0x200,%eax
14002e3c7:	eb 0d                	jmp    0x14002e3d6
14002e3c9:	4c 8b c8             	mov    %rax,%r9
14002e3cc:	48 8b 81 50 04 00 00 	mov    0x450(%rcx),%rax
14002e3d3:	48 d1 e8             	shr    $1,%rax
14002e3d6:	49 8d 51 ff          	lea    -0x1(%r9),%rdx
14002e3da:	48 03 d0             	add    %rax,%rdx
14002e3dd:	48 89 51 40          	mov    %rdx,0x40(%rcx)
14002e3e1:	4c 8b c2             	mov    %rdx,%r8
14002e3e4:	8b 41 30             	mov    0x30(%rcx),%eax
14002e3e7:	85 c0                	test   %eax,%eax
14002e3e9:	7f 05                	jg     0x14002e3f0
14002e3eb:	4d 85 d2             	test   %r10,%r10
14002e3ee:	74 31                	je     0x14002e421
14002e3f0:	ff c8                	dec    %eax
14002e3f2:	89 41 30             	mov    %eax,0x30(%rcx)
14002e3f5:	41 8a c2             	mov    %r10b,%al
14002e3f8:	24 0f                	and    $0xf,%al
14002e3fa:	49 c1 ea 04          	shr    $0x4,%r10
14002e3fe:	04 30                	add    $0x30,%al
14002e400:	44 8a c8             	mov    %al,%r9b
14002e403:	3c 39                	cmp    $0x39,%al
14002e405:	76 0d                	jbe    0x14002e414
14002e407:	41 8a c3             	mov    %r11b,%al
14002e40a:	34 01                	xor    $0x1,%al
14002e40c:	c0 e0 05             	shl    $0x5,%al
14002e40f:	04 07                	add    $0x7,%al
14002e411:	41 02 c1             	add    %r9b,%al
14002e414:	41 88 00             	mov    %al,(%r8)
14002e417:	48 ff 49 40          	decq   0x40(%rcx)
14002e41b:	4c 8b 41 40          	mov    0x40(%rcx),%r8
14002e41f:	eb c3                	jmp    0x14002e3e4
14002e421:	2b 51 40             	sub    0x40(%rcx),%edx
14002e424:	49 8d 40 01          	lea    0x1(%r8),%rax
14002e428:	89 51 48             	mov    %edx,0x48(%rcx)
14002e42b:	48 89 41 40          	mov    %rax,0x40(%rcx)
14002e42f:	c3                   	ret
14002e430:	4c 8d 49 50          	lea    0x50(%rcx),%r9
14002e434:	45 8a d8             	mov    %r8b,%r11b
14002e437:	49 8b 81 08 04 00 00 	mov    0x408(%r9),%rax
14002e43e:	4c 8b d2             	mov    %rdx,%r10
14002e441:	48 85 c0             	test   %rax,%rax
14002e444:	75 07                	jne    0x14002e44d
14002e446:	b8 00 01 00 00       	mov    $0x100,%eax
14002e44b:	eb 0e                	jmp    0x14002e45b
14002e44d:	4c 8b c8             	mov    %rax,%r9
14002e450:	48 8b 81 50 04 00 00 	mov    0x450(%rcx),%rax
14002e457:	48 c1 e8 02          	shr    $0x2,%rax
14002e45b:	48 8d 40 ff          	lea    -0x1(%rax),%rax
14002e45f:	49 8d 14 41          	lea    (%r9,%rax,2),%rdx
14002e463:	48 89 51 40          	mov    %rdx,0x40(%rcx)
14002e467:	48 8b c2             	mov    %rdx,%rax
14002e46a:	4c 8b ca             	mov    %rdx,%r9
14002e46d:	44 8b 41 30          	mov    0x30(%rcx),%r8d
14002e471:	45 85 c0             	test   %r8d,%r8d
14002e474:	7f 05                	jg     0x14002e47b
14002e476:	4d 85 d2             	test   %r10,%r10
14002e479:	74 43                	je     0x14002e4be
14002e47b:	41 8d 40 ff          	lea    -0x1(%r8),%eax
14002e47f:	45 0f b7 c2          	movzwl %r10w,%r8d
14002e483:	66 41 83 e0 0f       	and    $0xf,%r8w
14002e488:	49 c1 ea 04          	shr    $0x4,%r10
14002e48c:	66 41 83 c0 30       	add    $0x30,%r8w
14002e491:	89 41 30             	mov    %eax,0x30(%rcx)
14002e494:	66 41 83 f8 39       	cmp    $0x39,%r8w
14002e499:	76 11                	jbe    0x14002e4ac
14002e49b:	41 8a c3             	mov    %r11b,%al
14002e49e:	34 01                	xor    $0x1,%al
14002e4a0:	c0 e0 05             	shl    $0x5,%al
14002e4a3:	04 07                	add    $0x7,%al
14002e4a5:	41 02 c0             	add    %r8b,%al
14002e4a8:	44 0f b6 c0          	movzbl %al,%r8d
14002e4ac:	66 45 89 01          	mov    %r8w,(%r9)
14002e4b0:	48 83 41 40 fe       	addq   $0xfffffffffffffffe,0x40(%rcx)
14002e4b5:	48 8b 41 40          	mov    0x40(%rcx),%rax
14002e4b9:	4c 8b c8             	mov    %rax,%r9
14002e4bc:	eb af                	jmp    0x14002e46d
14002e4be:	48 2b d0             	sub    %rax,%rdx
14002e4c1:	48 83 c0 02          	add    $0x2,%rax
14002e4c5:	48 d1 fa             	sar    $1,%rdx
14002e4c8:	89 51 48             	mov    %edx,0x48(%rcx)
14002e4cb:	48 89 41 40          	mov    %rax,0x40(%rcx)
14002e4cf:	c3                   	ret
14002e4d0:	48 8b 02             	mov    (%rdx),%rax
14002e4d3:	48 8b 90 f8 00 00 00 	mov    0xf8(%rax),%rdx
14002e4da:	48 8b 02             	mov    (%rdx),%rax
14002e4dd:	44 8a 08             	mov    (%rax),%r9b
14002e4e0:	8a 01                	mov    (%rcx),%al
14002e4e2:	84 c0                	test   %al,%al
14002e4e4:	74 14                	je     0x14002e4fa
14002e4e6:	8a d0                	mov    %al,%dl
14002e4e8:	8a c2                	mov    %dl,%al
14002e4ea:	41 3a d1             	cmp    %r9b,%dl
14002e4ed:	74 0b                	je     0x14002e4fa
14002e4ef:	48 ff c1             	inc    %rcx
14002e4f2:	8a 01                	mov    (%rcx),%al
14002e4f4:	8a d0                	mov    %al,%dl
14002e4f6:	84 c0                	test   %al,%al
14002e4f8:	75 ee                	jne    0x14002e4e8
14002e4fa:	48 ff c1             	inc    %rcx
14002e4fd:	84 c0                	test   %al,%al
14002e4ff:	74 38                	je     0x14002e539
14002e501:	eb 09                	jmp    0x14002e50c
14002e503:	2c 45                	sub    $0x45,%al
14002e505:	a8 df                	test   $0xdf,%al
14002e507:	74 09                	je     0x14002e512
14002e509:	48 ff c1             	inc    %rcx
14002e50c:	8a 01                	mov    (%rcx),%al
14002e50e:	84 c0                	test   %al,%al
14002e510:	75 f1                	jne    0x14002e503
14002e512:	4c 8b c1             	mov    %rcx,%r8
14002e515:	48 ff c9             	dec    %rcx
14002e518:	8a 01                	mov    (%rcx),%al
14002e51a:	3c 30                	cmp    $0x30,%al
14002e51c:	74 f7                	je     0x14002e515
14002e51e:	41 3a c1             	cmp    %r9b,%al
14002e521:	48 8d 51 ff          	lea    -0x1(%rcx),%rdx
14002e525:	48 0f 45 d1          	cmovne %rcx,%rdx
14002e529:	4c 2b c2             	sub    %rdx,%r8
14002e52c:	41 8a 04 10          	mov    (%r8,%rdx,1),%al
14002e530:	48 ff c2             	inc    %rdx
14002e533:	88 02                	mov    %al,(%rdx)
14002e535:	84 c0                	test   %al,%al
14002e537:	75 f3                	jne    0x14002e52c
14002e539:	c3                   	ret
14002e53a:	cc                   	int3
14002e53b:	cc                   	int3
14002e53c:	4c 8b dc             	mov    %rsp,%r11
14002e53f:	49 89 5b 10          	mov    %rbx,0x10(%r11)
14002e543:	49 89 6b 18          	mov    %rbp,0x18(%r11)
14002e547:	49 89 73 20          	mov    %rsi,0x20(%r11)
14002e54b:	57                   	push   %rdi
14002e54c:	48 83 ec 30          	sub    $0x30,%rsp
14002e550:	48 8b 69 08          	mov    0x8(%rcx),%rbp
14002e554:	48 8b f1             	mov    %rcx,%rsi
14002e557:	48 8b 41 10          	mov    0x10(%rcx),%rax
14002e55b:	48 8b fa             	mov    %rdx,%rdi
14002e55e:	49 8d 4b 08          	lea    0x8(%r11),%rcx
14002e562:	48 ff c8             	dec    %rax
14002e565:	49 89 4b f0          	mov    %rcx,-0x10(%r11)
14002e569:	49 8d 53 e8          	lea    -0x18(%r11),%rdx
14002e56d:	48 8b 5d 2c          	mov    0x2c(%rbp),%rbx
14002e571:	41 b1 01             	mov    $0x1,%r9b
14002e574:	41 b8 0a 00 00 00    	mov    $0xa,%r8d
14002e57a:	49 89 43 08          	mov    %rax,0x8(%r11)
14002e57e:	48 8b cd             	mov    %rbp,%rcx
14002e581:	49 89 43 e8          	mov    %rax,-0x18(%r11)
14002e585:	e8 d6 e1 ff ff       	call   0x14002c760
14002e58a:	89 07                	mov    %eax,(%rdi)
14002e58c:	33 c9                	xor    %ecx,%ecx
14002e58e:	48 8b 46 08          	mov    0x8(%rsi),%rax
14002e592:	38 48 30             	cmp    %cl,0x30(%rax)
14002e595:	74 06                	je     0x14002e59d
14002e597:	83 78 2c 22          	cmpl   $0x22,0x2c(%rax)
14002e59b:	74 11                	je     0x14002e5ae
14002e59d:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
14002e5a2:	48 3b 46 10          	cmp    0x10(%rsi),%rax
14002e5a6:	72 06                	jb     0x14002e5ae
14002e5a8:	48 89 46 10          	mov    %rax,0x10(%rsi)
14002e5ac:	b1 01                	mov    $0x1,%cl
14002e5ae:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
14002e5b3:	8a c1                	mov    %cl,%al
14002e5b5:	48 89 5d 2c          	mov    %rbx,0x2c(%rbp)
14002e5b9:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
14002e5be:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
14002e5c3:	48 83 c4 30          	add    $0x30,%rsp
14002e5c7:	5f                   	pop    %rdi
14002e5c8:	c3                   	ret
14002e5c9:	cc                   	int3
14002e5ca:	cc                   	int3
14002e5cb:	cc                   	int3
14002e5cc:	4c 8b dc             	mov    %rsp,%r11
14002e5cf:	49 89 5b 10          	mov    %rbx,0x10(%r11)
14002e5d3:	49 89 6b 18          	mov    %rbp,0x18(%r11)
14002e5d7:	49 89 73 20          	mov    %rsi,0x20(%r11)
14002e5db:	57                   	push   %rdi
14002e5dc:	48 83 ec 30          	sub    $0x30,%rsp
14002e5e0:	48 8b 69 08          	mov    0x8(%rcx),%rbp
14002e5e4:	48 8b f1             	mov    %rcx,%rsi
14002e5e7:	48 8b 41 10          	mov    0x10(%rcx),%rax
14002e5eb:	48 8b fa             	mov    %rdx,%rdi
14002e5ee:	49 8d 4b 08          	lea    0x8(%r11),%rcx
14002e5f2:	48 83 c0 fe          	add    $0xfffffffffffffffe,%rax
14002e5f6:	49 89 4b f0          	mov    %rcx,-0x10(%r11)
14002e5fa:	49 8d 53 e8          	lea    -0x18(%r11),%rdx
14002e5fe:	48 8b 5d 2c          	mov    0x2c(%rbp),%rbx
14002e602:	41 b1 01             	mov    $0x1,%r9b
14002e605:	41 b8 0a 00 00 00    	mov    $0xa,%r8d
14002e60b:	49 89 43 08          	mov    %rax,0x8(%r11)
14002e60f:	48 8b cd             	mov    %rbp,%rcx
14002e612:	49 89 43 e8          	mov    %rax,-0x18(%r11)
14002e616:	e8 f9 e3 ff ff       	call   0x14002ca14
14002e61b:	89 07                	mov    %eax,(%rdi)
14002e61d:	33 c9                	xor    %ecx,%ecx
14002e61f:	48 8b 46 08          	mov    0x8(%rsi),%rax
14002e623:	38 48 30             	cmp    %cl,0x30(%rax)
14002e626:	74 06                	je     0x14002e62e
14002e628:	83 78 2c 22          	cmpl   $0x22,0x2c(%rax)
14002e62c:	74 11                	je     0x14002e63f
14002e62e:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
14002e633:	48 3b 46 10          	cmp    0x10(%rsi),%rax
14002e637:	72 06                	jb     0x14002e63f
14002e639:	48 89 46 10          	mov    %rax,0x10(%rsi)
14002e63d:	b1 01                	mov    $0x1,%cl
14002e63f:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
14002e644:	8a c1                	mov    %cl,%al
14002e646:	48 89 5d 2c          	mov    %rbx,0x2c(%rbp)
14002e64a:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
14002e64f:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
14002e654:	48 83 c4 30          	add    $0x30,%rsp
14002e658:	5f                   	pop    %rdi
14002e659:	c3                   	ret
14002e65a:	cc                   	int3
14002e65b:	cc                   	int3
14002e65c:	48 8b c4             	mov    %rsp,%rax
14002e65f:	48 89 58 08          	mov    %rbx,0x8(%rax)
14002e663:	48 89 68 10          	mov    %rbp,0x10(%rax)
14002e667:	48 89 70 18          	mov    %rsi,0x18(%rax)
14002e66b:	48 89 78 20          	mov    %rdi,0x20(%rax)
14002e66f:	41 56                	push   %r14
14002e671:	48 83 ec 30          	sub    $0x30,%rsp
14002e675:	48 8b 41 08          	mov    0x8(%rcx),%rax
14002e679:	83 ce ff             	or     $0xffffffff,%esi
14002e67c:	33 ed                	xor    %ebp,%ebp
14002e67e:	48 8b d9             	mov    %rcx,%rbx
14002e681:	48 39 a9 60 04 00 00 	cmp    %rbp,0x460(%rcx)
14002e688:	75 10                	jne    0x14002e69a
14002e68a:	c6 40 30 01          	movb   $0x1,0x30(%rax)
14002e68e:	c7 40 2c 16 00 00 00 	movl   $0x16,0x2c(%rax)
14002e695:	e9 27 03 00 00       	jmp    0x14002e9c1
14002e69a:	48 8b 49 10          	mov    0x10(%rcx),%rcx
14002e69e:	48 85 c9             	test   %rcx,%rcx
14002e6a1:	75 2e                	jne    0x14002e6d1
14002e6a3:	c6 40 30 01          	movb   $0x1,0x30(%rax)
14002e6a7:	45 33 c9             	xor    %r9d,%r9d
14002e6aa:	c7 40 2c 16 00 00 00 	movl   $0x16,0x2c(%rax)
14002e6b1:	45 33 c0             	xor    %r8d,%r8d
14002e6b4:	48 8b 43 08          	mov    0x8(%rbx),%rax
14002e6b8:	33 d2                	xor    %edx,%edx
14002e6ba:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14002e6bf:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
14002e6c4:	e8 0f ce ff ff       	call   0x14002b4d8
14002e6c9:	83 c8 ff             	or     $0xffffffff,%eax
14002e6cc:	e9 96 02 00 00       	jmp    0x14002e967
14002e6d1:	8b 83 68 04 00 00    	mov    0x468(%rbx),%eax
14002e6d7:	ff c0                	inc    %eax
14002e6d9:	89 83 68 04 00 00    	mov    %eax,0x468(%rbx)
14002e6df:	83 f8 02             	cmp    $0x2,%eax
14002e6e2:	0f 84 7c 02 00 00    	je     0x14002e964
14002e6e8:	4c 8d 35 a1 0c 02 00 	lea    0x20ca1(%rip),%r14        # 0x14004f390
14002e6ef:	89 6b 48             	mov    %ebp,0x48(%rbx)
14002e6f2:	40 88 6b 24          	mov    %bpl,0x24(%rbx)
14002e6f6:	8a 11                	mov    (%rcx),%dl
14002e6f8:	48 ff c1             	inc    %rcx
14002e6fb:	e9 37 02 00 00       	jmp    0x14002e937
14002e700:	39 6b 20             	cmp    %ebp,0x20(%rbx)
14002e703:	0f 8c 3d 02 00 00    	jl     0x14002e946
14002e709:	8d 42 e0             	lea    -0x20(%rdx),%eax
14002e70c:	3c 5a                	cmp    $0x5a,%al
14002e70e:	77 12                	ja     0x14002e722
14002e710:	48 0f be c2          	movsbq %dl,%rax
14002e714:	48 83 e8 20          	sub    $0x20,%rax
14002e718:	83 e0 7f             	and    $0x7f,%eax
14002e71b:	41 8a 4c 46 01       	mov    0x1(%r14,%rax,2),%cl
14002e720:	eb 03                	jmp    0x14002e725
14002e722:	40 8a cd             	mov    %bpl,%cl
14002e725:	0f b6 c1             	movzbl %cl,%eax
14002e728:	48 8d 0c c0          	lea    (%rax,%rax,8),%rcx
14002e72c:	0f b6 43 24          	movzbl 0x24(%rbx),%eax
14002e730:	48 03 c8             	add    %rax,%rcx
14002e733:	83 e1 7f             	and    $0x7f,%ecx
14002e736:	41 0f b6 04 4e       	movzbl (%r14,%rcx,2),%eax
14002e73b:	88 43 24             	mov    %al,0x24(%rbx)
14002e73e:	3c 08                	cmp    $0x8,%al
14002e740:	0f 83 68 02 00 00    	jae    0x14002e9ae
14002e746:	8b c8                	mov    %eax,%ecx
14002e748:	84 c0                	test   %al,%al
14002e74a:	0f 84 11 01 00 00    	je     0x14002e861
14002e750:	83 e9 01             	sub    $0x1,%ecx
14002e753:	0f 84 f1 00 00 00    	je     0x14002e84a
14002e759:	83 e9 01             	sub    $0x1,%ecx
14002e75c:	0f 84 9e 00 00 00    	je     0x14002e800
14002e762:	83 e9 01             	sub    $0x1,%ecx
14002e765:	74 61                	je     0x14002e7c8
14002e767:	83 e9 01             	sub    $0x1,%ecx
14002e76a:	74 54                	je     0x14002e7c0
14002e76c:	83 e9 01             	sub    $0x1,%ecx
14002e76f:	74 22                	je     0x14002e793
14002e771:	83 e9 01             	sub    $0x1,%ecx
14002e774:	74 13                	je     0x14002e789
14002e776:	83 f9 01             	cmp    $0x1,%ecx
14002e779:	0f 85 5b 02 00 00    	jne    0x14002e9da
14002e77f:	48 8b cb             	mov    %rbx,%rcx
14002e782:	e8 41 0b 00 00       	call   0x14002f2c8
14002e787:	eb 6a                	jmp    0x14002e7f3
14002e789:	48 8b cb             	mov    %rbx,%rcx
14002e78c:	e8 ff 07 00 00       	call   0x14002ef90
14002e791:	eb 60                	jmp    0x14002e7f3
14002e793:	80 fa 2a             	cmp    $0x2a,%dl
14002e796:	74 0e                	je     0x14002e7a6
14002e798:	48 8d 53 30          	lea    0x30(%rbx),%rdx
14002e79c:	48 8b cb             	mov    %rbx,%rcx
14002e79f:	e8 98 fd ff ff       	call   0x14002e53c
14002e7a4:	eb 4d                	jmp    0x14002e7f3
14002e7a6:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
14002e7aa:	48 8d 41 08          	lea    0x8(%rcx),%rax
14002e7ae:	48 89 43 18          	mov    %rax,0x18(%rbx)
14002e7b2:	8b 01                	mov    (%rcx),%eax
14002e7b4:	85 c0                	test   %eax,%eax
14002e7b6:	8b c8                	mov    %eax,%ecx
14002e7b8:	0f 48 ce             	cmovs  %esi,%ecx
14002e7bb:	89 4b 30             	mov    %ecx,0x30(%rbx)
14002e7be:	eb 31                	jmp    0x14002e7f1
14002e7c0:	89 6b 30             	mov    %ebp,0x30(%rbx)
14002e7c3:	e9 65 01 00 00       	jmp    0x14002e92d
14002e7c8:	80 fa 2a             	cmp    $0x2a,%dl
14002e7cb:	74 06                	je     0x14002e7d3
14002e7cd:	48 8d 53 2c          	lea    0x2c(%rbx),%rdx
14002e7d1:	eb c9                	jmp    0x14002e79c
14002e7d3:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
14002e7d7:	48 8d 41 08          	lea    0x8(%rcx),%rax
14002e7db:	48 89 43 18          	mov    %rax,0x18(%rbx)
14002e7df:	8b 01                	mov    (%rcx),%eax
14002e7e1:	89 43 2c             	mov    %eax,0x2c(%rbx)
14002e7e4:	85 c0                	test   %eax,%eax
14002e7e6:	79 09                	jns    0x14002e7f1
14002e7e8:	83 4b 28 04          	orl    $0x4,0x28(%rbx)
14002e7ec:	f7 d8                	neg    %eax
14002e7ee:	89 43 2c             	mov    %eax,0x2c(%rbx)
14002e7f1:	b0 01                	mov    $0x1,%al
14002e7f3:	84 c0                	test   %al,%al
14002e7f5:	0f 84 df 01 00 00    	je     0x14002e9da
14002e7fb:	e9 2d 01 00 00       	jmp    0x14002e92d
14002e800:	80 fa 20             	cmp    $0x20,%dl
14002e803:	74 3c                	je     0x14002e841
14002e805:	80 fa 23             	cmp    $0x23,%dl
14002e808:	74 2e                	je     0x14002e838