14002b696:	0f 82 03 01 00 00    	jb     0x14002b79f
14002b69c:	83 ff 7f             	cmp    $0x7f,%edi
14002b69f:	0f 84 fa 00 00 00    	je     0x14002b79f
14002b6a5:	83 ff 22             	cmp    $0x22,%edi
14002b6a8:	0f 84 f1 00 00 00    	je     0x14002b79f
14002b6ae:	83 ff 5c             	cmp    $0x5c,%edi
14002b6b1:	0f 84 e8 00 00 00    	je     0x14002b79f
14002b6b7:	8b cf                	mov    %edi,%ecx
14002b6b9:	e8 c2 8f fd ff       	call   0x140004680
14002b6be:	84 c0                	test   %al,%al
14002b6c0:	0f 84 d9 00 00 00    	je     0x14002b79f
14002b6c6:	48 83 c6 02          	add    $0x2,%rsi
14002b6ca:	49 3b f7             	cmp    %r15,%rsi
14002b6cd:	75 c1                	jne    0x14002b690
14002b6cf:	49 8b ed             	mov    %r13,%rbp
14002b6d2:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
14002b6d7:	44 89 6c 24 30       	mov    %r13d,0x30(%rsp)
14002b6dc:	f2 0f 10 4c 24 30    	movsd  0x30(%rsp),%xmm1
14002b6e2:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14002b6e7:	f2 0f 11 4c 24 50    	movsd  %xmm1,0x50(%rsp)
14002b6ed:	0f 10 44 24 20       	movups 0x20(%rsp),%xmm0
14002b6f2:	0f 11 44 24 40       	movups %xmm0,0x40(%rsp)
14002b6f7:	4c 3b f6             	cmp    %rsi,%r14
14002b6fa:	74 36                	je     0x14002b732
14002b6fc:	0f 1f 40 00          	nopl   0x0(%rax)
14002b700:	48 8b 53 10          	mov    0x10(%rbx),%rdx
14002b704:	41 0f b7 3e          	movzwl (%r14),%edi
14002b708:	48 ff c2             	inc    %rdx
14002b70b:	49 83 c6 02          	add    $0x2,%r14
14002b70f:	48 3b 53 18          	cmp    0x18(%rbx),%rdx
14002b713:	76 08                	jbe    0x14002b71d
14002b715:	48 8b 03             	mov    (%rbx),%rax
14002b718:	48 8b cb             	mov    %rbx,%rcx
14002b71b:	ff 10                	call   *(%rax)
14002b71d:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
14002b721:	48 8b 43 08          	mov    0x8(%rbx),%rax
14002b725:	66 89 3c 48          	mov    %di,(%rax,%rcx,2)
14002b729:	48 ff 43 10          	incq   0x10(%rbx)
14002b72d:	4c 3b f6             	cmp    %rsi,%r14
14002b730:	75 ce                	jne    0x14002b700
14002b732:	4c 8b f5             	mov    %rbp,%r14
14002b735:	48 85 ed             	test   %rbp,%rbp
14002b738:	74 1e                	je     0x14002b758
14002b73a:	4c 8d 44 24 40       	lea    0x40(%rsp),%r8
14002b73f:	48 8b d3             	mov    %rbx,%rdx
14002b742:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
14002b747:	e8 14 3e 00 00       	call   0x14002f560
14002b74c:	48 8b 18             	mov    (%rax),%rbx
14002b74f:	49 3b ef             	cmp    %r15,%rbp
14002b752:	0f 85 2a ff ff ff    	jne    0x14002b682
14002b758:	48 8b 53 10          	mov    0x10(%rbx),%rdx
14002b75c:	48 ff c2             	inc    %rdx
14002b75f:	48 3b 53 18          	cmp    0x18(%rbx),%rdx
14002b763:	76 09                	jbe    0x14002b76e
14002b765:	4c 8b 03             	mov    (%rbx),%r8
14002b768:	48 8b cb             	mov    %rbx,%rcx
14002b76b:	41 ff 10             	call   *(%r8)
14002b76e:	48 8b 53 10          	mov    0x10(%rbx),%rdx
14002b772:	49 8b c4             	mov    %r12,%rax
14002b775:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
14002b779:	66 c7 04 51 22 00    	movw   $0x22,(%rcx,%rdx,2)
14002b77f:	48 ff 43 10          	incq   0x10(%rbx)
14002b783:	49 89 1c 24          	mov    %rbx,(%r12)
14002b787:	48 8b 9c 24 a8 00 00 	mov    0xa8(%rsp),%rbx
14002b78e:	00
14002b78f:	48 83 c4 60          	add    $0x60,%rsp
14002b793:	41 5f                	pop    %r15
14002b795:	41 5e                	pop    %r14
14002b797:	41 5d                	pop    %r13
14002b799:	41 5c                	pop    %r12
14002b79b:	5f                   	pop    %rdi
14002b79c:	5e                   	pop    %rsi
14002b79d:	5d                   	pop    %rbp
14002b79e:	c3                   	ret
14002b79f:	48 8d 6e 02          	lea    0x2(%rsi),%rbp
14002b7a3:	89 7c 24 30          	mov    %edi,0x30(%rsp)
14002b7a7:	48 89 6c 24 28       	mov    %rbp,0x28(%rsp)
14002b7ac:	e9 2b ff ff ff       	jmp    0x14002b6dc
14002b7b1:	cc                   	int3
14002b7b2:	cc                   	int3
14002b7b3:	cc                   	int3
14002b7b4:	cc                   	int3
14002b7b5:	cc                   	int3
14002b7b6:	cc                   	int3
14002b7b7:	cc                   	int3
14002b7b8:	cc                   	int3
14002b7b9:	cc                   	int3
14002b7ba:	cc                   	int3
14002b7bb:	cc                   	int3
14002b7bc:	cc                   	int3
14002b7bd:	cc                   	int3
14002b7be:	cc                   	int3
14002b7bf:	cc                   	int3
14002b7c0:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
14002b7c5:	55                   	push   %rbp
14002b7c6:	53                   	push   %rbx
14002b7c7:	56                   	push   %rsi
14002b7c8:	57                   	push   %rdi
14002b7c9:	41 54                	push   %r12
14002b7cb:	41 55                	push   %r13
14002b7cd:	41 56                	push   %r14
14002b7cf:	41 57                	push   %r15
14002b7d1:	48 8d 6c 24 e9       	lea    -0x17(%rsp),%rbp
14002b7d6:	48 81 ec a8 00 00 00 	sub    $0xa8,%rsp
14002b7dd:	48 8b 05 5c c8 04 00 	mov    0x4c85c(%rip),%rax        # 0x140078040
14002b7e4:	48 33 c4             	xor    %rsp,%rax
14002b7e7:	48 89 45 07          	mov    %rax,0x7(%rbp)
14002b7eb:	4d 8b f9             	mov    %r9,%r15
14002b7ee:	49 8b f8             	mov    %r8,%rdi
14002b7f1:	48 8b da             	mov    %rdx,%rbx
14002b7f4:	4c 8b e9             	mov    %rcx,%r13
14002b7f7:	49 8b f0             	mov    %r8,%rsi
14002b7fa:	48 c1 ee 20          	shr    $0x20,%rsi
14002b7fe:	41 0f b6 49 08       	movzbl 0x8(%r9),%ecx
14002b803:	83 f9 0f             	cmp    $0xf,%ecx
14002b806:	0f 87 e7 05 00 00    	ja     0x14002bdf3
14002b80c:	4c 8d 35 ed 47 fd ff 	lea    -0x2b813(%rip),%r14        # 0x140000000
14002b813:	41 8b 84 8e 54 be 02 	mov    0x2be54(%r14,%rcx,4),%eax
14002b81a:	00
14002b81b:	49 03 c6             	add    %r14,%rax
14002b81e:	ff e0                	jmp    *%rax
14002b820:	41 f6 41 0a 01       	testb  $0x1,0xa(%r9)
14002b825:	74 28                	je     0x14002b84f
14002b827:	8b d7                	mov    %edi,%edx
14002b829:	48 8b 4d 7f          	mov    0x7f(%rbp),%rcx
14002b82d:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
14002b832:	44 8b c6             	mov    %esi,%r8d
14002b835:	48 8d 4d 67          	lea    0x67(%rbp),%rcx
14002b839:	e8 e2 3f 00 00       	call   0x14002f820
14002b83e:	84 c0                	test   %al,%al
14002b840:	74 09                	je     0x14002b84b
14002b842:	48 8b 4d 67          	mov    0x67(%rbp),%rcx
14002b846:	e9 fb 01 00 00       	jmp    0x14002ba46
14002b84b:	48 8b 5d 67          	mov    0x67(%rbp),%rbx
14002b84f:	45 33 e4             	xor    %r12d,%r12d
14002b852:	44 89 65 ff          	mov    %r12d,-0x1(%rbp)
14002b856:	8b c7                	mov    %edi,%eax
14002b858:	83 c8 01             	or     $0x1,%eax
14002b85b:	0f bd c0             	bsr    %eax,%eax
14002b85e:	8b d7                	mov    %edi,%edx
14002b860:	48 98                	cltq
14002b862:	4d 8b 9c c6 90 1f 06 	mov    0x61f90(%r14,%rax,8),%r11
14002b869:	00
14002b86a:	4c 03 da             	add    %rdx,%r11
14002b86d:	49 c1 eb 20          	shr    $0x20,%r11
14002b871:	4c 89 5d ff          	mov    %r11,-0x1(%rbp)
14002b875:	45 8b f3             	mov    %r11d,%r14d
14002b878:	49 c1 e6 20          	shl    $0x20,%r14
14002b87c:	4c 0b f2             	or     %rdx,%r14
14002b87f:	45 8b 47 04          	mov    0x4(%r15),%r8d
14002b883:	41 8b 17             	mov    (%r15),%edx
14002b886:	41 8d 40 01          	lea    0x1(%r8),%eax
14002b88a:	0b c2                	or     %edx,%eax
14002b88c:	75 66                	jne    0x14002b8f4
14002b88e:	85 f6                	test   %esi,%esi
14002b890:	74 47                	je     0x14002b8d9
14002b892:	81 e6 ff ff ff 00    	and    $0xffffff,%esi
14002b898:	74 3f                	je     0x14002b8d9
14002b89a:	41 bf ff 00 00 00    	mov    $0xff,%r15d
14002b8a0:	44 0f b7 f6          	movzwl %si,%r14d
14002b8a4:	66 45 23 f7          	and    %r15w,%r14w
14002b8a8:	48 8b 53 10          	mov    0x10(%rbx),%rdx
14002b8ac:	48 ff c2             	inc    %rdx
14002b8af:	48 3b 53 18          	cmp    0x18(%rbx),%rdx
14002b8b3:	76 08                	jbe    0x14002b8bd
14002b8b5:	48 8b 03             	mov    (%rbx),%rax
14002b8b8:	48 8b cb             	mov    %rbx,%rcx
14002b8bb:	ff 10                	call   *(%rax)
14002b8bd:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
14002b8c1:	48 8b 43 08          	mov    0x8(%rbx),%rax
14002b8c5:	66 44 89 34 48       	mov    %r14w,(%rax,%rcx,2)
14002b8ca:	48 ff 43 10          	incq   0x10(%rbx)
14002b8ce:	c1 ee 08             	shr    $0x8,%esi
14002b8d1:	85 f6                	test   %esi,%esi
14002b8d3:	75 cb                	jne    0x14002b8a0
14002b8d5:	4c 8b 5d ff          	mov    -0x1(%rbp),%r11
14002b8d9:	45 8b cb             	mov    %r11d,%r9d
14002b8dc:	44 8b c7             	mov    %edi,%r8d
14002b8df:	48 8b d3             	mov    %rbx,%rdx
14002b8e2:	48 8d 4d ef          	lea    -0x11(%rbp),%rcx
14002b8e6:	e8 35 eb ff ff       	call   0x14002a420
14002b8eb:	48 8b 48 08          	mov    0x8(%rax),%rcx
14002b8ef:	e9 52 01 00 00       	jmp    0x14002ba46
14002b8f4:	44 8b d6             	mov    %esi,%r10d
14002b8f7:	41 c1 ea 18          	shr    $0x18,%r10d
14002b8fb:	43 8d 0c 1a          	lea    (%r10,%r11,1),%ecx
14002b8ff:	41 0f b6 47 09       	movzbl 0x9(%r15),%eax
14002b904:	24 0f                	and    $0xf,%al
14002b906:	3c 04                	cmp    $0x4,%al
14002b908:	75 1c                	jne    0x14002b926
14002b90a:	48 8b c2             	mov    %rdx,%rax
14002b90d:	4c 8b ca             	mov    %rdx,%r9
14002b910:	48 3b d1             	cmp    %rcx,%rdx
14002b913:	4c 0f 46 c9          	cmovbe %rcx,%r9
14002b917:	48 2b d1             	sub    %rcx,%rdx
14002b91a:	48 3b c1             	cmp    %rcx,%rax
14002b91d:	49 0f 46 d4          	cmovbe %r12,%rdx
14002b921:	49 8b c9             	mov    %r9,%rcx
14002b924:	eb 1a                	jmp    0x14002b940
14002b926:	49 8b d4             	mov    %r12,%rdx
14002b929:	4c 8b c9             	mov    %rcx,%r9
14002b92c:	45 3b c3             	cmp    %r11d,%r8d
14002b92f:	7e 0f                	jle    0x14002b940
14002b931:	43 8d 04 02          	lea    (%r10,%r8,1),%eax
14002b935:	8b c8                	mov    %eax,%ecx
14002b937:	45 2b c3             	sub    %r11d,%r8d
14002b93a:	41 8b d0             	mov    %r8d,%edx
14002b93d:	44 8b c8             	mov    %eax,%r9d
14002b940:	89 75 bf             	mov    %esi,-0x41(%rbp)
14002b943:	4c 89 4d c7          	mov    %r9,-0x39(%rbp)
14002b947:	48 89 55 cf          	mov    %rdx,-0x31(%rbp)
14002b94b:	4c 89 75 d7          	mov    %r14,-0x29(%rbp)
14002b94f:	48 8d 45 bf          	lea    -0x41(%rbp),%rax
14002b953:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14002b958:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
14002b95d:	4d 8b c7             	mov    %r15,%r8
14002b960:	48 8b d3             	mov    %rbx,%rdx
14002b963:	49 8b cd             	mov    %r13,%rcx
14002b966:	e8 95 60 00 00       	call   0x140031a00
14002b96b:	e9 da 00 00 00       	jmp    0x14002ba4a
14002b970:	80 f9 04             	cmp    $0x4,%cl
14002b973:	41 0f 94 c1          	sete   %r9b
14002b977:	45 0f b6 47 09       	movzbl 0x9(%r15),%r8d
14002b97c:	45 84 c0             	test   %r8b,%r8b
14002b97f:	79 1f                	jns    0x14002b9a0
14002b981:	b8 30 78 00 00       	mov    $0x7830,%eax
14002b986:	ba 30 58 00 00       	mov    $0x5830,%edx
14002b98b:	80 f9 04             	cmp    $0x4,%cl
14002b98e:	0f 44 c2             	cmove  %edx,%eax
14002b991:	85 f6                	test   %esi,%esi
14002b993:	74 03                	je     0x14002b998
14002b995:	c1 e0 08             	shl    $0x8,%eax
14002b998:	0b f0                	or     %eax,%esi
14002b99a:	81 c6 00 00 00 02    	add    $0x2000000,%esi
14002b9a0:	45 33 e4             	xor    %r12d,%r12d
14002b9a3:	44 89 65 ff          	mov    %r12d,-0x1(%rbp)
14002b9a7:	8b c7                	mov    %edi,%eax
14002b9a9:	83 c8 01             	or     $0x1,%eax
14002b9ac:	0f bd c0             	bsr    %eax,%eax
14002b9af:	99                   	cltd
14002b9b0:	83 e2 03             	and    $0x3,%edx
14002b9b3:	44 8d 14 02          	lea    (%rdx,%rax,1),%r10d
14002b9b7:	41 c1 fa 02          	sar    $0x2,%r10d
14002b9bb:	41 ff c2             	inc    %r10d
14002b9be:	89 7d a7             	mov    %edi,-0x59(%rbp)
14002b9c1:	44 89 55 ab          	mov    %r10d,-0x55(%rbp)
14002b9c5:	44 88 4d af          	mov    %r9b,-0x51(%rbp)
14002b9c9:	f2 0f 10 45 a7       	movsd  -0x59(%rbp),%xmm0
14002b9ce:	f2 0f 11 45 ef       	movsd  %xmm0,-0x11(%rbp)
14002b9d3:	8b 7d af             	mov    -0x51(%rbp),%edi
14002b9d6:	89 7d f7             	mov    %edi,-0x9(%rbp)
14002b9d9:	41 8b 57 04          	mov    0x4(%r15),%edx
14002b9dd:	45 8b 37             	mov    (%r15),%r14d
14002b9e0:	8d 4a 01             	lea    0x1(%rdx),%ecx
14002b9e3:	41 0b ce             	or     %r14d,%ecx
14002b9e6:	0f 85 81 00 00 00    	jne    0x14002ba6d
14002b9ec:	85 f6                	test   %esi,%esi
14002b9ee:	74 43                	je     0x14002ba33
14002b9f0:	81 e6 ff ff ff 00    	and    $0xffffff,%esi
14002b9f6:	74 3b                	je     0x14002ba33
14002b9f8:	41 bf ff 00 00 00    	mov    $0xff,%r15d
14002b9fe:	66 90                	xchg   %ax,%ax
14002ba00:	0f b7 fe             	movzwl %si,%edi
14002ba03:	66 41 23 ff          	and    %r15w,%di
14002ba07:	48 8b 53 10          	mov    0x10(%rbx),%rdx
14002ba0b:	48 ff c2             	inc    %rdx
14002ba0e:	48 3b 53 18          	cmp    0x18(%rbx),%rdx
14002ba12:	76 08                	jbe    0x14002ba1c
14002ba14:	48 8b 03             	mov    (%rbx),%rax
14002ba17:	48 8b cb             	mov    %rbx,%rcx
14002ba1a:	ff 10                	call   *(%rax)
14002ba1c:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
14002ba20:	48 8b 43 08          	mov    0x8(%rbx),%rax
14002ba24:	66 89 3c 48          	mov    %di,(%rax,%rcx,2)
14002ba28:	48 ff 43 10          	incq   0x10(%rbx)
14002ba2c:	c1 ee 08             	shr    $0x8,%esi
14002ba2f:	85 f6                	test   %esi,%esi
14002ba31:	75 cd                	jne    0x14002ba00
14002ba33:	4c 8b c3             	mov    %rbx,%r8
14002ba36:	48 8d 55 ff          	lea    -0x1(%rbp),%rdx
14002ba3a:	48 8d 4d ef          	lea    -0x11(%rbp),%rcx
14002ba3e:	e8 5d 04 00 00       	call   0x14002bea0
14002ba43:	48 8b 08             	mov    (%rax),%rcx
14002ba46:	49 89 4d 00          	mov    %rcx,0x0(%r13)
14002ba4a:	49 8b c5             	mov    %r13,%rax
14002ba4d:	48 8b 4d 07          	mov    0x7(%rbp),%rcx
14002ba51:	48 33 cc             	xor    %rsp,%rcx
14002ba54:	e8 a7 dd 02 00       	call   0x140059800
14002ba59:	48 81 c4 a8 00 00 00 	add    $0xa8,%rsp
14002ba60:	41 5f                	pop    %r15
14002ba62:	41 5e                	pop    %r14
14002ba64:	41 5d                	pop    %r13
14002ba66:	41 5c                	pop    %r12
14002ba68:	5f                   	pop    %rdi
14002ba69:	5e                   	pop    %rsi
14002ba6a:	5b                   	pop    %rbx
14002ba6b:	5d                   	pop    %rbp
14002ba6c:	c3                   	ret
14002ba6d:	44 8b de             	mov    %esi,%r11d
14002ba70:	41 c1 eb 18          	shr    $0x18,%r11d
14002ba74:	47 8d 0c 13          	lea    (%r11,%r10,1),%r9d
14002ba78:	41 80 e0 0f          	and    $0xf,%r8b
14002ba7c:	41 80 f8 04          	cmp    $0x4,%r8b
14002ba80:	75 1c                	jne    0x14002ba9e
14002ba82:	4d 8b c6             	mov    %r14,%r8
14002ba85:	4d 3b f1             	cmp    %r9,%r14
14002ba88:	4d 0f 46 c1          	cmovbe %r9,%r8
14002ba8c:	49 8b ce             	mov    %r14,%rcx
14002ba8f:	49 2b c9             	sub    %r9,%rcx
14002ba92:	4d 3b f1             	cmp    %r9,%r14
14002ba95:	49 0f 46 cc          	cmovbe %r12,%rcx
14002ba99:	4d 8b c8             	mov    %r8,%r9
14002ba9c:	eb 1a                	jmp    0x14002bab8
14002ba9e:	49 8b cc             	mov    %r12,%rcx
14002baa1:	4d 8b c1             	mov    %r9,%r8
14002baa4:	41 3b d2             	cmp    %r10d,%edx
14002baa7:	7e 0f                	jle    0x14002bab8
14002baa9:	42 8d 04 1a          	lea    (%rdx,%r11,1),%eax
14002baad:	44 8b c8             	mov    %eax,%r9d
14002bab0:	41 2b d2             	sub    %r10d,%edx
14002bab3:	8b ca                	mov    %edx,%ecx
14002bab5:	44 8b c0             	mov    %eax,%r8d
14002bab8:	89 75 bf             	mov    %esi,-0x41(%rbp)
14002babb:	4c 89 45 c7          	mov    %r8,-0x39(%rbp)
14002babf:	48 89 4d cf          	mov    %rcx,-0x31(%rbp)
14002bac3:	f2 0f 11 45 d7       	movsd  %xmm0,-0x29(%rbp)
14002bac8:	89 7d df             	mov    %edi,-0x21(%rbp)
14002bacb:	48 8d 45 bf          	lea    -0x41(%rbp),%rax
14002bacf:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14002bad4:	4d 8b c7             	mov    %r15,%r8
14002bad7:	48 8b d3             	mov    %rbx,%rdx
14002bada:	49 8b cd             	mov    %r13,%rcx
14002badd:	e8 7e 4e 00 00       	call   0x140030960
14002bae2:	e9 63 ff ff ff       	jmp    0x14002ba4a
14002bae7:	45 0f b6 41 09       	movzbl 0x9(%r9),%r8d
14002baec:	45 84 c0             	test   %r8b,%r8b
14002baef:	79 1f                	jns    0x14002bb10
14002baf1:	b8 30 62 00 00       	mov    $0x6230,%eax
14002baf6:	ba 30 42 00 00       	mov    $0x4230,%edx
14002bafb:	80 f9 06             	cmp    $0x6,%cl
14002bafe:	0f 44 c2             	cmove  %edx,%eax
14002bb01:	85 f6                	test   %esi,%esi
14002bb03:	74 03                	je     0x14002bb08
14002bb05:	c1 e0 08             	shl    $0x8,%eax
14002bb08:	0b f0                	or     %eax,%esi
14002bb0a:	81 c6 00 00 00 02    	add    $0x2000000,%esi
14002bb10:	45 33 e4             	xor    %r12d,%r12d
14002bb13:	44 89 65 ff          	mov    %r12d,-0x1(%rbp)
14002bb17:	8b c7                	mov    %edi,%eax
14002bb19:	83 c8 01             	or     $0x1,%eax