140a0747a:	57                   	push   %rdi
140a0747b:	48 83 ec 30          	sub    $0x30,%rsp
140a0747f:	49 8b d8             	mov    %r8,%rbx
140a07482:	48 8b f9             	mov    %rcx,%rdi
140a07485:	49 8b 40 08          	mov    0x8(%r8),%rax
140a07489:	48 85 c0             	test   %rax,%rax
140a0748c:	74 08                	je     0x140a07496
140a0748e:	49 c7 40 08 00 00 00 	movq   $0x0,0x8(%r8)
140a07495:	00
140a07496:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140a0749b:	41 b8 2b 00 00 00    	mov    $0x2b,%r8d
140a074a1:	4c 8d 4c 24 20       	lea    0x20(%rsp),%r9
140a074a6:	e8 f5 fb ff ff       	call   0x140a070a0
140a074ab:	90                   	nop
140a074ac:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
140a074b0:	48 85 db             	test   %rbx,%rbx
140a074b3:	74 2c                	je     0x140a074e1
140a074b5:	48 8b 03             	mov    (%rbx),%rax
140a074b8:	90                   	nop
140a074b9:	48 83 f8 01          	cmp    $0x1,%rax
140a074bd:	74 12                	je     0x140a074d1
140a074bf:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
140a074c6:	f0 48 0f c1 03       	lock xadd %rax,(%rbx)
140a074cb:	48 83 f8 01          	cmp    $0x1,%rax
140a074cf:	75 10                	jne    0x140a074e1
140a074d1:	48 8b cb             	mov    %rbx,%rcx
140a074d4:	e8 07 f9 ff ff       	call   0x140a06de0
140a074d9:	48 8b cb             	mov    %rbx,%rcx
140a074dc:	e8 af 9b 42 00       	call   0x140e31090
140a074e1:	48 8b c7             	mov    %rdi,%rax
140a074e4:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
140a074e9:	48 83 c4 30          	add    $0x30,%rsp
140a074ed:	5f                   	pop    %rdi
140a074ee:	c3                   	ret
140a074ef:	cc                   	int3
140a074f0:	4d 85 c0             	test   %r8,%r8
140a074f3:	0f 84 09 01 00 00    	je     0x140a07602
140a074f9:	56                   	push   %rsi
140a074fa:	41 54                	push   %r12
140a074fc:	41 57                	push   %r15
140a074fe:	48 83 ec 30          	sub    $0x30,%rsp
140a07502:	48 89 6c 24 58       	mov    %rbp,0x58(%rsp)
140a07507:	4d 8b f8             	mov    %r8,%r15
140a0750a:	33 ed                	xor    %ebp,%ebp
140a0750c:	4c 8b e2             	mov    %rdx,%r12
140a0750f:	48 8b f1             	mov    %rcx,%rsi
140a07512:	4d 85 c0             	test   %r8,%r8
140a07515:	0f 84 d9 00 00 00    	je     0x140a075f4
140a0751b:	48 89 5c 24 50       	mov    %rbx,0x50(%rsp)
140a07520:	0f b6 5c 24 60       	movzbl 0x60(%rsp),%ebx
140a07525:	48 89 7c 24 68       	mov    %rdi,0x68(%rsp)
140a0752a:	0f b6 7c 24 60       	movzbl 0x60(%rsp),%edi
140a0752f:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
140a07534:	4c 8d 2d b5 70 5a 00 	lea    0x5a70b5(%rip),%r13        # 0x140fae5f0
140a0753b:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
140a07540:	45 0f b6 34 2c       	movzbl (%r12,%rbp,1),%r14d
140a07545:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
140a07549:	41 8b c6             	mov    %r14d,%eax
140a0754c:	48 8b 56 18          	mov    0x18(%rsi),%rdx
140a07550:	48 c1 e8 04          	shr    $0x4,%rax
140a07554:	46 0f b6 0c 28       	movzbl (%rax,%r13,1),%r9d
140a07559:	48 3b ca             	cmp    %rdx,%rcx
140a0755c:	73 1f                	jae    0x140a0757d
140a0755e:	48 8d 41 01          	lea    0x1(%rcx),%rax
140a07562:	48 89 46 10          	mov    %rax,0x10(%rsi)
140a07566:	48 8b c6             	mov    %rsi,%rax
140a07569:	48 83 fa 0f          	cmp    $0xf,%rdx
140a0756d:	76 03                	jbe    0x140a07572
140a0756f:	48 8b 06             	mov    (%rsi),%rax
140a07572:	44 88 0c 08          	mov    %r9b,(%rax,%rcx,1)
140a07576:	c6 44 08 01 00       	movb   $0x0,0x1(%rax,%rcx,1)
140a0757b:	eb 11                	jmp    0x140a0758e
140a0757d:	44 0f b6 c7          	movzbl %dil,%r8d
140a07581:	ba 01 00 00 00       	mov    $0x1,%edx
140a07586:	48 8b ce             	mov    %rsi,%rcx
140a07589:	e8 32 12 7a ff       	call   0x1401a87c0
140a0758e:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
140a07592:	41 83 e6 0f          	and    $0xf,%r14d
140a07596:	48 8b 56 18          	mov    0x18(%rsi),%rdx
140a0759a:	47 0f b6 0c 2e       	movzbl (%r14,%r13,1),%r9d
140a0759f:	48 3b ca             	cmp    %rdx,%rcx
140a075a2:	73 1f                	jae    0x140a075c3
140a075a4:	48 8d 41 01          	lea    0x1(%rcx),%rax
140a075a8:	48 89 46 10          	mov    %rax,0x10(%rsi)
140a075ac:	48 8b c6             	mov    %rsi,%rax
140a075af:	48 83 fa 0f          	cmp    $0xf,%rdx
140a075b3:	76 03                	jbe    0x140a075b8
140a075b5:	48 8b 06             	mov    (%rsi),%rax
140a075b8:	44 88 0c 08          	mov    %r9b,(%rax,%rcx,1)
140a075bc:	c6 44 08 01 00       	movb   $0x0,0x1(%rax,%rcx,1)
140a075c1:	eb 11                	jmp    0x140a075d4
140a075c3:	44 0f b6 c3          	movzbl %bl,%r8d
140a075c7:	ba 01 00 00 00       	mov    $0x1,%edx
140a075cc:	48 8b ce             	mov    %rsi,%rcx
140a075cf:	e8 ec 11 7a ff       	call   0x1401a87c0
140a075d4:	48 ff c5             	inc    %rbp
140a075d7:	49 3b ef             	cmp    %r15,%rbp
140a075da:	0f 82 60 ff ff ff    	jb     0x140a07540
140a075e0:	4c 8b 74 24 20       	mov    0x20(%rsp),%r14
140a075e5:	4c 8b 6c 24 28       	mov    0x28(%rsp),%r13
140a075ea:	48 8b 7c 24 68       	mov    0x68(%rsp),%rdi
140a075ef:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140a075f4:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
140a075f9:	48 83 c4 30          	add    $0x30,%rsp
140a075fd:	41 5f                	pop    %r15
140a075ff:	41 5c                	pop    %r12
140a07601:	5e                   	pop    %rsi
140a07602:	c3                   	ret
140a07603:	cc                   	int3
140a07604:	cc                   	int3
140a07605:	cc                   	int3
140a07606:	cc                   	int3
140a07607:	cc                   	int3
140a07608:	cc                   	int3
140a07609:	cc                   	int3
140a0760a:	cc                   	int3
140a0760b:	cc                   	int3
140a0760c:	cc                   	int3
140a0760d:	cc                   	int3
140a0760e:	cc                   	int3
140a0760f:	cc                   	int3
140a07610:	48 83 ec 68          	sub    $0x68,%rsp
140a07614:	48 8b 05 e5 18 9b 00 	mov    0x9b18e5(%rip),%rax        # 0x1413b8f00
140a0761b:	48 33 c4             	xor    %rsp,%rax
140a0761e:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
140a07623:	48 8b 11             	mov    (%rcx),%rdx
140a07626:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140a0762a:	48 03 ca             	add    %rdx,%rcx
140a0762d:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140a07632:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
140a07637:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
140a0763c:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140a07641:	c6 44 24 30 00       	movb   $0x0,0x30(%rsp)
140a07646:	c7 44 24 34 01 00 00 	movl   $0x1,0x34(%rsp)
140a0764d:	00
140a0764e:	c7 44 24 38 01 00 00 	movl   $0x1,0x38(%rsp)
140a07655:	00
140a07656:	e8 b5 01 00 00       	call   0x140a07810
140a0765b:	85 c0                	test   %eax,%eax
140a0765d:	0f 94 c0             	sete   %al
140a07660:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
140a07665:	48 33 cc             	xor    %rsp,%rcx
140a07668:	e8 93 3e 41 00       	call   0x140e1b500
140a0766d:	48 83 c4 68          	add    $0x68,%rsp
140a07671:	c3                   	ret
140a07672:	cc                   	int3
140a07673:	cc                   	int3
140a07674:	cc                   	int3
140a07675:	cc                   	int3
140a07676:	cc                   	int3
140a07677:	cc                   	int3
140a07678:	cc                   	int3
140a07679:	cc                   	int3
140a0767a:	cc                   	int3
140a0767b:	cc                   	int3
140a0767c:	cc                   	int3
140a0767d:	cc                   	int3
140a0767e:	cc                   	int3
140a0767f:	cc                   	int3
140a07680:	48 8b c4             	mov    %rsp,%rax
140a07683:	48 89 58 08          	mov    %rbx,0x8(%rax)
140a07687:	48 89 70 18          	mov    %rsi,0x18(%rax)
140a0768b:	57                   	push   %rdi
140a0768c:	48 83 ec 60          	sub    $0x60,%rsp
140a07690:	48 8b f9             	mov    %rcx,%rdi
140a07693:	33 f6                	xor    %esi,%esi
140a07695:	4c 8b 0a             	mov    (%rdx),%r9
140a07698:	48 8b 52 08          	mov    0x8(%rdx),%rdx
140a0769c:	49 03 d1             	add    %r9,%rdx
140a0769f:	40 88 70 e0          	mov    %sil,-0x20(%rax)
140a076a3:	c7 40 e4 01 00 00 00 	movl   $0x1,-0x1c(%rax)
140a076aa:	c7 40 e8 01 00 00 00 	movl   $0x1,-0x18(%rax)
140a076b1:	4c 89 48 d0          	mov    %r9,-0x30(%rax)
140a076b5:	48 89 50 d8          	mov    %rdx,-0x28(%rax)
140a076b9:	49 8b d0             	mov    %r8,%rdx
140a076bc:	48 8d 48 d0          	lea    -0x30(%rax),%rcx
140a076c0:	e8 4b 01 00 00       	call   0x140a07810
140a076c5:	85 c0                	test   %eax,%eax
140a076c7:	0f 84 f8 00 00 00    	je     0x140a077c5
140a076cd:	83 f8 03             	cmp    $0x3,%eax
140a076d0:	74 18                	je     0x140a076ea
140a076d2:	41 b8 2b 00 00 00    	mov    $0x2b,%r8d
140a076d8:	0f b6 54 24 48       	movzbl 0x48(%rsp),%edx
140a076dd:	48 8b cf             	mov    %rdi,%rcx
140a076e0:	e8 fb f8 ff ff       	call   0x140a06fe0
140a076e5:	e9 ea 00 00 00       	jmp    0x140a077d4
140a076ea:	b9 38 00 00 00       	mov    $0x38,%ecx
140a076ef:	e8 38 b0 42 00       	call   0x140e3272c
140a076f4:	48 85 c0             	test   %rax,%rax
140a076f7:	0f 84 ed 00 00 00    	je     0x140a077ea
140a076fd:	48 8d 15 60 b3 9a 00 	lea    0x9ab360(%rip),%rdx        # 0x1413b2a64
140a07704:	48 8b c8             	mov    %rax,%rcx
140a07707:	e8 b4 f6 ff ff       	call   0x140a06dc0
140a0770c:	48 8b d8             	mov    %rax,%rbx
140a0770f:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
140a07714:	0f 57 c0             	xorps  %xmm0,%xmm0
140a07717:	0f 11 40 18          	movups %xmm0,0x18(%rax)
140a0771b:	48 89 70 28          	mov    %rsi,0x28(%rax)
140a0771f:	48 89 70 30          	mov    %rsi,0x30(%rax)
140a07723:	b9 30 00 00 00       	mov    $0x30,%ecx
140a07728:	e8 db 39 41 00       	call   0x140e1b108
140a0772d:	48 89 43 18          	mov    %rax,0x18(%rbx)
140a07731:	48 c7 43 28 20 00 00 	movq   $0x20,0x28(%rbx)
140a07738:	00
140a07739:	48 c7 43 30 2f 00 00 	movq   $0x2f,0x30(%rbx)
140a07740:	00
140a07741:	0f 10 05 58 58 67 00 	movups 0x675858(%rip),%xmm0        # 0x14107cfa0
140a07748:	0f 11 00             	movups %xmm0,(%rax)
140a0774b:	0f 10 0d 5e 58 67 00 	movups 0x67585e(%rip),%xmm1        # 0x14107cfb0
140a07752:	0f 11 48 10          	movups %xmm1,0x10(%rax)
140a07756:	c6 40 20 00          	movb   $0x0,0x20(%rax)
140a0775a:	48 ff 43 10          	incq   0x10(%rbx)
140a0775e:	48 8d 44 24 28       	lea    0x28(%rsp),%rax
140a07763:	48 89 44 24 78       	mov    %rax,0x78(%rsp)
140a07768:	48 89 74 24 30       	mov    %rsi,0x30(%rsp)
140a0776d:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
140a07772:	41 b8 2b 00 00 00    	mov    $0x2b,%r8d
140a07778:	4c 8d 4c 24 38       	lea    0x38(%rsp),%r9
140a0777d:	b2 0f                	mov    $0xf,%dl
140a0777f:	48 8b cf             	mov    %rdi,%rcx
140a07782:	e8 19 f9 ff ff       	call   0x140a070a0
140a07787:	90                   	nop
140a07788:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140a0778d:	48 85 db             	test   %rbx,%rbx
140a07790:	74 42                	je     0x140a077d4
140a07792:	48 8b 03             	mov    (%rbx),%rax
140a07795:	90                   	nop
140a07796:	48 83 f8 01          	cmp    $0x1,%rax
140a0779a:	74 17                	je     0x140a077b3
140a0779c:	48 c7 c2 ff ff ff ff 	mov    $0xffffffffffffffff,%rdx
140a077a3:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
140a077a8:	f0 48 0f c1 10       	lock xadd %rdx,(%rax)
140a077ad:	48 83 fa 01          	cmp    $0x1,%rdx
140a077b1:	75 21                	jne    0x140a077d4
140a077b3:	48 8b cb             	mov    %rbx,%rcx
140a077b6:	e8 25 f6 ff ff       	call   0x140a06de0
140a077bb:	48 8b cb             	mov    %rbx,%rcx
140a077be:	e8 cd 98 42 00       	call   0x140e31090
140a077c3:	eb 0f                	jmp    0x140a077d4
140a077c5:	0f b6 15 cc 57 67 00 	movzbl 0x6757cc(%rip),%edx        # 0x14107cf98
140a077cc:	48 8b cf             	mov    %rdi,%rcx
140a077cf:	e8 dc 71 80 ff       	call   0x14020e9b0
140a077d4:	48 8b c7             	mov    %rdi,%rax
140a077d7:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
140a077dc:	48 8b b4 24 80 00 00 	mov    0x80(%rsp),%rsi
140a077e3:	00
140a077e4:	48 83 c4 60          	add    $0x60,%rsp
140a077e8:	5f                   	pop    %rdi
140a077e9:	c3                   	ret
140a077ea:	48 8d 0d ff 25 67 00 	lea    0x6725ff(%rip),%rcx        # 0x141079df0
140a077f1:	e8 0a f7 78 ff       	call   0x140196f00
140a077f6:	48 8d 0d f3 25 67 00 	lea    0x6725f3(%rip),%rcx        # 0x141079df0
140a077fd:	e8 1e 76 fb ff       	call   0x1409bee20
140a07802:	cc                   	int3
140a07803:	cc                   	int3
140a07804:	cc                   	int3
140a07805:	cc                   	int3
140a07806:	cc                   	int3
140a07807:	cc                   	int3
140a07808:	cc                   	int3
140a07809:	cc                   	int3
140a0780a:	cc                   	int3
140a0780b:	cc                   	int3
140a0780c:	cc                   	int3
140a0780d:	cc                   	int3
140a0780e:	cc                   	int3
140a0780f:	cc                   	int3
140a07810:	40 53                	rex push %rbx
140a07812:	55                   	push   %rbp
140a07813:	57                   	push   %rdi
140a07814:	41 55                	push   %r13
140a07816:	41 56                	push   %r14
140a07818:	48 83 ec 40          	sub    $0x40,%rsp
140a0781c:	48 8b 05 dd 16 9b 00 	mov    0x9b16dd(%rip),%rax        # 0x1413b8f00
140a07823:	48 33 c4             	xor    %rsp,%rax
140a07826:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140a0782b:	4c 8b ea             	mov    %rdx,%r13
140a0782e:	4c 8b f1             	mov    %rcx,%r14
140a07831:	48 8b da             	mov    %rdx,%rbx
140a07834:	e8 d7 0d ff ff       	call   0x1409f8610
140a07839:	48 89 74 24 78       	mov    %rsi,0x78(%rsp)
140a0783e:	33 c0                	xor    %eax,%eax
140a07840:	4c 89 a4 24 80 00 00 	mov    %r12,0x80(%rsp)
140a07847:	00
140a07848:	8b e8                	mov    %eax,%ebp
140a0784a:	4c 89 bc 24 88 00 00 	mov    %r15,0x88(%rsp)
140a07851:	00
140a07852:	49 8b 3e             	mov    (%r14),%rdi
140a07855:	49 3b 7e 08          	cmp    0x8(%r14),%rdi
140a07859:	74 05                	je     0x140a07860
140a0785b:	0f b6 3f             	movzbl (%rdi),%edi
140a0785e:	eb 03                	jmp    0x140a07863
140a07860:	40 32 ff             	xor    %dil,%dil
140a07863:	40 0f be cf          	movsbl %dil,%ecx
140a07867:	e8 94 c5 42 00       	call   0x140e33e00
140a0786c:	85 c0                	test   %eax,%eax
140a0786e:	0f 84 79 02 00 00    	je     0x140a07aed
140a07874:	40 80 ff 39          	cmp    $0x39,%dil
140a07878:	7f 06                	jg     0x140a07880
140a0787a:	40 80 ef 30          	sub    $0x30,%dil
140a0787e:	eb 10                	jmp    0x140a07890
140a07880:	40 80 ff 46          	cmp    $0x46,%dil
140a07884:	7f 06                	jg     0x140a0788c
140a07886:	40 80 ef 37          	sub    $0x37,%dil
140a0788a:	eb 04                	jmp    0x140a07890
140a0788c:	40 80 ef 57          	sub    $0x57,%dil
140a07890:	40 0f b6 cf          	movzbl %dil,%ecx
140a07894:	b8 ff 00 00 00       	mov    $0xff,%eax
140a07899:	3b c1                	cmp    %ecx,%eax
140a0789b:	0f 88 4c 02 00 00    	js     0x140a07aed
140a078a1:	49 8b 36             	mov    (%r14),%rsi
140a078a4:	41 ff 46 18          	incl   0x18(%r14)
140a078a8:	48 ff c6             	inc    %rsi
140a078ab:	49 89 36             	mov    %rsi,(%r14)
140a078ae:	49 3b 76 08          	cmp    0x8(%r14),%rsi
140a078b2:	74 17                	je     0x140a078cb
140a078b4:	0f b6 36             	movzbl (%rsi),%esi
140a078b7:	40 80 fe 0a          	cmp    $0xa,%sil
140a078bb:	75 11                	jne    0x140a078ce
140a078bd:	41 ff 46 14          	incl   0x14(%r14)
140a078c1:	41 c7 46 18 01 00 00 	movl   $0x1,0x18(%r14)
140a078c8:	00
140a078c9:	eb 03                	jmp    0x140a078ce
140a078cb:	40 32 f6             	xor    %sil,%sil
140a078ce:	40 0f be ce          	movsbl %sil,%ecx
140a078d2:	e8 29 c5 42 00       	call   0x140e33e00
140a078d7:	85 c0                	test   %eax,%eax
140a078d9:	0f 84 0e 02 00 00    	je     0x140a07aed
140a078df:	40 80 ff 0f          	cmp    $0xf,%dil
140a078e3:	0f 87 04 02 00 00    	ja     0x140a07aed
140a078e9:	40 c0 e7 04          	shl    $0x4,%dil
140a078ed:	40 80 fe 39          	cmp    $0x39,%sil
140a078f1:	7f 06                	jg     0x140a078f9
140a078f3:	40 80 ee 30          	sub    $0x30,%sil
140a078f7:	eb 10                	jmp    0x140a07909
140a078f9:	40 80 fe 46          	cmp    $0x46,%sil
140a078fd:	7f 06                	jg     0x140a07905
140a078ff:	40 80 ee 37          	sub    $0x37,%sil
140a07903:	eb 04                	jmp    0x140a07909
140a07905:	40 80 ee 57          	sub    $0x57,%sil
140a07909:	40 0f b6 c6          	movzbl %sil,%eax
140a0790d:	b9 ff 00 00 00       	mov    $0xff,%ecx
140a07912:	2b c8                	sub    %eax,%ecx
140a07914:	40 0f b6 c7          	movzbl %dil,%eax
140a07918:	3b c1                	cmp    %ecx,%eax
140a0791a:	0f 8f cd 01 00 00    	jg     0x140a07aed
140a07920:	49 8b ce             	mov    %r14,%rcx
140a07923:	40 02 fe             	add    %sil,%dil
140a07926:	e8 15 02 ff ff       	call   0x1409f7b40
140a0792b:	40 88 3b             	mov    %dil,(%rbx)