140a1639a:	48 8b 13             	mov    (%rbx),%rdx
140a1639d:	48 8b 02             	mov    (%rdx),%rax
140a163a0:	48 63 48 04          	movslq 0x4(%rax),%rcx
140a163a4:	f6 44 11 10 06       	testb  $0x6,0x10(%rcx,%rdx,1)
140a163a9:	75 15                	jne    0x140a163c0
140a163ab:	0f b6 53 08          	movzbl 0x8(%rbx),%edx
140a163af:	80 fa 0a             	cmp    $0xa,%dl
140a163b2:	75 0e                	jne    0x140a163c2
140a163b4:	ff 43 14             	incl   0x14(%rbx)
140a163b7:	c7 43 18 01 00 00 00 	movl   $0x1,0x18(%rbx)
140a163be:	eb 02                	jmp    0x140a163c2
140a163c0:	32 d2                	xor    %dl,%dl
140a163c2:	84 d2                	test   %dl,%dl
140a163c4:	0f 85 38 ff ff ff    	jne    0x140a16302
140a163ca:	32 c0                	xor    %al,%al
140a163cc:	eb 06                	jmp    0x140a163d4
140a163ce:	b0 09                	mov    $0x9,%al
140a163d0:	eb 02                	jmp    0x140a163d4
140a163d2:	b0 02                	mov    $0x2,%al
140a163d4:	88 43 11             	mov    %al,0x11(%rbx)
140a163d7:	0f 10 44 24 20       	movups 0x20(%rsp),%xmm0
140a163dc:	66 48 0f 7e c0       	movq   %xmm0,%rax
140a163e1:	80 78 11 01          	cmpb   $0x1,0x11(%rax)
140a163e5:	77 2b                	ja     0x140a16412
140a163e7:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
140a163ec:	0f b7 08             	movzwl (%rax),%ecx
140a163ef:	66 c1 c9 08          	ror    $0x8,%cx
140a163f3:	66 89 4c 24 78       	mov    %cx,0x78(%rsp)
140a163f8:	41 b8 02 00 00 00    	mov    $0x2,%r8d
140a163fe:	48 8d 54 24 78       	lea    0x78(%rsp),%rdx
140a16403:	66 0f 73 d8 08       	psrldq $0x8,%xmm0
140a16408:	66 48 0f 7e c1       	movq   %xmm0,%rcx
140a1640d:	e8 1e 9a ff ff       	call   0x140a0fe30
140a16412:	48 8b 9c 24 80 00 00 	mov    0x80(%rsp),%rbx
140a16419:	00
140a1641a:	48 83 c4 50          	add    $0x50,%rsp
140a1641e:	5f                   	pop    %rdi
140a1641f:	5e                   	pop    %rsi
140a16420:	5d                   	pop    %rbp
140a16421:	c3                   	ret
140a16422:	cc                   	int3
140a16423:	cc                   	int3
140a16424:	cc                   	int3
140a16425:	cc                   	int3
140a16426:	cc                   	int3
140a16427:	cc                   	int3
140a16428:	cc                   	int3
140a16429:	cc                   	int3
140a1642a:	cc                   	int3
140a1642b:	cc                   	int3
140a1642c:	cc                   	int3
140a1642d:	cc                   	int3
140a1642e:	cc                   	int3
140a1642f:	cc                   	int3
140a16430:	40 55                	rex push %rbp
140a16432:	53                   	push   %rbx
140a16433:	56                   	push   %rsi
140a16434:	57                   	push   %rdi
140a16435:	41 56                	push   %r14
140a16437:	41 57                	push   %r15
140a16439:	48 8d 6c 24 d1       	lea    -0x2f(%rsp),%rbp
140a1643e:	48 81 ec c8 00 00 00 	sub    $0xc8,%rsp
140a16445:	48 8b d9             	mov    %rcx,%rbx
140a16448:	45 33 ff             	xor    %r15d,%r15d
140a1644b:	44 89 7d 7f          	mov    %r15d,0x7f(%rbp)
140a1644f:	66 44 89 7d 6f       	mov    %r15w,0x6f(%rbp)
140a16454:	44 88 7d 67          	mov    %r15b,0x67(%rbp)
140a16458:	44 89 7d 77          	mov    %r15d,0x77(%rbp)
140a1645c:	44 89 7d 87          	mov    %r15d,-0x79(%rbp)
140a16460:	48 8d 45 77          	lea    0x77(%rbp),%rax
140a16464:	48 89 45 e7          	mov    %rax,-0x19(%rbp)
140a16468:	48 8d 45 67          	lea    0x67(%rbp),%rax
140a1646c:	48 89 45 ef          	mov    %rax,-0x11(%rbp)
140a16470:	48 8d 45 7f          	lea    0x7f(%rbp),%rax
140a16474:	48 89 45 f7          	mov    %rax,-0x9(%rbp)
140a16478:	48 8d 45 6f          	lea    0x6f(%rbp),%rax
140a1647c:	48 89 45 ff          	mov    %rax,-0x1(%rbp)
140a16480:	48 8d 45 87          	lea    -0x79(%rbp),%rax
140a16484:	48 89 45 8f          	mov    %rax,-0x71(%rbp)
140a16488:	48 8d 45 7f          	lea    0x7f(%rbp),%rax
140a1648c:	48 89 45 97          	mov    %rax,-0x69(%rbp)
140a16490:	48 89 55 9f          	mov    %rdx,-0x61(%rbp)
140a16494:	48 8d 45 67          	lea    0x67(%rbp),%rax
140a16498:	48 89 45 a7          	mov    %rax,-0x59(%rbp)
140a1649c:	48 8d 45 77          	lea    0x77(%rbp),%rax
140a164a0:	48 89 45 af          	mov    %rax,-0x51(%rbp)
140a164a4:	48 89 4d b7          	mov    %rcx,-0x49(%rbp)
140a164a8:	48 8d 45 7f          	lea    0x7f(%rbp),%rax
140a164ac:	48 89 45 bf          	mov    %rax,-0x41(%rbp)
140a164b0:	48 89 55 c7          	mov    %rdx,-0x39(%rbp)
140a164b4:	48 8d 45 6f          	lea    0x6f(%rbp),%rax
140a164b8:	48 89 45 cf          	mov    %rax,-0x31(%rbp)
140a164bc:	48 8d 45 8f          	lea    -0x71(%rbp),%rax
140a164c0:	48 89 45 d7          	mov    %rax,-0x29(%rbp)
140a164c4:	0f 10 45 b7          	movups -0x49(%rbp),%xmm0
140a164c8:	0f 11 45 07          	movups %xmm0,0x7(%rbp)
140a164cc:	0f 10 45 c7          	movups -0x39(%rbp),%xmm0
140a164d0:	0f 11 45 17          	movups %xmm0,0x17(%rbp)
140a164d4:	f2 0f 10 45 d7       	movsd  -0x29(%rbp),%xmm0
140a164d9:	f2 0f 11 45 d7       	movsd  %xmm0,-0x29(%rbp)
140a164de:	48 8b 11             	mov    (%rcx),%rdx
140a164e1:	48 8b 02             	mov    (%rdx),%rax
140a164e4:	48 63 48 04          	movslq 0x4(%rax),%rcx
140a164e8:	f6 44 11 10 06       	testb  $0x6,0x10(%rcx,%rdx,1)
140a164ed:	0f 85 62 04 00 00    	jne    0x140a16955
140a164f3:	0f b6 53 08          	movzbl 0x8(%rbx),%edx
140a164f7:	84 d2                	test   %dl,%dl
140a164f9:	0f 84 56 04 00 00    	je     0x140a16955
140a164ff:	0f b6 05 22 b1 66 00 	movzbl 0x66b122(%rip),%eax        # 0x141081628
140a16506:	48 8d 0d 1c b1 66 00 	lea    0x66b11c(%rip),%rcx        # 0x141081629
140a1650d:	84 c0                	test   %al,%al
140a1650f:	74 0e                	je     0x140a1651f
140a16511:	3a c2                	cmp    %dl,%al
140a16513:	74 1f                	je     0x140a16534
140a16515:	0f b6 01             	movzbl (%rcx),%eax
140a16518:	48 ff c1             	inc    %rcx
140a1651b:	84 c0                	test   %al,%al
140a1651d:	75 f2                	jne    0x140a16511
140a1651f:	b8 08 00 00 00       	mov    $0x8,%eax
140a16524:	b9 03 00 00 00       	mov    $0x3,%ecx
140a16529:	80 fa 0a             	cmp    $0xa,%dl
140a1652c:	0f 45 c1             	cmovne %ecx,%eax
140a1652f:	e9 23 04 00 00       	jmp    0x140a16957
140a16534:	48 8d 4d e7          	lea    -0x19(%rbp),%rcx
140a16538:	e8 13 98 ff ff       	call   0x140a0fd50
140a1653d:	84 c0                	test   %al,%al
140a1653f:	75 07                	jne    0x140a16548
140a16541:	b0 09                	mov    $0x9,%al
140a16543:	e9 0f 04 00 00       	jmp    0x140a16957
140a16548:	48 8b 0b             	mov    (%rbx),%rcx
140a1654b:	e8 40 8e 96 ff       	call   0x14037f390
140a16550:	83 f8 ff             	cmp    $0xffffffff,%eax
140a16553:	74 03                	je     0x140a16558
140a16555:	88 43 08             	mov    %al,0x8(%rbx)
140a16558:	ff 43 18             	incl   0x18(%rbx)
140a1655b:	48 8b 13             	mov    (%rbx),%rdx
140a1655e:	48 8b 02             	mov    (%rdx),%rax
140a16561:	48 63 48 04          	movslq 0x4(%rax),%rcx
140a16565:	f6 44 11 10 06       	testb  $0x6,0x10(%rcx,%rdx,1)
140a1656a:	75 15                	jne    0x140a16581
140a1656c:	0f b6 53 08          	movzbl 0x8(%rbx),%edx
140a16570:	80 fa 0a             	cmp    $0xa,%dl
140a16573:	75 0e                	jne    0x140a16583
140a16575:	ff 43 14             	incl   0x14(%rbx)
140a16578:	c7 43 18 01 00 00 00 	movl   $0x1,0x18(%rbx)
140a1657f:	eb 02                	jmp    0x140a16583
140a16581:	32 d2                	xor    %dl,%dl
140a16583:	84 d2                	test   %dl,%dl
140a16585:	0f 84 3e 03 00 00    	je     0x140a168c9
140a1658b:	48 8d 35 97 b0 66 00 	lea    0x66b097(%rip),%rsi        # 0x141081629
140a16592:	4c 8d 35 a8 b0 66 00 	lea    0x66b0a8(%rip),%r14        # 0x141081641
140a16599:	bf ff 0f 00 00       	mov    $0xfff,%edi
140a1659e:	66 90                	xchg   %ax,%ax
140a165a0:	8b 45 7f             	mov    0x7f(%rbp),%eax
140a165a3:	85 c0                	test   %eax,%eax
140a165a5:	0f 85 52 02 00 00    	jne    0x140a167fd
140a165ab:	0f b6 05 76 b0 66 00 	movzbl 0x66b076(%rip),%eax        # 0x141081628
140a165b2:	48 8b ce             	mov    %rsi,%rcx
140a165b5:	84 c0                	test   %al,%al
140a165b7:	74 19                	je     0x140a165d2
140a165b9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140a165c0:	3a c2                	cmp    %dl,%al
140a165c2:	0f 84 3d 01 00 00    	je     0x140a16705
140a165c8:	0f b6 01             	movzbl (%rcx),%eax
140a165cb:	48 ff c1             	inc    %rcx
140a165ce:	84 c0                	test   %al,%al
140a165d0:	75 ee                	jne    0x140a165c0
140a165d2:	83 7d 77 00          	cmpl   $0x0,0x77(%rbp)
140a165d6:	0f 8e 46 02 00 00    	jle    0x140a16822
140a165dc:	80 fa 2e             	cmp    $0x2e,%dl
140a165df:	0f 85 3d 02 00 00    	jne    0x140a16822
140a165e5:	48 8b 45 8f          	mov    -0x71(%rbp),%rax
140a165e9:	ff 00                	incl   (%rax)
140a165eb:	48 8b 45 97          	mov    -0x69(%rbp),%rax
140a165ef:	c7 00 02 00 00 00    	movl   $0x2,(%rax)
140a165f5:	48 8b 45 a7          	mov    -0x59(%rbp),%rax
140a165f9:	44 0f b6 08          	movzbl (%rax),%r9d
140a165fd:	48 8b 45 9f          	mov    -0x61(%rbp),%rax
140a16601:	4c 8b 00             	mov    (%rax),%r8
140a16604:	48 8b 48 08          	mov    0x8(%rax),%rcx
140a16608:	48 8b 11             	mov    (%rcx),%rdx
140a1660b:	48 8d 42 01          	lea    0x1(%rdx),%rax
140a1660f:	48 89 01             	mov    %rax,(%rcx)
140a16612:	45 88 0c 10          	mov    %r9b,(%r8,%rdx,1)
140a16616:	48 8b 45 a7          	mov    -0x59(%rbp),%rax
140a1661a:	c6 00 00             	movb   $0x0,(%rax)
140a1661d:	48 8b 45 af          	mov    -0x51(%rbp),%rax
140a16621:	44 89 38             	mov    %r15d,(%rax)
140a16624:	48 8b cb             	mov    %rbx,%rcx
140a16627:	e8 a4 cf 00 00       	call   0x140a235d0
140a1662c:	0f b6 d0             	movzbl %al,%edx
140a1662f:	84 c0                	test   %al,%al
140a16631:	0f 84 1e 03 00 00    	je     0x140a16955
140a16637:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140a1663e:	00 00
140a16640:	0f b6 05 f9 af 66 00 	movzbl 0x66aff9(%rip),%eax        # 0x141081640
140a16647:	49 8b ce             	mov    %r14,%rcx
140a1664a:	84 c0                	test   %al,%al
140a1664c:	74 14                	je     0x140a16662
140a1664e:	66 90                	xchg   %ax,%ax
140a16650:	3a c2                	cmp    %dl,%al
140a16652:	0f 84 78 02 00 00    	je     0x140a168d0
140a16658:	0f b6 01             	movzbl (%rcx),%eax
140a1665b:	48 ff c1             	inc    %rcx
140a1665e:	84 c0                	test   %al,%al
140a16660:	75 ee                	jne    0x140a16650
140a16662:	8b 45 77             	mov    0x77(%rbp),%eax
140a16665:	8b 4d 87             	mov    -0x79(%rbp),%ecx
140a16668:	83 f9 02             	cmp    $0x2,%ecx
140a1666b:	0f 8d 71 03 00 00    	jge    0x140a169e2
140a16671:	85 c0                	test   %eax,%eax
140a16673:	0f 8e 66 03 00 00    	jle    0x140a169df
140a16679:	80 fa 2e             	cmp    $0x2e,%dl
140a1667c:	0f 85 5d 03 00 00    	jne    0x140a169df
140a16682:	48 8b 45 8f          	mov    -0x71(%rbp),%rax
140a16686:	ff 00                	incl   (%rax)
140a16688:	48 8b 45 97          	mov    -0x69(%rbp),%rax
140a1668c:	c7 00 02 00 00 00    	movl   $0x2,(%rax)
140a16692:	48 8b 45 a7          	mov    -0x59(%rbp),%rax
140a16696:	44 0f b6 08          	movzbl (%rax),%r9d
140a1669a:	48 8b 45 9f          	mov    -0x61(%rbp),%rax
140a1669e:	4c 8b 00             	mov    (%rax),%r8
140a166a1:	48 8b 48 08          	mov    0x8(%rax),%rcx
140a166a5:	48 8b 11             	mov    (%rcx),%rdx
140a166a8:	48 8d 42 01          	lea    0x1(%rdx),%rax
140a166ac:	48 89 01             	mov    %rax,(%rcx)
140a166af:	46 88 0c 02          	mov    %r9b,(%rdx,%r8,1)
140a166b3:	48 8b 45 a7          	mov    -0x59(%rbp),%rax
140a166b7:	c6 00 00             	movb   $0x0,(%rax)
140a166ba:	48 8b 45 af          	mov    -0x51(%rbp),%rax
140a166be:	44 89 38             	mov    %r15d,(%rax)
140a166c1:	48 8b 0b             	mov    (%rbx),%rcx
140a166c4:	e8 c7 8c 96 ff       	call   0x14037f390
140a166c9:	83 f8 ff             	cmp    $0xffffffff,%eax
140a166cc:	74 03                	je     0x140a166d1
140a166ce:	88 43 08             	mov    %al,0x8(%rbx)
140a166d1:	ff 43 18             	incl   0x18(%rbx)
140a166d4:	48 8b 13             	mov    (%rbx),%rdx
140a166d7:	48 8b 02             	mov    (%rdx),%rax
140a166da:	48 63 48 04          	movslq 0x4(%rax),%rcx
140a166de:	f6 44 11 10 06       	testb  $0x6,0x10(%rcx,%rdx,1)
140a166e3:	0f 85 62 02 00 00    	jne    0x140a1694b
140a166e9:	0f b6 53 08          	movzbl 0x8(%rbx),%edx
140a166ed:	80 fa 0a             	cmp    $0xa,%dl
140a166f0:	0f 85 57 02 00 00    	jne    0x140a1694d
140a166f6:	ff 43 14             	incl   0x14(%rbx)
140a166f9:	c7 43 18 01 00 00 00 	movl   $0x1,0x18(%rbx)
140a16700:	e9 48 02 00 00       	jmp    0x140a1694d
140a16705:	ff 45 77             	incl   0x77(%rbp)
140a16708:	0f b6 05 31 af 66 00 	movzbl 0x66af31(%rip),%eax        # 0x141081640
140a1670f:	49 8b ce             	mov    %r14,%rcx
140a16712:	84 c0                	test   %al,%al
140a16714:	74 0e                	je     0x140a16724
140a16716:	3a c2                	cmp    %dl,%al
140a16718:	74 3a                	je     0x140a16754
140a1671a:	0f b6 01             	movzbl (%rcx),%eax
140a1671d:	48 ff c1             	inc    %rcx
140a16720:	84 c0                	test   %al,%al
140a16722:	75 f2                	jne    0x140a16716
140a16724:	c7 45 7f 01 00 00 00 	movl   $0x1,0x7f(%rbp)
140a1672b:	44 0f b7 4d 6f       	movzwl 0x6f(%rbp),%r9d
140a16730:	66 44 3b cf          	cmp    %di,%r9w
140a16734:	0f 87 07 fe ff ff    	ja     0x140a16541
140a1673a:	66 41 c1 e1 04       	shl    $0x4,%r9w
140a1673f:	66 44 89 4d 6f       	mov    %r9w,0x6f(%rbp)
140a16744:	44 0f be c2          	movsbl %dl,%r8d
140a16748:	80 fa 39             	cmp    $0x39,%dl
140a1674b:	7f 3f                	jg     0x140a1678c
140a1674d:	66 41 83 e8 30       	sub    $0x30,%r8w
140a16752:	eb 49                	jmp    0x140a1679d
140a16754:	0f b6 4d 67          	movzbl 0x67(%rbp),%ecx
140a16758:	80 f9 19             	cmp    $0x19,%cl
140a1675b:	77 c7                	ja     0x140a16724
140a1675d:	0f b6 c1             	movzbl %cl,%eax
140a16760:	c0 e0 02             	shl    $0x2,%al
140a16763:	02 c8                	add    %al,%cl
140a16765:	02 c9                	add    %cl,%cl
140a16767:	44 0f b6 c9          	movzbl %cl,%r9d
140a1676b:	44 88 4d 67          	mov    %r9b,0x67(%rbp)
140a1676f:	44 8d 42 d0          	lea    -0x30(%rdx),%r8d
140a16773:	41 0f b6 c0          	movzbl %r8b,%eax
140a16777:	b9 ff 00 00 00       	mov    $0xff,%ecx
140a1677c:	2b c8                	sub    %eax,%ecx
140a1677e:	44 3b c9             	cmp    %ecx,%r9d
140a16781:	7f a1                	jg     0x140a16724
140a16783:	45 02 c1             	add    %r9b,%r8b
140a16786:	44 88 45 67          	mov    %r8b,0x67(%rbp)
140a1678a:	eb 9f                	jmp    0x140a1672b
140a1678c:	80 fa 46             	cmp    $0x46,%dl
140a1678f:	7f 07                	jg     0x140a16798
140a16791:	66 41 83 e8 37       	sub    $0x37,%r8w
140a16796:	eb 05                	jmp    0x140a1679d
140a16798:	66 41 83 e8 57       	sub    $0x57,%r8w
140a1679d:	41 0f b7 c0          	movzwl %r8w,%eax
140a167a1:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140a167a6:	2b c8                	sub    %eax,%ecx
140a167a8:	41 0f b7 c1          	movzwl %r9w,%eax
140a167ac:	3b c1                	cmp    %ecx,%eax
140a167ae:	0f 8f 8d fd ff ff    	jg     0x140a16541
140a167b4:	66 45 03 c8          	add    %r8w,%r9w
140a167b8:	66 44 89 4d 6f       	mov    %r9w,0x6f(%rbp)
140a167bd:	48 8b 0b             	mov    (%rbx),%rcx
140a167c0:	e8 cb 8b 96 ff       	call   0x14037f390
140a167c5:	83 f8 ff             	cmp    $0xffffffff,%eax
140a167c8:	74 03                	je     0x140a167cd
140a167ca:	88 43 08             	mov    %al,0x8(%rbx)
140a167cd:	ff 43 18             	incl   0x18(%rbx)
140a167d0:	48 8b 13             	mov    (%rbx),%rdx
140a167d3:	48 8b 02             	mov    (%rdx),%rax
140a167d6:	48 63 48 04          	movslq 0x4(%rax),%rcx
140a167da:	f6 44 11 10 06       	testb  $0x6,0x10(%rcx,%rdx,1)
140a167df:	75 15                	jne    0x140a167f6
140a167e1:	0f b6 53 08          	movzbl 0x8(%rbx),%edx
140a167e5:	80 fa 0a             	cmp    $0xa,%dl
140a167e8:	75 0e                	jne    0x140a167f8
140a167ea:	ff 43 14             	incl   0x14(%rbx)
140a167ed:	c7 43 18 01 00 00 00 	movl   $0x1,0x18(%rbx)
140a167f4:	eb 02                	jmp    0x140a167f8
140a167f6:	32 d2                	xor    %dl,%dl
140a167f8:	e9 c4 00 00 00       	jmp    0x140a168c1
140a167fd:	83 f8 01             	cmp    $0x1,%eax
140a16800:	0f 85 cc fd ff ff    	jne    0x140a165d2
140a16806:	0f b6 05 1b ae 66 00 	movzbl 0x66ae1b(%rip),%eax        # 0x141081628
140a1680d:	48 8b ce             	mov    %rsi,%rcx
140a16810:	84 c0                	test   %al,%al
140a16812:	74 0e                	je     0x140a16822
140a16814:	3a c2                	cmp    %dl,%al
140a16816:	74 11                	je     0x140a16829
140a16818:	0f b6 01             	movzbl (%rcx),%eax
140a1681b:	48 ff c1             	inc    %rcx
140a1681e:	84 c0                	test   %al,%al
140a16820:	75 f2                	jne    0x140a16814
140a16822:	b0 01                	mov    $0x1,%al
140a16824:	e9 2e 01 00 00       	jmp    0x140a16957
140a16829:	ff 45 77             	incl   0x77(%rbp)
140a1682c:	44 0f b7 4d 6f       	movzwl 0x6f(%rbp),%r9d
140a16831:	66 44 3b cf          	cmp    %di,%r9w
140a16835:	0f 87 06 fd ff ff    	ja     0x140a16541
140a1683b:	66 41 c1 e1 04       	shl    $0x4,%r9w
140a16840:	66 44 89 4d 6f       	mov    %r9w,0x6f(%rbp)
140a16845:	44 0f be c2          	movsbl %dl,%r8d
140a16849:	80 fa 39             	cmp    $0x39,%dl
140a1684c:	7f 07                	jg     0x140a16855
140a1684e:	66 41 83 e8 30       	sub    $0x30,%r8w
140a16853:	eb 11                	jmp    0x140a16866
140a16855:	80 fa 46             	cmp    $0x46,%dl
140a16858:	7f 07                	jg     0x140a16861
140a1685a:	66 41 83 e8 37       	sub    $0x37,%r8w
140a1685f:	eb 05                	jmp    0x140a16866
140a16861:	66 41 83 e8 57       	sub    $0x57,%r8w