140abe308:	85 c0                	test   %eax,%eax
140abe30a:	75 05                	jne    0x140abe311
140abe30c:	41 89 08             	mov    %ecx,(%r8)
140abe30f:	eb 02                	jmp    0x140abe313
140abe311:	8b c8                	mov    %eax,%ecx
140abe313:	e8 b8 f2 ff ff       	call   0x140abd5d0
140abe318:	3b ca                	cmp    %edx,%ecx
140abe31a:	75 13                	jne    0x140abe32f
140abe31c:	83 fa 0b             	cmp    $0xb,%edx
140abe31f:	75 0e                	jne    0x140abe32f
140abe321:	ba 01 00 00 00       	mov    $0x1,%edx
140abe326:	41 89 10             	mov    %edx,(%r8)
140abe329:	48 83 c4 20          	add    $0x20,%rsp
140abe32d:	5b                   	pop    %rbx
140abe32e:	c3                   	ret
140abe32f:	83 f9 13             	cmp    $0x13,%ecx
140abe332:	75 19                	jne    0x140abe34d
140abe334:	80 fa 05             	cmp    $0x5,%dl
140abe337:	75 09                	jne    0x140abe342
140abe339:	41 89 08             	mov    %ecx,(%r8)
140abe33c:	48 83 c4 20          	add    $0x20,%rsp
140abe340:	5b                   	pop    %rbx
140abe341:	c3                   	ret
140abe342:	80 fa 0e             	cmp    $0xe,%dl
140abe345:	b9 14 00 00 00       	mov    $0x14,%ecx
140abe34a:	0f 44 d1             	cmove  %ecx,%edx
140abe34d:	41 89 10             	mov    %edx,(%r8)
140abe350:	48 83 c4 20          	add    $0x20,%rsp
140abe354:	5b                   	pop    %rbx
140abe355:	c3                   	ret
140abe356:	48 83 c4 20          	add    $0x20,%rsp
140abe35a:	5b                   	pop    %rbx
140abe35b:	e9 70 f2 ff ff       	jmp    0x140abd5d0
140abe360:	81 f9 ff ff 10 00    	cmp    $0x10ffff,%ecx
140abe366:	77 41                	ja     0x140abe3a9
140abe368:	4c 8d 05 91 1c 54 ff 	lea    -0xabe36f(%rip),%r8        # 0x140000000
140abe36f:	48 63 c1             	movslq %ecx,%rax
140abe372:	48 c1 f8 08          	sar    $0x8,%rax
140abe376:	41 0f b7 94 40 60 cf 	movzwl 0x108cf60(%r8,%rax,2),%edx
140abe37d:	08 01
140abe37f:	0f b6 c1             	movzbl %cl,%eax
140abe382:	03 d0                	add    %eax,%edx
140abe384:	41 0f b7 84 50 60 f1 	movzwl 0x108f160(%r8,%rdx,2),%eax
140abe38b:	08 01
140abe38d:	49 8d 90 6c 3f 0a 01 	lea    0x10a3f6c(%r8),%rdx
140abe394:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
140abe398:	49 8d 80 6e 3f 0a 01 	lea    0x10a3f6e(%r8),%rax
140abe39f:	48 8d 04 c8          	lea    (%rax,%rcx,8),%rax
140abe3a3:	48 8d 14 ca          	lea    (%rdx,%rcx,8),%rdx
140abe3a7:	eb 0e                	jmp    0x140abe3b7
140abe3a9:	48 8d 05 be 5b 5e 00 	lea    0x5e5bbe(%rip),%rax        # 0x1410a3f6e
140abe3b0:	48 8d 15 b5 5b 5e 00 	lea    0x5e5bb5(%rip),%rdx        # 0x1410a3f6c
140abe3b7:	0f b7 00             	movzwl (%rax),%eax
140abe3ba:	66 3b 02             	cmp    (%rdx),%ax
140abe3bd:	74 10                	je     0x140abe3cf
140abe3bf:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140abe3c4:	66 3b c1             	cmp    %cx,%ax
140abe3c7:	75 06                	jne    0x140abe3cf
140abe3c9:	b8 01 00 00 00       	mov    $0x1,%eax
140abe3ce:	c3                   	ret
140abe3cf:	33 c0                	xor    %eax,%eax
140abe3d1:	c3                   	ret
140abe3d2:	cc                   	int3
140abe3d3:	cc                   	int3
140abe3d4:	cc                   	int3
140abe3d5:	cc                   	int3
140abe3d6:	cc                   	int3
140abe3d7:	cc                   	int3
140abe3d8:	cc                   	int3
140abe3d9:	cc                   	int3
140abe3da:	cc                   	int3
140abe3db:	cc                   	int3
140abe3dc:	cc                   	int3
140abe3dd:	cc                   	int3
140abe3de:	cc                   	int3
140abe3df:	cc                   	int3
140abe3e0:	81 f9 ff ff 10 00    	cmp    $0x10ffff,%ecx
140abe3e6:	77 36                	ja     0x140abe41e
140abe3e8:	48 63 c1             	movslq %ecx,%rax
140abe3eb:	4c 8d 05 0e 1c 54 ff 	lea    -0xabe3f2(%rip),%r8        # 0x140000000
140abe3f2:	48 c1 f8 08          	sar    $0x8,%rax
140abe3f6:	41 0f b7 94 40 60 cf 	movzwl 0x108cf60(%r8,%rax,2),%edx
140abe3fd:	08 01
140abe3ff:	0f b6 c1             	movzbl %cl,%eax
140abe402:	03 d0                	add    %eax,%edx
140abe404:	41 0f b7 84 50 60 f1 	movzwl 0x108f160(%r8,%rdx,2),%eax
140abe40b:	08 01
140abe40d:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
140abe411:	48 8d 05 48 5b 5e 00 	lea    0x5e5b48(%rip),%rax        # 0x1410a3f60
140abe418:	48 8d 04 c8          	lea    (%rax,%rcx,8),%rax
140abe41c:	eb 07                	jmp    0x140abe425
140abe41e:	48 8d 05 3b 5b 5e 00 	lea    0x5e5b3b(%rip),%rax        # 0x1410a3f60
140abe425:	0f b7 48 0c          	movzwl 0xc(%rax),%ecx
140abe429:	66 39 48 0e          	cmp    %cx,0xe(%rax)
140abe42d:	74 16                	je     0x140abe445
140abe42f:	ba ff ff 00 00       	mov    $0xffff,%edx
140abe434:	66 3b ca             	cmp    %dx,%cx
140abe437:	75 0c                	jne    0x140abe445
140abe439:	66 83 38 03          	cmpw   $0x3,(%rax)
140abe43d:	74 06                	je     0x140abe445
140abe43f:	b8 01 00 00 00       	mov    $0x1,%eax
140abe444:	c3                   	ret
140abe445:	33 c0                	xor    %eax,%eax
140abe447:	c3                   	ret
140abe448:	cc                   	int3
140abe449:	cc                   	int3
140abe44a:	cc                   	int3
140abe44b:	cc                   	int3
140abe44c:	cc                   	int3
140abe44d:	cc                   	int3
140abe44e:	cc                   	int3
140abe44f:	cc                   	int3
140abe450:	48 83 ec 08          	sub    $0x8,%rsp
140abe454:	41 c7 00 ff ff ff ff 	movl   $0xffffffff,(%r8)
140abe45b:	4c 8b ca             	mov    %rdx,%r9
140abe45e:	48 85 d2             	test   %rdx,%rdx
140abe461:	75 07                	jne    0x140abe46a
140abe463:	33 c0                	xor    %eax,%eax
140abe465:	48 83 c4 08          	add    $0x8,%rsp
140abe469:	c3                   	ret
140abe46a:	0f b6 11             	movzbl (%rcx),%edx
140abe46d:	4d 85 c9             	test   %r9,%r9
140abe470:	48 89 3c 24          	mov    %rdi,(%rsp)
140abe474:	bf 04 00 00 00       	mov    $0x4,%edi
140abe479:	4c 0f 48 cf          	cmovs  %rdi,%r9
140abe47d:	4c 03 c9             	add    %rcx,%r9
140abe480:	48 ff c1             	inc    %rcx
140abe483:	81 fa 80 00 00 00    	cmp    $0x80,%edx
140abe489:	73 11                	jae    0x140abe49c
140abe48b:	48 8b 3c 24          	mov    (%rsp),%rdi
140abe48f:	b8 01 00 00 00       	mov    $0x1,%eax
140abe494:	41 89 10             	mov    %edx,(%r8)
140abe497:	48 83 c4 08          	add    $0x8,%rsp
140abe49b:	c3                   	ret
140abe49c:	8d 82 3e ff ff ff    	lea    -0xc2(%rdx),%eax
140abe4a2:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140abe4a7:	83 f8 32             	cmp    $0x32,%eax
140abe4aa:	0f 87 f0 00 00 00    	ja     0x140abe5a0
140abe4b0:	80 fa e0             	cmp    $0xe0,%dl
140abe4b3:	73 3f                	jae    0x140abe4f4
140abe4b5:	49 3b c9             	cmp    %r9,%rcx
140abe4b8:	0f 83 e2 00 00 00    	jae    0x140abe5a0
140abe4be:	44 0f b6 09          	movzbl (%rcx),%r9d
140abe4c2:	41 0f b6 c1          	movzbl %r9b,%eax
140abe4c6:	24 c0                	and    $0xc0,%al
140abe4c8:	3c 80                	cmp    $0x80,%al
140abe4ca:	0f 85 d0 00 00 00    	jne    0x140abe5a0
140abe4d0:	48 8b 5c 24 10       	mov    0x10(%rsp),%rbx
140abe4d5:	41 8b c1             	mov    %r9d,%eax
140abe4d8:	48 8b 3c 24          	mov    (%rsp),%rdi
140abe4dc:	83 e2 1f             	and    $0x1f,%edx
140abe4df:	83 e0 3f             	and    $0x3f,%eax
140abe4e2:	c1 e2 06             	shl    $0x6,%edx
140abe4e5:	0b c2                	or     %edx,%eax
140abe4e7:	41 89 00             	mov    %eax,(%r8)
140abe4ea:	b8 02 00 00 00       	mov    $0x2,%eax
140abe4ef:	48 83 c4 08          	add    $0x8,%rsp
140abe4f3:	c3                   	ret
140abe4f4:	80 fa f0             	cmp    $0xf0,%dl
140abe4f7:	73 6a                	jae    0x140abe563
140abe4f9:	4c 8d 51 01          	lea    0x1(%rcx),%r10
140abe4fd:	4d 3b d1             	cmp    %r9,%r10
140abe500:	0f 83 9a 00 00 00    	jae    0x140abe5a0
140abe506:	44 0f b6 09          	movzbl (%rcx),%r9d
140abe50a:	41 0f b6 c1          	movzbl %r9b,%eax
140abe50e:	24 c0                	and    $0xc0,%al
140abe510:	3c 80                	cmp    $0x80,%al
140abe512:	0f 85 88 00 00 00    	jne    0x140abe5a0
140abe518:	41 0f b6 0a          	movzbl (%r10),%ecx
140abe51c:	0f b6 c1             	movzbl %cl,%eax
140abe51f:	24 c0                	and    $0xc0,%al
140abe521:	3c 80                	cmp    $0x80,%al
140abe523:	75 7b                	jne    0x140abe5a0
140abe525:	80 fa ed             	cmp    $0xed,%dl
140abe528:	75 06                	jne    0x140abe530
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