140e373af:	3c 01                	cmp    $0x1,%al
140e373b1:	76 14                	jbe    0x140e373c7
140e373b3:	48 8b 12             	mov    (%rdx),%rdx
140e373b6:	83 f9 ff             	cmp    $0xffffffff,%ecx
140e373b9:	74 0c                	je     0x140e373c7
140e373bb:	48 ff 4a 08          	decq   0x8(%rdx)
140e373bf:	48 8b 12             	mov    (%rdx),%rdx
140e373c2:	e8 ad 71 00 00       	call   0x140e3e574
140e373c7:	48 8b 47 08          	mov    0x8(%rdi),%rax
140e373cb:	88 18                	mov    %bl,(%rax)
140e373cd:	48 8b 17             	mov    (%rdi),%rdx
140e373d0:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140e373d4:	48 8b 42 10          	mov    0x10(%rdx),%rax
140e373d8:	48 39 01             	cmp    %rax,(%rcx)
140e373db:	74 08                	je     0x140e373e5
140e373dd:	48 8b 42 18          	mov    0x18(%rdx),%rax
140e373e1:	88 18                	mov    %bl,(%rax)
140e373e3:	eb 02                	jmp    0x140e373e7
140e373e5:	b3 01                	mov    $0x1,%bl
140e373e7:	8a c3                	mov    %bl,%al
140e373e9:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140e373ee:	48 83 c4 20          	add    $0x20,%rsp
140e373f2:	5f                   	pop    %rdi
140e373f3:	c3                   	ret
140e373f4:	48 8b 41 08          	mov    0x8(%rcx),%rax
140e373f8:	33 d2                	xor    %edx,%edx
140e373fa:	4c 8b 09             	mov    (%rcx),%r9
140e373fd:	44 8a 00             	mov    (%rax),%r8b
140e37400:	49 8b 41 10          	mov    0x10(%r9),%rax
140e37404:	48 ff c8             	dec    %rax
140e37407:	49 89 41 10          	mov    %rax,0x10(%r9)
140e3740b:	49 39 51 08          	cmp    %rdx,0x8(%r9)
140e3740f:	74 06                	je     0x140e37417
140e37411:	49 3b 41 08          	cmp    0x8(%r9),%rax
140e37415:	77 1c                	ja     0x140e37433
140e37417:	41 fe c0             	inc    %r8b
140e3741a:	41 80 f8 01          	cmp    $0x1,%r8b
140e3741e:	76 13                	jbe    0x140e37433
140e37420:	4d 8b 01             	mov    (%r9),%r8
140e37423:	49 8b 40 10          	mov    0x10(%r8),%rax
140e37427:	49 3b 00             	cmp    (%r8),%rax
140e3742a:	74 07                	je     0x140e37433
140e3742c:	48 ff c8             	dec    %rax
140e3742f:	49 89 40 10          	mov    %rax,0x10(%r8)
140e37433:	48 8b 41 08          	mov    0x8(%rcx),%rax
140e37437:	88 10                	mov    %dl,(%rax)
140e37439:	4c 8b 01             	mov    (%rcx),%r8
140e3743c:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140e37440:	49 8b 40 10          	mov    0x10(%r8),%rax
140e37444:	48 39 01             	cmp    %rax,(%rcx)
140e37447:	74 08                	je     0x140e37451
140e37449:	49 8b 40 18          	mov    0x18(%r8),%rax
140e3744d:	88 10                	mov    %dl,(%rax)
140e3744f:	eb 02                	jmp    0x140e37453
140e37451:	b2 01                	mov    $0x1,%dl
140e37453:	8a c2                	mov    %dl,%al
140e37455:	c3                   	ret
140e37456:	cc                   	int3
140e37457:	cc                   	int3
140e37458:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140e3745d:	55                   	push   %rbp
140e3745e:	48 8d 6c 24 a9       	lea    -0x57(%rsp),%rbp
140e37463:	48 81 ec f0 00 00 00 	sub    $0xf0,%rsp
140e3746a:	48 8b 05 8f 1a 58 00 	mov    0x581a8f(%rip),%rax        # 0x1413b8f00
140e37471:	48 33 c4             	xor    %rsp,%rax
140e37474:	48 89 45 47          	mov    %rax,0x47(%rbp)
140e37478:	48 8b 11             	mov    (%rcx),%rdx
140e3747b:	48 8b d9             	mov    %rcx,%rbx
140e3747e:	48 8d 4d 97          	lea    -0x69(%rbp),%rcx
140e37482:	48 8b 12             	mov    (%rdx),%rdx
140e37485:	e8 da ac ff ff       	call   0x140e32164
140e3748a:	48 8b 43 20          	mov    0x20(%rbx),%rax
140e3748e:	4c 8b 08             	mov    (%rax),%r9
140e37491:	48 8b 43 18          	mov    0x18(%rbx),%rax
140e37495:	4c 8b 00             	mov    (%rax),%r8
140e37498:	48 8b 43 10          	mov    0x10(%rbx),%rax
140e3749c:	48 8b 10             	mov    (%rax),%rdx
140e3749f:	48 8b 43 08          	mov    0x8(%rbx),%rax
140e374a3:	33 db                	xor    %ebx,%ebx
140e374a5:	48 89 5d 8f          	mov    %rbx,-0x71(%rbp)
140e374a9:	48 8b 08             	mov    (%rax),%rcx
140e374ac:	48 8d 45 9f          	lea    -0x61(%rbp),%rax
140e374b0:	48 89 4d 87          	mov    %rcx,-0x79(%rbp)
140e374b4:	48 8d 4d b7          	lea    -0x49(%rbp),%rcx
140e374b8:	0f 10 45 87          	movups -0x79(%rbp),%xmm0
140e374bc:	48 89 55 b7          	mov    %rdx,-0x49(%rbp)
140e374c0:	48 89 55 cf          	mov    %rdx,-0x31(%rbp)
140e374c4:	f3 0f 7f 45 bf       	movdqu %xmm0,-0x41(%rbp)
140e374c9:	4c 89 45 d7          	mov    %r8,-0x29(%rbp)
140e374cd:	0f 57 c0             	xorps  %xmm0,%xmm0
140e374d0:	48 89 5d df          	mov    %rbx,-0x21(%rbp)
140e374d4:	0f 11 45 03          	movups %xmm0,0x3(%rbp)
140e374d8:	66 89 5d e7          	mov    %bx,-0x19(%rbp)
140e374dc:	0f 11 45 13          	movups %xmm0,0x13(%rbp)
140e374e0:	88 5d e9             	mov    %bl,-0x17(%rbp)
140e374e3:	48 89 5d ef          	mov    %rbx,-0x11(%rbp)
140e374e7:	89 5d f7             	mov    %ebx,-0x9(%rbp)
140e374ea:	88 5d fb             	mov    %bl,-0x5(%rbp)
140e374ed:	89 5d ff             	mov    %ebx,-0x1(%rbp)
140e374f0:	48 89 45 27          	mov    %rax,0x27(%rbp)
140e374f4:	4c 89 4d 2f          	mov    %r9,0x2f(%rbp)
140e374f8:	48 89 5d 37          	mov    %rbx,0x37(%rbp)
140e374fc:	e8 03 2c 00 00       	call   0x140e3a104
140e37501:	38 5d af             	cmp    %bl,-0x51(%rbp)
140e37504:	74 0b                	je     0x140e37511
140e37506:	48 8b 4d 97          	mov    -0x69(%rbp),%rcx
140e3750a:	83 a1 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rcx)
140e37511:	48 8b 4d 47          	mov    0x47(%rbp),%rcx
140e37515:	48 33 cc             	xor    %rsp,%rcx
140e37518:	e8 e3 3f fe ff       	call   0x140e1b500
140e3751d:	48 8b 9c 24 00 01 00 	mov    0x100(%rsp),%rbx
140e37524:	00
140e37525:	48 81 c4 f0 00 00 00 	add    $0xf0,%rsp
140e3752c:	5d                   	pop    %rbp
140e3752d:	c3                   	ret
140e3752e:	cc                   	int3
140e3752f:	cc                   	int3
140e37530:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140e37535:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140e3753a:	57                   	push   %rdi
140e3753b:	48 83 ec 20          	sub    $0x20,%rsp
140e3753f:	33 f6                	xor    %esi,%esi
140e37541:	48 8b d9             	mov    %rcx,%rbx
140e37544:	39 71 10             	cmp    %esi,0x10(%rcx)
140e37547:	75 2a                	jne    0x140e37573
140e37549:	48 8b 41 08          	mov    0x8(%rcx),%rax
140e3754d:	89 71 14             	mov    %esi,0x14(%rcx)
140e37550:	66 89 71 18          	mov    %si,0x18(%rcx)
140e37554:	40 88 71 1a          	mov    %sil,0x1a(%rcx)
140e37558:	48 89 71 20          	mov    %rsi,0x20(%rcx)
140e3755c:	89 71 28             	mov    %esi,0x28(%rcx)
140e3755f:	40 88 71 2c          	mov    %sil,0x2c(%rcx)
140e37563:	89 71 30             	mov    %esi,0x30(%rcx)
140e37566:	0f b6 08             	movzbl (%rax),%ecx
140e37569:	84 c9                	test   %cl,%cl
140e3756b:	75 18                	jne    0x140e37585
140e3756d:	8d 7e 01             	lea    0x1(%rsi),%edi
140e37570:	89 7b 14             	mov    %edi,0x14(%rbx)
140e37573:	32 c0                	xor    %al,%al
140e37575:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140e3757a:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140e3757f:	48 83 c4 20          	add    $0x20,%rsp
140e37583:	5f                   	pop    %rdi
140e37584:	c3                   	ret
140e37585:	e8 16 c7 ff ff       	call   0x140e33ca0
140e3758a:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140e3758e:	85 c0                	test   %eax,%eax
140e37590:	74 2f                	je     0x140e375c1
140e37592:	c7 43 14 02 00 00 00 	movl   $0x2,0x14(%rbx)
140e37599:	0f b6 09             	movzbl (%rcx),%ecx
140e3759c:	e8 ff c6 ff ff       	call   0x140e33ca0
140e375a1:	bf 01 00 00 00       	mov    $0x1,%edi
140e375a6:	eb 10                	jmp    0x140e375b8
140e375a8:	48 01 7b 08          	add    %rdi,0x8(%rbx)
140e375ac:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140e375b0:	0f b6 09             	movzbl (%rcx),%ecx
140e375b3:	e8 e8 c6 ff ff       	call   0x140e33ca0
140e375b8:	85 c0                	test   %eax,%eax
140e375ba:	75 ec                	jne    0x140e375a8
140e375bc:	40 8a c7             	mov    %dil,%al
140e375bf:	eb b4                	jmp    0x140e37575
140e375c1:	b2 25                	mov    $0x25,%dl
140e375c3:	38 11                	cmp    %dl,(%rcx)
140e375c5:	0f 85 b6 00 00 00    	jne    0x140e37681
140e375cb:	48 8d 41 01          	lea    0x1(%rcx),%rax
140e375cf:	38 10                	cmp    %dl,(%rax)
140e375d1:	0f 84 aa 00 00 00    	je     0x140e37681
140e375d7:	c7 43 14 04 00 00 00 	movl   $0x4,0x14(%rbx)
140e375de:	bf 01 00 00 00       	mov    $0x1,%edi
140e375e3:	48 89 43 08          	mov    %rax,0x8(%rbx)
140e375e7:	80 38 2a             	cmpb   $0x2a,(%rax)
140e375ea:	75 0b                	jne    0x140e375f7
140e375ec:	48 ff c0             	inc    %rax
140e375ef:	40 88 7b 1a          	mov    %dil,0x1a(%rbx)
140e375f3:	48 89 43 08          	mov    %rax,0x8(%rbx)
140e375f7:	48 8b cb             	mov    %rbx,%rcx
140e375fa:	e8 7d 36 00 00       	call   0x140e3ac7c
140e375ff:	84 c0                	test   %al,%al
140e37601:	0f 84 6c ff ff ff    	je     0x140e37573
140e37607:	48 8b cb             	mov    %rbx,%rcx
140e3760a:	e8 0d 37 00 00       	call   0x140e3ad1c
140e3760f:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140e37613:	8a 01                	mov    (%rcx),%al
140e37615:	3c 77                	cmp    $0x77,%al
140e37617:	75 0a                	jne    0x140e37623
140e37619:	48 8d 41 01          	lea    0x1(%rcx),%rax
140e3761d:	48 89 43 08          	mov    %rax,0x8(%rbx)
140e37621:	eb 06                	jmp    0x140e37629
140e37623:	2c 43                	sub    $0x43,%al
140e37625:	a8 ef                	test   $0xef,%al
140e37627:	75 04                	jne    0x140e3762d
140e37629:	40 88 7b 2c          	mov    %dil,0x2c(%rbx)
140e3762d:	48 8b cb             	mov    %rbx,%rcx
140e37630:	e8 7f 34 00 00       	call   0x140e3aab4
140e37635:	84 c0                	test   %al,%al
140e37637:	0f 84 36 ff ff ff    	je     0x140e37573
140e3763d:	48 63 43 30          	movslq 0x30(%rbx),%rax
140e37641:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
140e37645:	48 63 43 28          	movslq 0x28(%rbx),%rax
140e37649:	48 8d 14 88          	lea    (%rax,%rcx,4),%rdx
140e3764d:	48 8d 05 3c bb 3a 00 	lea    0x3abb3c(%rip),%rax        # 0x1411e3190
140e37654:	40 38 34 02          	cmp    %sil,(%rdx,%rax,1)
140e37658:	0f 85 5e ff ff ff    	jne    0x140e375bc
140e3765e:	48 c7 43 10 16 00 00 	movq   $0x16,0x10(%rbx)
140e37665:	00
140e37666:	66 89 73 18          	mov    %si,0x18(%rbx)
140e3766a:	40 88 73 1a          	mov    %sil,0x1a(%rbx)
140e3766e:	48 89 73 20          	mov    %rsi,0x20(%rbx)
140e37672:	89 73 28             	mov    %esi,0x28(%rbx)
140e37675:	40 88 73 2c          	mov    %sil,0x2c(%rbx)
140e37679:	89 73 30             	mov    %esi,0x30(%rbx)
140e3767c:	e9 f2 fe ff ff       	jmp    0x140e37573
140e37681:	c7 43 14 03 00 00 00 	movl   $0x3,0x14(%rbx)
140e37688:	bf 01 00 00 00       	mov    $0x1,%edi
140e3768d:	8a 01                	mov    (%rcx),%al
140e3768f:	88 43 18             	mov    %al,0x18(%rbx)
140e37692:	48 8b c6             	mov    %rsi,%rax
140e37695:	38 11                	cmp    %dl,(%rcx)
140e37697:	0f 94 c0             	sete   %al
140e3769a:	48 03 c7             	add    %rdi,%rax
140e3769d:	48 03 c1             	add    %rcx,%rax
140e376a0:	48 89 43 08          	mov    %rax,0x8(%rbx)
140e376a4:	e8 97 69 01 00       	call   0x140e4e040
140e376a9:	0f b6 4b 18          	movzbl 0x18(%rbx),%ecx
140e376ad:	66 39 34 48          	cmp    %si,(%rax,%rcx,2)
140e376b1:	0f 8d 05 ff ff ff    	jge    0x140e375bc
140e376b7:	48 8b 43 08          	mov    0x8(%rbx),%rax
140e376bb:	8a 08                	mov    (%rax),%cl
140e376bd:	84 c9                	test   %cl,%cl
140e376bf:	75 26                	jne    0x140e376e7
140e376c1:	48 c7 43 10 2a 00 00 	movq   $0x2a,0x10(%rbx)
140e376c8:	00
140e376c9:	40 8a fe             	mov    %sil,%dil
140e376cc:	66 89 73 18          	mov    %si,0x18(%rbx)
140e376d0:	40 88 73 1a          	mov    %sil,0x1a(%rbx)
140e376d4:	48 89 73 20          	mov    %rsi,0x20(%rbx)
140e376d8:	89 73 28             	mov    %esi,0x28(%rbx)
140e376db:	40 88 73 2c          	mov    %sil,0x2c(%rbx)
140e376df:	89 73 30             	mov    %esi,0x30(%rbx)
140e376e2:	e9 d5 fe ff ff       	jmp    0x140e375bc
140e376e7:	48 ff c0             	inc    %rax
140e376ea:	88 4b 19             	mov    %cl,0x19(%rbx)
140e376ed:	48 89 43 08          	mov    %rax,0x8(%rbx)
140e376f1:	e9 c6 fe ff ff       	jmp    0x140e375bc
140e376f6:	cc                   	int3
140e376f7:	cc                   	int3
140e376f8:	48 83 ec 38          	sub    $0x38,%rsp
140e376fc:	80 79 08 00          	cmpb   $0x0,0x8(%rcx)
140e37700:	74 08                	je     0x140e3770a
140e37702:	48 8b 01             	mov    (%rcx),%rax
140e37705:	48 83 c4 38          	add    $0x38,%rsp
140e37709:	c3                   	ret
140e3770a:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
140e37710:	4c 8d 05 09 b9 3a 00 	lea    0x3ab909(%rip),%r8        # 0x1411e3020
140e37717:	41 b9 db 01 00 00    	mov    $0x1db,%r9d
140e3771d:	48 8d 15 6c b9 3a 00 	lea    0x3ab96c(%rip),%rdx        # 0x1411e3090
140e37724:	48 8d 0d c5 b9 3a 00 	lea    0x3ab9c5(%rip),%rcx        # 0x1411e30f0
140e3772b:	e8 a4 2a ff ff       	call   0x140e2a1d4
140e37730:	cc                   	int3
140e37731:	cc                   	int3
140e37732:	cc                   	int3
140e37733:	cc                   	int3
140e37734:	48 83 ec 38          	sub    $0x38,%rsp
140e37738:	80 79 08 00          	cmpb   $0x0,0x8(%rcx)
140e3773c:	75 08                	jne    0x140e37746
140e3773e:	48 8b 01             	mov    (%rcx),%rax
140e37741:	48 83 c4 38          	add    $0x38,%rsp
140e37745:	c3                   	ret
140e37746:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
140e3774c:	4c 8d 05 cd b8 3a 00 	lea    0x3ab8cd(%rip),%r8        # 0x1411e3020
140e37753:	41 b9 e1 01 00 00    	mov    $0x1e1,%r9d
140e37759:	48 8d 15 b0 b9 3a 00 	lea    0x3ab9b0(%rip),%rdx        # 0x1411e3110
140e37760:	48 8d 0d 09 ba 3a 00 	lea    0x3aba09(%rip),%rcx        # 0x1411e3170
140e37767:	e8 68 2a ff ff       	call   0x140e2a1d4
140e3776c:	cc                   	int3
140e3776d:	cc                   	int3
140e3776e:	cc                   	int3
140e3776f:	cc                   	int3
140e37770:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140e37775:	89 54 24 10          	mov    %edx,0x10(%rsp)
140e37779:	55                   	push   %rbp
140e3777a:	56                   	push   %rsi
140e3777b:	57                   	push   %rdi
140e3777c:	41 54                	push   %r12
140e3777e:	41 55                	push   %r13
140e37780:	41 56                	push   %r14
140e37782:	41 57                	push   %r15
140e37784:	48 83 ec 30          	sub    $0x30,%rsp
140e37788:	83 64 24 70 00       	andl   $0x0,0x70(%rsp)
140e3778d:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140e37792:	41 0f b6 f0          	movzbl %r8b,%esi
140e37796:	45 8a d9             	mov    %r9b,%r11b
140e37799:	44 8b fa             	mov    %edx,%r15d
140e3779c:	48 8b d9             	mov    %rcx,%rbx
140e3779f:	48 3b c8             	cmp    %rax,%rcx
140e377a2:	76 17                	jbe    0x140e377bb
140e377a4:	48 8b c1             	mov    %rcx,%rax
140e377a7:	48 c1 e8 20          	shr    $0x20,%rax
140e377ab:	0f bd c8             	bsr    %eax,%ecx
140e377ae:	74 04                	je     0x140e377b4
140e377b0:	ff c1                	inc    %ecx
140e377b2:	eb 02                	jmp    0x140e377b6
140e377b4:	33 c9                	xor    %ecx,%ecx
140e377b6:	83 c1 20             	add    $0x20,%ecx
140e377b9:	eb 0b                	jmp    0x140e377c6
140e377bb:	0f bd cb             	bsr    %ebx,%ecx
140e377be:	74 04                	je     0x140e377c4
140e377c0:	ff c1                	inc    %ecx
140e377c2:	eb 02                	jmp    0x140e377c6
140e377c4:	33 c9                	xor    %ecx,%ecx
140e377c6:	4c 8b 94 24 90 00 00 	mov    0x90(%rsp),%r10
140e377cd:	00
140e377ce:	41 8b ff             	mov    %r15d,%edi
140e377d1:	41 8a 52 08          	mov    0x8(%r10),%dl
140e377d5:	8a c2                	mov    %dl,%al
140e377d7:	f6 d8                	neg    %al
140e377d9:	8a c2                	mov    %dl,%al
140e377db:	1b ed                	sbb    %ebp,%ebp
140e377dd:	83 e5 1d             	and    $0x1d,%ebp
140e377e0:	83 c5 18             	add    $0x18,%ebp
140e377e3:	2b e9                	sub    %ecx,%ebp
140e377e5:	2b fd                	sub    %ebp,%edi
140e377e7:	f6 d8                	neg    %al
140e377e9:	45 1b c0             	sbb    %r8d,%r8d
140e377ec:	41 81 e0 80 03 00 00 	and    $0x380,%r8d
140e377f3:	41 83 c0 7f          	add    $0x7f,%r8d
140e377f7:	41 3b f8             	cmp    %r8d,%edi
140e377fa:	0f 8f 6a 02 00 00    	jg     0x140e37a6a
140e37800:	8a c2                	mov    %dl,%al
140e37802:	49 bc 00 00 80 ff ff 	movabs $0xfffffff800000,%r12
140e37809:	ff 0f 00
140e3780c:	f6 d8                	neg    %al
140e3780e:	1b c9                	sbb    %ecx,%ecx
140e37810:	81 e1 80 fc ff ff    	and    $0xfffffc80,%ecx
140e37816:	83 c1 82             	add    $0xffffff82,%ecx
140e37819:	3b f9                	cmp    %ecx,%edi
140e3781b:	0f 8d 51 01 00 00    	jge    0x140e37972
140e37821:	45 8d 4f ff          	lea    -0x1(%r15),%r9d
140e37825:	41 8b f8             	mov    %r8d,%edi
140e37828:	45 03 c8             	add    %r8d,%r9d
140e3782b:	f7 df                	neg    %edi
140e3782d:	44 89 4c 24 70       	mov    %r9d,0x70(%rsp)
140e37832:	45 85 c9             	test   %r9d,%r9d
140e37835:	0f 89 2f 01 00 00    	jns    0x140e3796a
140e3783b:	45 8b e9             	mov    %r9d,%r13d
140e3783e:	41 be 01 00 00 00    	mov    $0x1,%r14d
140e37844:	41 f7 dd             	neg    %r13d
140e37847:	41 83 fd 40          	cmp    $0x40,%r13d
140e3784b:	72 07                	jb     0x140e37854
140e3784d:	33 db                	xor    %ebx,%ebx