140abe52a:	41 80 f9 9f          	cmp    $0x9f,%r9b
140abe52e:	77 70                	ja     0x140abe5a0
140abe530:	83 e2 0f             	and    $0xf,%edx
140abe533:	83 e1 3f             	and    $0x3f,%ecx
140abe536:	c1 e2 06             	shl    $0x6,%edx
140abe539:	41 8b c1             	mov    %r9d,%eax
140abe53c:	83 e0 3f             	and    $0x3f,%eax
140abe53f:	0b c2                	or     %edx,%eax
140abe541:	c1 e0 06             	shl    $0x6,%eax
140abe544:	0b c1                	or     %ecx,%eax
140abe546:	3d 00 08 00 00       	cmp    $0x800,%eax
140abe54b:	72 53                	jb     0x140abe5a0
140abe54d:	48 8b 5c 24 10       	mov    0x10(%rsp),%rbx
140abe552:	48 8b 3c 24          	mov    (%rsp),%rdi
140abe556:	41 89 00             	mov    %eax,(%r8)
140abe559:	b8 03 00 00 00       	mov    $0x3,%eax
140abe55e:	48 83 c4 08          	add    $0x8,%rsp
140abe562:	c3                   	ret
140abe563:	4c 8d 51 02          	lea    0x2(%rcx),%r10
140abe567:	4d 3b d1             	cmp    %r9,%r10
140abe56a:	73 34                	jae    0x140abe5a0
140abe56c:	44 0f b6 09          	movzbl (%rcx),%r9d
140abe570:	41 0f b6 c1          	movzbl %r9b,%eax
140abe574:	24 c0                	and    $0xc0,%al
140abe576:	3c 80                	cmp    $0x80,%al
140abe578:	75 26                	jne    0x140abe5a0
140abe57a:	0f b6 59 01          	movzbl 0x1(%rcx),%ebx
140abe57e:	0f b6 c3             	movzbl %bl,%eax
140abe581:	24 c0                	and    $0xc0,%al
140abe583:	3c 80                	cmp    $0x80,%al
140abe585:	75 19                	jne    0x140abe5a0
140abe587:	45 0f b6 1a          	movzbl (%r10),%r11d
140abe58b:	41 0f b6 c3          	movzbl %r11b,%eax
140abe58f:	24 c0                	and    $0xc0,%al
140abe591:	3c 80                	cmp    $0x80,%al
140abe593:	75 0b                	jne    0x140abe5a0
140abe595:	80 fa f0             	cmp    $0xf0,%dl
140abe598:	75 1b                	jne    0x140abe5b5
140abe59a:	41 80 f9 90          	cmp    $0x90,%r9b
140abe59e:	73 20                	jae    0x140abe5c0
140abe5a0:	48 8b 5c 24 10       	mov    0x10(%rsp),%rbx
140abe5a5:	48 c7 c0 fd ff ff ff 	mov    $0xfffffffffffffffd,%rax
140abe5ac:	48 8b 3c 24          	mov    (%rsp),%rdi
140abe5b0:	48 83 c4 08          	add    $0x8,%rsp
140abe5b4:	c3                   	ret
140abe5b5:	80 fa f4             	cmp    $0xf4,%dl
140abe5b8:	75 06                	jne    0x140abe5c0
140abe5ba:	41 80 f9 8f          	cmp    $0x8f,%r9b
140abe5be:	77 e0                	ja     0x140abe5a0
140abe5c0:	83 e3 3f             	and    $0x3f,%ebx
140abe5c3:	83 e2 07             	and    $0x7,%edx
140abe5c6:	c1 e2 06             	shl    $0x6,%edx
140abe5c9:	41 8b c9             	mov    %r9d,%ecx
140abe5cc:	83 e1 3f             	and    $0x3f,%ecx
140abe5cf:	41 83 e3 3f          	and    $0x3f,%r11d
140abe5d3:	0b ca                	or     %edx,%ecx
140abe5d5:	48 8b c7             	mov    %rdi,%rax
140abe5d8:	48 8b 3c 24          	mov    (%rsp),%rdi
140abe5dc:	c1 e1 06             	shl    $0x6,%ecx
140abe5df:	0b cb                	or     %ebx,%ecx
140abe5e1:	48 8b 5c 24 10       	mov    0x10(%rsp),%rbx
140abe5e6:	c1 e1 06             	shl    $0x6,%ecx
140abe5e9:	41 0b cb             	or     %r11d,%ecx
140abe5ec:	41 89 08             	mov    %ecx,(%r8)
140abe5ef:	48 83 c4 08          	add    $0x8,%rsp
140abe5f3:	c3                   	ret
140abe5f4:	cc                   	int3
140abe5f5:	cc                   	int3
140abe5f6:	cc                   	int3
140abe5f7:	cc                   	int3
140abe5f8:	cc                   	int3
140abe5f9:	cc                   	int3
140abe5fa:	cc                   	int3
140abe5fb:	cc                   	int3
140abe5fc:	cc                   	int3
140abe5fd:	cc                   	int3
140abe5fe:	cc                   	int3
140abe5ff:	cc                   	int3
140abe600:	48 83 ec 38          	sub    $0x38,%rsp
140abe604:	33 c0                	xor    %eax,%eax
140abe606:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140abe60b:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140abe610:	e8 0b 00 00 00       	call   0x140abe620
140abe615:	48 83 c4 38          	add    $0x38,%rsp
140abe619:	c3                   	ret
140abe61a:	cc                   	int3
140abe61b:	cc                   	int3
140abe61c:	cc                   	int3
140abe61d:	cc                   	int3
140abe61e:	cc                   	int3
140abe61f:	cc                   	int3
140abe620:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140abe625:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140abe62a:	57                   	push   %rdi
140abe62b:	41 54                	push   %r12
140abe62d:	41 55                	push   %r13
140abe62f:	41 56                	push   %r14
140abe631:	41 57                	push   %r15
140abe633:	48 83 ec 40          	sub    $0x40,%rsp
140abe637:	4c 8b a4 24 98 00 00 	mov    0x98(%rsp),%r12
140abe63e:	00
140abe63f:	41 8b f1             	mov    %r9d,%esi
140abe642:	4c 8b ac 24 90 00 00 	mov    0x90(%rsp),%r13
140abe649:	00
140abe64a:	4d 8b f0             	mov    %r8,%r14
140abe64d:	4c 89 64 24 30       	mov    %r12,0x30(%rsp)
140abe652:	48 8b ea             	mov    %rdx,%rbp
140abe655:	49 c7 00 00 00 00 00 	movq   $0x0,(%r8)
140abe65c:	4c 8b f9             	mov    %rcx,%r15
140abe65f:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
140abe664:	45 33 c0             	xor    %r8d,%r8d
140abe667:	44 89 4c 24 20       	mov    %r9d,0x20(%rsp)
140abe66c:	45 33 c9             	xor    %r9d,%r9d
140abe66f:	e8 ac f7 ff ff       	call   0x140abde20
140abe674:	48 8b f8             	mov    %rax,%rdi
140abe677:	48 85 c0             	test   %rax,%rax
140abe67a:	0f 88 85 00 00 00    	js     0x140abe705
140abe680:	48 8d 0c 85 01 00 00 	lea    0x1(,%rax,4),%rcx
140abe687:	00
140abe688:	48 89 5c 24 70       	mov    %rbx,0x70(%rsp)
140abe68d:	e8 9a 40 37 00       	call   0x140e3272c
140abe692:	48 8b d8             	mov    %rax,%rbx
140abe695:	48 85 c0             	test   %rax,%rax
140abe698:	75 09                	jne    0x140abe6a3
140abe69a:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
140abe6a1:	eb 5d                	jmp    0x140abe700
140abe6a3:	4c 89 64 24 30       	mov    %r12,0x30(%rsp)
140abe6a8:	4c 8b cf             	mov    %rdi,%r9
140abe6ab:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
140abe6b0:	4c 8b c3             	mov    %rbx,%r8
140abe6b3:	48 8b d5             	mov    %rbp,%rdx
140abe6b6:	89 74 24 20          	mov    %esi,0x20(%rsp)
140abe6ba:	49 8b cf             	mov    %r15,%rcx
140abe6bd:	e8 5e f7 ff ff       	call   0x140abde20
140abe6c2:	48 8b f8             	mov    %rax,%rdi
140abe6c5:	48 8b cb             	mov    %rbx,%rcx
140abe6c8:	48 85 c0             	test   %rax,%rax
140abe6cb:	79 07                	jns    0x140abe6d4
140abe6cd:	e8 be 29 37 00       	call   0x140e31090
140abe6d2:	eb 29                	jmp    0x140abe6fd
140abe6d4:	44 8b c6             	mov    %esi,%r8d
140abe6d7:	48 8b d7             	mov    %rdi,%rdx
140abe6da:	e8 11 04 00 00       	call   0x140abeaf0
140abe6df:	48 8b f8             	mov    %rax,%rdi
140abe6e2:	48 8b cb             	mov    %rbx,%rcx
140abe6e5:	48 85 c0             	test   %rax,%rax
140abe6e8:	78 e3                	js     0x140abe6cd
140abe6ea:	48 8d 50 01          	lea    0x1(%rax),%rdx
140abe6ee:	e8 b5 2a 37 00       	call   0x140e311a8
140abe6f3:	48 85 c0             	test   %rax,%rax
140abe6f6:	48 0f 45 d8          	cmovne %rax,%rbx
140abe6fa:	49 89 1e             	mov    %rbx,(%r14)
140abe6fd:	48 8b c7             	mov    %rdi,%rax
140abe700:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
140abe705:	48 8b 6c 24 78       	mov    0x78(%rsp),%rbp
140abe70a:	48 8b b4 24 80 00 00 	mov    0x80(%rsp),%rsi
140abe711:	00
140abe712:	48 83 c4 40          	add    $0x40,%rsp
140abe716:	41 5f                	pop    %r15
140abe718:	41 5e                	pop    %r14
140abe71a:	41 5d                	pop    %r13
140abe71c:	41 5c                	pop    %r12
140abe71e:	5f                   	pop    %rdi
140abe71f:	c3                   	ret
140abe720:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140abe725:	41 54                	push   %r12
140abe727:	41 57                	push   %r15
140abe729:	48 83 ec 28          	sub    $0x28,%rsp
140abe72d:	4c 8b d9             	mov    %rcx,%r11
140abe730:	45 8b e0             	mov    %r8d,%r12d
140abe733:	33 c9                	xor    %ecx,%ecx
140abe735:	4c 8b fa             	mov    %rdx,%r15
140abe738:	41 f7 c0 80 03 00 00 	test   $0x380,%r8d
140abe73f:	0f 84 c8 00 00 00    	je     0x140abe80d
140abe745:	8b c1                	mov    %ecx,%eax
140abe747:	44 8b c9             	mov    %ecx,%r9d
140abe74a:	48 85 d2             	test   %rdx,%rdx
140abe74d:	0f 8e b7 00 00 00    	jle    0x140abe80a
140abe753:	41 ba 28 20 00 00    	mov    $0x2028,%r10d
140abe759:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140abe760:	43 8b 14 8b          	mov    (%r11,%r9,4),%edx
140abe764:	4c 8b c0             	mov    %rax,%r8
140abe767:	83 fa 0d             	cmp    $0xd,%edx
140abe76a:	75 36                	jne    0x140abe7a2
140abe76c:	49 8d 4f ff          	lea    -0x1(%r15),%rcx
140abe770:	4c 3b c9             	cmp    %rcx,%r9
140abe773:	7d 0b                	jge    0x140abe780
140abe775:	43 83 7c 8b 04 0a    	cmpl   $0xa,0x4(%r11,%r9,4)
140abe77b:	75 03                	jne    0x140abe780
140abe77d:	49 ff c1             	inc    %r9
140abe780:	41 8b d4             	mov    %r12d,%edx
140abe783:	81 e2 00 01 00 00    	and    $0x100,%edx
140abe789:	48 ff c0             	inc    %rax
140abe78c:	45 84 e4             	test   %r12b,%r12b
140abe78f:	79 55                	jns    0x140abe7e6
140abe791:	85 d2                	test   %edx,%edx
140abe793:	b9 0a 00 00 00       	mov    $0xa,%ecx
140abe798:	41 0f 44 ca          	cmove  %r10d,%ecx
140abe79c:	43 89 0c 83          	mov    %ecx,(%r11,%r8,4)
140abe7a0:	eb 5a                	jmp    0x140abe7fc
140abe7a2:	83 fa 0a             	cmp    $0xa,%edx
140abe7a5:	74 d9                	je     0x140abe780
140abe7a7:	81 fa 85 00 00 00    	cmp    $0x85,%edx
140abe7ad:	74 d1                	je     0x140abe780
140abe7af:	41 0f ba e4 09       	bt     $0x9,%r12d
140abe7b4:	73 27                	jae    0x140abe7dd
140abe7b6:	8d 4a f5             	lea    -0xb(%rdx),%ecx
140abe7b9:	83 f9 01             	cmp    $0x1,%ecx
140abe7bc:	76 c2                	jbe    0x140abe780
140abe7be:	83 fa 20             	cmp    $0x20,%edx
140abe7c1:	7c 08                	jl     0x140abe7cb
140abe7c3:	8d 4a 81             	lea    -0x7f(%rdx),%ecx
140abe7c6:	83 f9 20             	cmp    $0x20,%ecx
140abe7c9:	77 12                	ja     0x140abe7dd
140abe7cb:	83 fa 09             	cmp    $0x9,%edx
140abe7ce:	75 2c                	jne    0x140abe7fc
140abe7d0:	41 c7 04 83 20 00 00 	movl   $0x20,(%r11,%rax,4)
140abe7d7:	00
140abe7d8:	48 ff c0             	inc    %rax
140abe7db:	eb 1f                	jmp    0x140abe7fc
140abe7dd:	41 89 14 83          	mov    %edx,(%r11,%rax,4)
140abe7e1:	48 ff c0             	inc    %rax
140abe7e4:	eb 16                	jmp    0x140abe7fc
140abe7e6:	85 d2                	test   %edx,%edx
140abe7e8:	74 0a                	je     0x140abe7f4
140abe7ea:	43 c7 04 83 29 20 00 	movl   $0x2029,(%r11,%r8,4)
140abe7f1:	00
140abe7f2:	eb 08                	jmp    0x140abe7fc
140abe7f4:	43 c7 04 83 20 00 00 	movl   $0x20,(%r11,%r8,4)
140abe7fb:	00
140abe7fc:	49 ff c1             	inc    %r9
140abe7ff:	4d 3b cf             	cmp    %r15,%r9
140abe802:	0f 8c 58 ff ff ff    	jl     0x140abe760
140abe808:	33 c9                	xor    %ecx,%ecx
140abe80a:	4c 8b f8             	mov    %rax,%r15
140abe80d:	41 f6 c4 08          	test   $0x8,%r12b
140abe811:	0f 84 ca 02 00 00    	je     0x140abeae1
140abe817:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
140abe81c:	4c 8b c9             	mov    %rcx,%r9
140abe81f:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140abe824:	be ff ff ff ff       	mov    $0xffffffff,%esi
140abe829:	48 89 4c 24 48       	mov    %rcx,0x48(%rsp)
140abe82e:	4c 8b c1             	mov    %rcx,%r8
140abe831:	4c 8b d1             	mov    %rcx,%r10
140abe834:	48 8b e9             	mov    %rcx,%rbp
140abe837:	4d 85 ff             	test   %r15,%r15
140abe83a:	0f 8e 8b 02 00 00    	jle    0x140abeacb
140abe840:	48 89 5c 24 50       	mov    %rbx,0x50(%rsp)
140abe845:	48 8d 15 b4 17 54 ff 	lea    -0xabe84c(%rip),%rdx        # 0x140000000
140abe84c:	48 89 7c 24 10       	mov    %rdi,0x10(%rsp)
140abe851:	4c 89 6c 24 08       	mov    %r13,0x8(%rsp)
140abe856:	4d 8b eb             	mov    %r11,%r13
140abe859:	4c 89 34 24          	mov    %r14,(%rsp)
140abe85d:	0f 1f 00             	nopl   (%rax)
140abe860:	49 63 3c ab          	movslq (%r11,%rbp,4),%rdi
140abe864:	49 8b dd             	mov    %r13,%rbx
140abe867:	48 8b c7             	mov    %rdi,%rax
140abe86a:	48 c1 f8 08          	sar    $0x8,%rax
140abe86e:	0f b7 8c 42 60 cf 08 	movzwl 0x108cf60(%rdx,%rax,2),%ecx
140abe875:	01
140abe876:	40 0f b6 c7          	movzbl %dil,%eax
140abe87a:	03 c8                	add    %eax,%ecx
140abe87c:	0f b7 84 4a 60 f1 08 	movzwl 0x108f160(%rdx,%rcx,2),%eax
140abe883:	01
140abe884:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
140abe888:	4c 8d 34 cd 00 00 00 	lea    0x0(,%rcx,8),%r14
140abe88f:	00
140abe890:	4d 85 c9             	test   %r9,%r9
140abe893:	0f 84 d1 01 00 00    	je     0x140abea6a
140abe899:	66 41 39 b4 16 62 3f 	cmp    %si,0x10a3f62(%r14,%rdx,1)
140abe8a0:	0a 01
140abe8a2:	0f 8e c2 01 00 00    	jle    0x140abea6a
140abe8a8:	4d 63 11             	movslq (%r9),%r10
140abe8ab:	41 8d 82 00 ef ff ff 	lea    -0x1100(%r10),%eax
140abe8b2:	83 f8 12             	cmp    $0x12,%eax
140abe8b5:	77 2b                	ja     0x140abe8e2
140abe8b7:	8d 8f 9f ee ff ff    	lea    -0x1161(%rdi),%ecx
140abe8bd:	83 f9 14             	cmp    $0x14,%ecx
140abe8c0:	77 20                	ja     0x140abe8e2
140abe8c2:	4c 8b 54 24 48       	mov    0x48(%rsp),%r10
140abe8c7:	6b c0 15             	imul   $0x15,%eax,%eax
140abe8ca:	03 c1                	add    %ecx,%eax
140abe8cc:	6b c8 1c             	imul   $0x1c,%eax,%ecx
140abe8cf:	81 c1 00 ac 00 00    	add    $0xac00,%ecx
140abe8d5:	33 c0                	xor    %eax,%eax
140abe8d7:	41 89 09             	mov    %ecx,(%r9)
140abe8da:	44 8b c0             	mov    %eax,%r8d
140abe8dd:	e9 ca 01 00 00       	jmp    0x140abeaac
140abe8e2:	41 8d 8a 00 54 ff ff 	lea    -0xac00(%r10),%ecx
140abe8e9:	81 f9 a3 2b 00 00    	cmp    $0x2ba3,%ecx
140abe8ef:	77 41                	ja     0x140abe932
140abe8f1:	b8 93 24 49 92       	mov    $0x92492493,%eax
140abe8f6:	f7 e9                	imul   %ecx
140abe8f8:	03 d1                	add    %ecx,%edx
140abe8fa:	c1 fa 04             	sar    $0x4,%edx
140abe8fd:	8b c2                	mov    %edx,%eax
140abe8ff:	c1 e8 1f             	shr    $0x1f,%eax
140abe902:	03 d0                	add    %eax,%edx
140abe904:	6b c2 1c             	imul   $0x1c,%edx,%eax
140abe907:	48 8d 15 f2 16 54 ff 	lea    -0xabe90e(%rip),%rdx        # 0x140000000
140abe90e:	3b c8                	cmp    %eax,%ecx
140abe910:	75 20                	jne    0x140abe932
140abe912:	8d 87 59 ee ff ff    	lea    -0x11a7(%rdi),%eax
140abe918:	83 f8 1b             	cmp    $0x1b,%eax
140abe91b:	77 15                	ja     0x140abe932
140abe91d:	41 03 c2             	add    %r10d,%eax
140abe920:	4c 8b 54 24 48       	mov    0x48(%rsp),%r10
140abe925:	41 89 01             	mov    %eax,(%r9)
140abe928:	33 c0                	xor    %eax,%eax
140abe92a:	44 8b c0             	mov    %eax,%r8d
140abe92d:	e9 7a 01 00 00       	jmp    0x140abeaac
140abe932:	4d 85 c0             	test   %r8,%r8
140abe935:	75 2c                	jne    0x140abe963
140abe937:	49 8b c2             	mov    %r10,%rax
140abe93a:	48 c1 f8 08          	sar    $0x8,%rax
140abe93e:	0f b7 8c 42 60 cf 08 	movzwl 0x108cf60(%rdx,%rax,2),%ecx
140abe945:	01
140abe946:	41 0f b6 c2          	movzbl %r10b,%eax
140abe94a:	03 c8                	add    %eax,%ecx
140abe94c:	0f b7 84 4a 60 f1 08 	movzwl 0x108f160(%rdx,%rcx,2),%eax
140abe953:	01
140abe954:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
140abe958:	4c 8d 04 cd 60 3f 0a 	lea    0x10a3f60(,%rcx,8),%r8
140abe95f:	01
140abe960:	4c 03 c2             	add    %rdx,%r8
140abe963:	41 0f b7 48 12       	movzwl 0x12(%r8),%ecx
140abe968:	41 ba 00 80 00 00    	mov    $0x8000,%r10d
140abe96e:	66 41 3b ca          	cmp    %r10w,%cx
140abe972:	0f 83 ed 00 00 00    	jae    0x140abea65
140abe978:	41 0f b7 94 16 72 3f 	movzwl 0x10a3f72(%r14,%rdx,1),%edx
140abe97f:	0a 01
140abe981:	0f b7 c2             	movzwl %dx,%eax
140abe984:	66 41 2b c2          	sub    %r10w,%ax
140abe988:	41 ba fe 7f 00 00    	mov    $0x7ffe,%r10d
140abe98e:	66 41 3b c2          	cmp    %r10w,%ax
140abe992:	0f 87 c6 00 00 00    	ja     0x140abea5e
140abe998:	44 8b d1             	mov    %ecx,%r10d
140abe99b:	48 8d 1d 5e 16 54 ff 	lea    -0xabe9a2(%rip),%rbx        # 0x140000000
140abe9a2:	8b ca                	mov    %edx,%ecx
140abe9a4:	81 e1 ff 3f 00 00    	and    $0x3fff,%ecx
140abe9aa:	42 0f b7 9c 53 70 2e 	movzwl 0x10d2e70(%rbx,%r10,2),%ebx
140abe9b1:	0d 01
140abe9b3:	3b cb                	cmp    %ebx,%ecx
140abe9b5:	0f 82 a0 00 00 00    	jb     0x140abea5b
140abe9bb:	4c 8d 1d 3e 16 54 ff 	lea    -0xabe9c2(%rip),%r11        # 0x140000000
140abe9c2:	43 0f b7 84 53 72 2e 	movzwl 0x10d2e72(%r11,%r10,2),%eax
140abe9c9:	0d 01
140abe9cb:	4c 8b 5c 24 40       	mov    0x40(%rsp),%r11
140abe9d0:	3b c8                	cmp    %eax,%ecx
140abe9d2:	0f 87 83 00 00 00    	ja     0x140abea5b