14047833d:	76 0a                	jbe    0x140478349
14047833f:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140478344:	e8 27 fa d3 ff       	call   0x1401b7d70
140478349:	48 ff c3             	inc    %rbx
14047834c:	85 f6                	test   %esi,%esi
14047834e:	74 2e                	je     0x14047837e
140478350:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
140478354:	0f b6 03             	movzbl (%rbx),%eax
140478357:	88 47 10             	mov    %al,0x10(%rdi)
14047835a:	48 8b 51 08          	mov    0x8(%rcx),%rdx
14047835e:	48 3b 51 10          	cmp    0x10(%rcx),%rdx
140478362:	74 08                	je     0x14047836c
140478364:	88 02                	mov    %al,(%rdx)
140478366:	48 ff 41 08          	incq   0x8(%rcx)
14047836a:	eb 09                	jmp    0x140478375
14047836c:	4c 8d 47 10          	lea    0x10(%rdi),%r8
140478370:	e8 ab f6 d3 ff       	call   0x1401b7a20
140478375:	48 ff c3             	inc    %rbx
140478378:	48 83 ee 01          	sub    $0x1,%rsi
14047837c:	75 d2                	jne    0x140478350
14047837e:	80 3f 00             	cmpb   $0x0,(%rdi)
140478381:	b8 63 00 00 00       	mov    $0x63,%eax
140478386:	b9 03 00 00 00       	mov    $0x3,%ecx
14047838b:	40 b6 01             	mov    $0x1,%sil
14047838e:	0f 45 c8             	cmovne %eax,%ecx
140478391:	49 8b 07             	mov    (%r15),%rax
140478394:	88 48 0d             	mov    %cl,0xd(%rax)
140478397:	4c 8b 74 24 50       	mov    0x50(%rsp),%r14
14047839c:	40 88 77 11          	mov    %sil,0x11(%rdi)
1404783a0:	c7 47 14 00 00 00 00 	movl   $0x0,0x14(%rdi)
1404783a7:	eb 3e                	jmp    0x1404783e7
1404783a9:	48 8d 43 01          	lea    0x1(%rbx),%rax
1404783ad:	c7 47 14 02 00 00 00 	movl   $0x2,0x14(%rdi)
1404783b4:	49 3b c1             	cmp    %r9,%rax
1404783b7:	77 49                	ja     0x140478402
1404783b9:	48 3b c3             	cmp    %rbx,%rax
1404783bc:	72 44                	jb     0x140478402
1404783be:	0f b6 03             	movzbl (%rbx),%eax
1404783c1:	49 8b ca             	mov    %r10,%rcx
1404783c4:	88 07                	mov    %al,(%rdi)
1404783c6:	8d 50 01             	lea    0x1(%rax),%edx
1404783c9:	e8 62 5f 54 00       	call   0x1409be330
1404783ce:	eb 17                	jmp    0x1404783e7
1404783d0:	45 33 c0             	xor    %r8d,%r8d
1404783d3:	ba 01 00 00 00       	mov    $0x1,%edx
1404783d8:	49 8b ca             	mov    %r10,%rcx
1404783db:	e8 90 64 54 00       	call   0x1409be870
1404783e0:	c7 47 14 01 00 00 00 	movl   $0x1,0x14(%rdi)
1404783e7:	40 0f b6 c6          	movzbl %sil,%eax
1404783eb:	48 8b 4c 24 48       	mov    0x48(%rsp),%rcx
1404783f0:	48 33 cc             	xor    %rsp,%rcx
1404783f3:	e8 08 31 9a 00       	call   0x140e1b500
1404783f8:	48 83 c4 58          	add    $0x58,%rsp
1404783fc:	41 5f                	pop    %r15
1404783fe:	5f                   	pop    %rdi
1404783ff:	5e                   	pop    %rsi
140478400:	5b                   	pop    %rbx
140478401:	c3                   	ret
140478402:	44 2b cb             	sub    %ebx,%r9d
140478405:	48 8d 15 d4 0d b8 00 	lea    0xb80dd4(%rip),%rdx        # 0x140ff91e0
14047840c:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140478412:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140478417:	e8 d4 0c d3 ff       	call   0x1401a90f0
14047841c:	48 8d 15 ad 85 f2 00 	lea    0xf285ad(%rip),%rdx        # 0x1413a09d0
140478423:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140478428:	e8 eb 43 9a 00       	call   0x140e1c818
14047842d:	cc                   	int3
14047842e:	44 2b cb             	sub    %ebx,%r9d
140478431:	48 8d 15 c8 0d b8 00 	lea    0xb80dc8(%rip),%rdx        # 0x140ff9200
140478438:	41 ff c9             	dec    %r9d
14047843b:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140478440:	44 8b c6             	mov    %esi,%r8d
140478443:	e8 a8 0c d3 ff       	call   0x1401a90f0
140478448:	48 8d 15 81 85 f2 00 	lea    0xf28581(%rip),%rdx        # 0x1413a09d0
14047844f:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140478454:	e8 bf 43 9a 00       	call   0x140e1c818
140478459:	cc                   	int3
14047845a:	cc                   	int3
14047845b:	cc                   	int3
14047845c:	cc                   	int3
14047845d:	cc                   	int3
14047845e:	cc                   	int3
14047845f:	cc                   	int3
140478460:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140478465:	55                   	push   %rbp
140478466:	56                   	push   %rsi
140478467:	57                   	push   %rdi
140478468:	41 54                	push   %r12
14047846a:	41 55                	push   %r13
14047846c:	41 56                	push   %r14
14047846e:	41 57                	push   %r15
140478470:	48 83 ec 70          	sub    $0x70,%rsp
140478474:	48 8b 05 85 0a f4 00 	mov    0xf40a85(%rip),%rax        # 0x1413b8f00
14047847b:	48 33 c4             	xor    %rsp,%rax
14047847e:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
140478483:	4d 8b e0             	mov    %r8,%r12
140478486:	4c 8b d2             	mov    %rdx,%r10
140478489:	48 8b f9             	mov    %rcx,%rdi
14047848c:	40 32 ed             	xor    %bpl,%bpl
14047848f:	48 63 42 08          	movslq 0x8(%rdx),%rax
140478493:	85 c0                	test   %eax,%eax
140478495:	75 0d                	jne    0x1404784a4
140478497:	48 8b 72 28          	mov    0x28(%rdx),%rsi
14047849b:	48 63 5a 1c          	movslq 0x1c(%rdx),%rbx
14047849f:	48 03 de             	add    %rsi,%rbx
1404784a2:	eb 08                	jmp    0x1404784ac
1404784a4:	48 8b 72 10          	mov    0x10(%rdx),%rsi
1404784a8:	48 8d 1c 06          	lea    (%rsi,%rax,1),%rbx
1404784ac:	8b 49 24             	mov    0x24(%rcx),%ecx
1404784af:	85 c9                	test   %ecx,%ecx
1404784b1:	0f 84 9c 02 00 00    	je     0x140478753
1404784b7:	83 e9 01             	sub    $0x1,%ecx
1404784ba:	0f 84 54 02 00 00    	je     0x140478714
1404784c0:	83 f9 01             	cmp    $0x1,%ecx
1404784c3:	0f 85 a1 02 00 00    	jne    0x14047876a
1404784c9:	40 38 6a 18          	cmp    %bpl,0x18(%rdx)
1404784cd:	75 0a                	jne    0x1404784d9
1404784cf:	83 7a 44 00          	cmpl   $0x0,0x44(%rdx)
1404784d3:	0f 85 91 02 00 00    	jne    0x14047876a
1404784d9:	48 8d 46 02          	lea    0x2(%rsi),%rax
1404784dd:	48 3b c3             	cmp    %rbx,%rax
1404784e0:	0f 87 95 03 00 00    	ja     0x14047887b
1404784e6:	48 3b c6             	cmp    %rsi,%rax
1404784e9:	0f 82 8c 03 00 00    	jb     0x14047887b
1404784ef:	0f b7 0e             	movzwl (%rsi),%ecx
1404784f2:	41 83 f9 01          	cmp    $0x1,%r9d
1404784f6:	74 04                	je     0x1404784fc
1404784f8:	66 c1 c9 08          	ror    $0x8,%cx
1404784fc:	66 89 0f             	mov    %cx,(%rdi)
1404784ff:	4c 8d 76 04          	lea    0x4(%rsi),%r14
140478503:	4c 3b f3             	cmp    %rbx,%r14
140478506:	0f 87 41 03 00 00    	ja     0x14047884d
14047850c:	4c 3b f0             	cmp    %rax,%r14
14047850f:	0f 82 38 03 00 00    	jb     0x14047884d
140478515:	0f b7 08             	movzwl (%rax),%ecx
140478518:	41 83 f9 01          	cmp    $0x1,%r9d
14047851c:	74 04                	je     0x140478522
14047851e:	66 c1 c9 08          	ror    $0x8,%cx
140478522:	66 89 4f 02          	mov    %cx,0x2(%rdi)
140478526:	4c 8b eb             	mov    %rbx,%r13
140478529:	4c 2b ee             	sub    %rsi,%r13
14047852c:	49 8d 45 fc          	lea    -0x4(%r13),%rax
140478530:	48 83 f8 10          	cmp    $0x10,%rax
140478534:	0f 8c 87 02 00 00    	jl     0x1404787c1
14047853a:	40 88 6f 10          	mov    %bpl,0x10(%rdi)
14047853e:	b9 18 00 00 00       	mov    $0x18,%ecx
140478543:	e8 c0 2b 9a 00       	call   0x140e1b108
140478548:	48 8b c8             	mov    %rax,%rcx
14047854b:	48 85 c0             	test   %rax,%rax
14047854e:	74 0f                	je     0x14047855f
140478550:	33 c0                	xor    %eax,%eax
140478552:	48 89 01             	mov    %rax,(%rcx)
140478555:	48 89 41 08          	mov    %rax,0x8(%rcx)
140478559:	48 89 41 10          	mov    %rax,0x10(%rcx)
14047855d:	eb 02                	jmp    0x140478561
14047855f:	33 c9                	xor    %ecx,%ecx
140478561:	48 89 4f 08          	mov    %rcx,0x8(%rdi)
140478565:	bd 10 00 00 00       	mov    $0x10,%ebp
14047856a:	48 89 6c 24 30       	mov    %rbp,0x30(%rsp)
14047856f:	48 8b 41 10          	mov    0x10(%rcx),%rax
140478573:	48 2b 01             	sub    (%rcx),%rax
140478576:	48 3b c5             	cmp    %rbp,%rax
140478579:	73 15                	jae    0x140478590
14047857b:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
140478580:	e8 eb f7 d3 ff       	call   0x1401b7d70
140478585:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
14047858c:	00 00 00 00
140478590:	41 0f b6 06          	movzbl (%r14),%eax
140478594:	88 47 10             	mov    %al,0x10(%rdi)
140478597:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
14047859b:	48 8b 51 08          	mov    0x8(%rcx),%rdx
14047859f:	48 3b 51 10          	cmp    0x10(%rcx),%rdx
1404785a3:	74 08                	je     0x1404785ad
1404785a5:	88 02                	mov    %al,(%rdx)
1404785a7:	48 ff 41 08          	incq   0x8(%rcx)
1404785ab:	eb 09                	jmp    0x1404785b6
1404785ad:	4c 8d 47 10          	lea    0x10(%rdi),%r8
1404785b1:	e8 6a f4 d3 ff       	call   0x1401b7a20
1404785b6:	49 ff c6             	inc    %r14
1404785b9:	48 83 ed 01          	sub    $0x1,%rbp
1404785bd:	75 d1                	jne    0x140478590
1404785bf:	8b 6f 14             	mov    0x14(%rdi),%ebp
1404785c2:	85 ed                	test   %ebp,%ebp
1404785c4:	0f 88 26 02 00 00    	js     0x1404787f0
1404785ca:	4c 63 fd             	movslq %ebp,%r15
1404785cd:	49 8d 45 e8          	lea    -0x18(%r13),%rax
1404785d1:	4c 3b f8             	cmp    %rax,%r15
1404785d4:	0f 8f 41 02 00 00    	jg     0x14047881b
1404785da:	c6 47 20 00          	movb   $0x0,0x20(%rdi)
1404785de:	b9 18 00 00 00       	mov    $0x18,%ecx
1404785e3:	e8 20 2b 9a 00       	call   0x140e1b108
1404785e8:	48 8b c8             	mov    %rax,%rcx
1404785eb:	48 85 c0             	test   %rax,%rax
1404785ee:	74 0f                	je     0x1404785ff
1404785f0:	33 c0                	xor    %eax,%eax
1404785f2:	48 89 01             	mov    %rax,(%rcx)
1404785f5:	48 89 41 08          	mov    %rax,0x8(%rcx)
1404785f9:	48 89 41 10          	mov    %rax,0x10(%rcx)
1404785fd:	eb 02                	jmp    0x140478601
1404785ff:	33 c9                	xor    %ecx,%ecx
140478601:	48 89 4f 18          	mov    %rcx,0x18(%rdi)
140478605:	4c 89 7c 24 30       	mov    %r15,0x30(%rsp)
14047860a:	48 8b 41 10          	mov    0x10(%rcx),%rax
14047860e:	48 2b 01             	sub    (%rcx),%rax
140478611:	4c 3b f8             	cmp    %rax,%r15
140478614:	76 1d                	jbe    0x140478633
140478616:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
14047861d:	ff ff 7f
140478620:	4c 3b f8             	cmp    %rax,%r15
140478623:	0f 87 1e 02 00 00    	ja     0x140478847
140478629:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
14047862e:	e8 3d f7 d3 ff       	call   0x1401b7d70
140478633:	48 83 c6 18          	add    $0x18,%rsi
140478637:	85 ed                	test   %ebp,%ebp
140478639:	7e 33                	jle    0x14047866e
14047863b:	48 8b dd             	mov    %rbp,%rbx
14047863e:	66 90                	xchg   %ax,%ax
140478640:	0f b6 06             	movzbl (%rsi),%eax
140478643:	88 47 20             	mov    %al,0x20(%rdi)
140478646:	48 8b 4f 18          	mov    0x18(%rdi),%rcx
14047864a:	48 8b 51 08          	mov    0x8(%rcx),%rdx
14047864e:	48 3b 51 10          	cmp    0x10(%rcx),%rdx
140478652:	74 08                	je     0x14047865c
140478654:	88 02                	mov    %al,(%rdx)
140478656:	48 ff 41 08          	incq   0x8(%rcx)
14047865a:	eb 09                	jmp    0x140478665
14047865c:	4c 8d 47 20          	lea    0x20(%rdi),%r8
140478660:	e8 bb f3 d3 ff       	call   0x1401b7a20
140478665:	48 ff c6             	inc    %rsi
140478668:	48 83 eb 01          	sub    $0x1,%rbx
14047866c:	75 d2                	jne    0x140478640
14047866e:	40 b5 01             	mov    $0x1,%bpl
140478671:	49 8b 14 24          	mov    (%r12),%rdx
140478675:	48 8b 47 08          	mov    0x8(%rdi),%rax
140478679:	48 8b 08             	mov    (%rax),%rcx
14047867c:	0f b6 01             	movzbl (%rcx),%eax
14047867f:	c0 e8 03             	shr    $0x3,%al
140478682:	88 42 12             	mov    %al,0x12(%rdx)
140478685:	c6 42 0d 08          	movb   $0x8,0xd(%rdx)
140478689:	40 88 6a 13          	mov    %bpl,0x13(%rdx)
14047868d:	40 88 6f 21          	mov    %bpl,0x21(%rdi)
140478691:	4d 8b 6c 24 08       	mov    0x8(%r12),%r13
140478696:	48 8b 0d fb 00 fb 00 	mov    0xfb00fb(%rip),%rcx        # 0x141428798
14047869d:	48 85 c9             	test   %rcx,%rcx
1404786a0:	74 65                	je     0x140478707
1404786a2:	e8 89 ce 39 00       	call   0x140815530
1404786a7:	84 c0                	test   %al,%al
1404786a9:	74 5c                	je     0x140478707
1404786ab:	48 8b 47 18          	mov    0x18(%rdi),%rax
1404786af:	48 8b 30             	mov    (%rax),%rsi
1404786b2:	44 0f b7 77 02       	movzwl 0x2(%rdi),%r14d
1404786b7:	44 0f b7 3f          	movzwl (%rdi),%r15d
1404786bb:	48 8b 58 08          	mov    0x8(%rax),%rbx
1404786bf:	48 2b de             	sub    %rsi,%rbx
1404786c2:	b9 28 00 00 00       	mov    $0x28,%ecx
1404786c7:	e8 3c 2a 9a 00       	call   0x140e1b108
1404786cc:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
1404786d1:	48 85 c0             	test   %rax,%rax
1404786d4:	74 0e                	je     0x1404786e4
1404786d6:	4c 8b c6             	mov    %rsi,%r8
1404786d9:	8b d3                	mov    %ebx,%edx
1404786db:	48 8b c8             	mov    %rax,%rcx
1404786de:	e8 0d 95 2b 00       	call   0x140731bf0
1404786e3:	90                   	nop
1404786e4:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1404786e9:	49 8b 45 20          	mov    0x20(%r13),%rax
1404786ed:	48 8b 48 28          	mov    0x28(%rax),%rcx
1404786f1:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
1404786f6:	4d 8b cf             	mov    %r15,%r9
1404786f9:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
1404786fe:	48 8b 51 28          	mov    0x28(%rcx),%rdx
140478702:	e8 d9 27 00 00       	call   0x14047aee0
140478707:	c6 47 22 01          	movb   $0x1,0x22(%rdi)
14047870b:	c7 47 24 00 00 00 00 	movl   $0x0,0x24(%rdi)
140478712:	eb 56                	jmp    0x14047876a
140478714:	c7 47 24 02 00 00 00 	movl   $0x2,0x24(%rdi)
14047871b:	48 8d 46 18          	lea    0x18(%rsi),%rax
14047871f:	48 3b c3             	cmp    %rbx,%rax
140478722:	77 6f                	ja     0x140478793
140478724:	48 8d 56 14          	lea    0x14(%rsi),%rdx
140478728:	48 3b c2             	cmp    %rdx,%rax
14047872b:	72 66                	jb     0x140478793
14047872d:	8b 12                	mov    (%rdx),%edx
14047872f:	41 83 f9 01          	cmp    $0x1,%r9d
140478733:	74 02                	je     0x140478737
140478735:	0f ca                	bswap  %edx
140478737:	89 57 14             	mov    %edx,0x14(%rdi)
14047873a:	81 fa 00 00 01 00    	cmp    $0x10000,%edx
140478740:	0f 83 63 01 00 00    	jae    0x1404788a9
140478746:	83 c2 18             	add    $0x18,%edx
140478749:	49 8b ca             	mov    %r10,%rcx
14047874c:	e8 df 5b 54 00       	call   0x1409be330
140478751:	eb 17                	jmp    0x14047876a
140478753:	45 33 c0             	xor    %r8d,%r8d
140478756:	ba 18 00 00 00       	mov    $0x18,%edx
14047875b:	49 8b ca             	mov    %r10,%rcx
14047875e:	e8 0d 61 54 00       	call   0x1409be870
140478763:	c7 47 24 01 00 00 00 	movl   $0x1,0x24(%rdi)
14047876a:	40 0f b6 c5          	movzbl %bpl,%eax
14047876e:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
140478773:	48 33 cc             	xor    %rsp,%rcx
140478776:	e8 85 2d 9a 00       	call   0x140e1b500
14047877b:	48 8b 9c 24 c8 00 00 	mov    0xc8(%rsp),%rbx
140478782:	00
140478783:	48 83 c4 70          	add    $0x70,%rsp
140478787:	41 5f                	pop    %r15
140478789:	41 5e                	pop    %r14
14047878b:	41 5d                	pop    %r13
14047878d:	41 5c                	pop    %r12
14047878f:	5f                   	pop    %rdi
140478790:	5e                   	pop    %rsi
140478791:	5d                   	pop    %rbp
140478792:	c3                   	ret
140478793:	2b de                	sub    %esi,%ebx
140478795:	44 8b cb             	mov    %ebx,%r9d
140478798:	41 b8 18 00 00 00    	mov    $0x18,%r8d
14047879e:	48 8d 15 13 0c b8 00 	lea    0xb80c13(%rip),%rdx        # 0x140ff93b8
1404787a5:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
1404787aa:	e8 41 09 d3 ff       	call   0x1401a90f0
1404787af:	48 8d 15 1a 82 f2 00 	lea    0xf2821a(%rip),%rdx        # 0x1413a09d0
1404787b6:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
1404787bb:	e8 58 40 9a 00       	call   0x140e1c818
1404787c0:	cc                   	int3
1404787c1:	2b de                	sub    %esi,%ebx
1404787c3:	44 8d 4b fc          	lea    -0x4(%rbx),%r9d
1404787c7:	41 b8 10 00 00 00    	mov    $0x10,%r8d
1404787cd:	48 8d 15 2c 0c b8 00 	lea    0xb80c2c(%rip),%rdx        # 0x140ff9400
1404787d4:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
1404787d9:	e8 12 09 d3 ff       	call   0x1401a90f0
1404787de:	48 8d 15 eb 81 f2 00 	lea    0xf281eb(%rip),%rdx        # 0x1413a09d0
1404787e5:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
1404787ea:	e8 29 40 9a 00       	call   0x140e1c818
1404787ef:	cc                   	int3
1404787f0:	2b de                	sub    %esi,%ebx
1404787f2:	44 8b cb             	mov    %ebx,%r9d
1404787f5:	44 8b c5             	mov    %ebp,%r8d
1404787f8:	48 8d 15 21 0c b8 00 	lea    0xb80c21(%rip),%rdx        # 0x140ff9420
1404787ff:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140478804:	e8 e7 08 d3 ff       	call   0x1401a90f0
140478809:	48 8d 15 c0 81 f2 00 	lea    0xf281c0(%rip),%rdx        # 0x1413a09d0
140478810:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140478815:	e8 fe 3f 9a 00       	call   0x140e1c818
14047881a:	cc                   	int3
14047881b:	2b de                	sub    %esi,%ebx
14047881d:	44 8d 4b e8          	lea    -0x18(%rbx),%r9d
140478821:	44 8b c5             	mov    %ebp,%r8d
140478824:	48 8d 15 f5 0b b8 00 	lea    0xb80bf5(%rip),%rdx        # 0x140ff9420
14047882b:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140478830:	e8 bb 08 d3 ff       	call   0x1401a90f0
140478835:	48 8d 15 94 81 f2 00 	lea    0xf28194(%rip),%rdx        # 0x1413a09d0