100404490:	89 c3                	mov    %eax,%ebx
100404492:	85 c0                	test   %eax,%eax
100404494:	75 8b                	jne    100404421 <.text+0x3421>
100404496:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
10040449d:	00 00 00
1004044a0:	8b 46 18             	mov    0x18(%rsi),%eax
1004044a3:	8b 57 18             	mov    0x18(%rdi),%edx
1004044a6:	89 c3                	mov    %eax,%ebx
1004044a8:	89 d1                	mov    %edx,%ecx
1004044aa:	29 c1                	sub    %eax,%ecx
1004044ac:	29 d3                	sub    %edx,%ebx
1004044ae:	31 d0                	xor    %edx,%eax
1004044b0:	0f 49 d9             	cmovns %ecx,%ebx
1004044b3:	85 db                	test   %ebx,%ebx
1004044b5:	0f 85 66 ff ff ff    	jne    100404421 <.text+0x3421>
1004044bb:	8b 47 08             	mov    0x8(%rdi),%eax
1004044be:	4c 8b 07             	mov    (%rdi),%r8
1004044c1:	85 c0                	test   %eax,%eax
1004044c3:	74 2e                	je     1004044f3 <.text+0x34f3>
1004044c5:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
1004044c9:	4c 89 c0             	mov    %r8,%rax
1004044cc:	48 c1 e1 04          	shl    $0x4,%rcx
1004044d0:	4c 01 c1             	add    %r8,%rcx
1004044d3:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1004044d8:	48 8b 10             	mov    (%rax),%rdx
1004044db:	48 85 d2             	test   %rdx,%rdx
1004044de:	74 0a                	je     1004044ea <.text+0x34ea>
1004044e0:	f6 40 18 02          	testb  $0x2,0x18(%rax)
1004044e4:	0f 84 be 01 00 00    	je     1004046a8 <.text+0x36a8>
1004044ea:	48 83 c0 30          	add    $0x30,%rax
1004044ee:	48 39 c8             	cmp    %rcx,%rax
1004044f1:	75 e5                	jne    1004044d8 <.text+0x34d8>
1004044f3:	45 31 d2             	xor    %r10d,%r10d
1004044f6:	31 d2                	xor    %edx,%edx
1004044f8:	8b 46 08             	mov    0x8(%rsi),%eax
1004044fb:	4c 8b 0e             	mov    (%rsi),%r9
1004044fe:	48 89 54 24 30       	mov    %rdx,0x30(%rsp)
100404503:	85 c0                	test   %eax,%eax
100404505:	74 2e                	je     100404535 <.text+0x3535>
100404507:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
10040450b:	4c 89 c8             	mov    %r9,%rax
10040450e:	48 c1 e1 04          	shl    $0x4,%rcx
100404512:	4c 01 c9             	add    %r9,%rcx
100404515:	0f 1f 00             	nopl   (%rax)
100404518:	48 8b 10             	mov    (%rax),%rdx
10040451b:	48 85 d2             	test   %rdx,%rdx
10040451e:	74 0c                	je     10040452c <.text+0x352c>
100404520:	8b 58 18             	mov    0x18(%rax),%ebx
100404523:	83 e3 02             	and    $0x2,%ebx
100404526:	0f 84 34 01 00 00    	je     100404660 <.text+0x3660>
10040452c:	48 83 c0 30          	add    $0x30,%rax
100404530:	48 39 c8             	cmp    %rcx,%rax
100404533:	75 e3                	jne    100404518 <.text+0x3518>
100404535:	48 c7 44 24 38 00 00 	movq   $0x0,0x38(%rsp)
10040453c:	00 00
10040453e:	41 f6 40 18 08       	testb  $0x8,0x18(%r8)
100404543:	74 09                	je     10040454e <.text+0x354e>
100404545:	45 84 d2             	test   %r10b,%r10b
100404548:	0f 85 92 01 00 00    	jne    1004046e0 <.text+0x36e0>
10040454e:	48 8b 47 28          	mov    0x28(%rdi),%rax
100404552:	4c 8d 25 a7 fd ff ff 	lea    -0x259(%rip),%r12        # 100404300 <.text+0x3300>
100404559:	45 31 c9             	xor    %r9d,%r9d
10040455c:	48 89 f9             	mov    %rdi,%rcx
10040455f:	4c 89 e2             	mov    %r12,%rdx
100404562:	4c 8b 40 30          	mov    0x30(%rax),%r8
100404566:	e8 95 fa ff ff       	call   100404000 <.text+0x3000>
10040456b:	4c 89 e2             	mov    %r12,%rdx
10040456e:	48 89 f1             	mov    %rsi,%rcx
100404571:	45 31 c9             	xor    %r9d,%r9d
100404574:	89 c3                	mov    %eax,%ebx
100404576:	0f be e8             	movsbl %al,%ebp
100404579:	48 8b 46 28          	mov    0x28(%rsi),%rax
10040457d:	0f b6 f3             	movzbl %bl,%esi
100404580:	4c 8b 40 30          	mov    0x30(%rax),%r8
100404584:	e8 77 fa ff ff       	call   100404000 <.text+0x3000>
100404589:	44 0f be e0          	movsbl %al,%r12d
10040458d:	85 ed                	test   %ebp,%ebp
10040458f:	75 0f                	jne    1004045a0 <.text+0x35a0>
100404591:	48 8b 54 24 30       	mov    0x30(%rsp),%rdx
100404596:	31 f6                	xor    %esi,%esi
100404598:	48 85 d2             	test   %rdx,%rdx
10040459b:	74 03                	je     1004045a0 <.text+0x35a0>
10040459d:	0f b6 32             	movzbl (%rdx),%esi
1004045a0:	0f b6 f8             	movzbl %al,%edi
1004045a3:	45 85 e4             	test   %r12d,%r12d
1004045a6:	75 0f                	jne    1004045b7 <.text+0x35b7>
1004045a8:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
1004045ad:	31 ff                	xor    %edi,%edi
1004045af:	48 85 c0             	test   %rax,%rax
1004045b2:	74 03                	je     1004045b7 <.text+0x35b7>
1004045b4:	0f b6 38             	movzbl (%rax),%edi
1004045b7:	e8 34 43 00 00       	call   1004088f0 <.text+0x78f0>
1004045bc:	89 f1                	mov    %esi,%ecx
1004045be:	e8 6d 46 00 00       	call   100408c30 <.text+0x7c30>
1004045c3:	89 c3                	mov    %eax,%ebx
1004045c5:	e8 26 43 00 00       	call   1004088f0 <.text+0x78f0>
1004045ca:	89 f9                	mov    %edi,%ecx
1004045cc:	e8 5f 46 00 00       	call   100408c30 <.text+0x7c30>
1004045d1:	29 c3                	sub    %eax,%ebx
1004045d3:	0f 85 48 fe ff ff    	jne    100404421 <.text+0x3421>
1004045d9:	29 f7                	sub    %esi,%edi
1004045db:	89 fb                	mov    %edi,%ebx
1004045dd:	0f 85 3e fe ff ff    	jne    100404421 <.text+0x3421>
1004045e3:	31 db                	xor    %ebx,%ebx
1004045e5:	85 ed                	test   %ebp,%ebp
1004045e7:	0f 95 c3             	setne  %bl
1004045ea:	41 83 fc 01          	cmp    $0x1,%r12d
1004045ee:	83 d3 ff             	adc    $0xffffffff,%ebx
1004045f1:	85 db                	test   %ebx,%ebx
1004045f3:	0f 85 28 fe ff ff    	jne    100404421 <.text+0x3421>
1004045f9:	85 ed                	test   %ebp,%ebp
1004045fb:	0f 85 20 fe ff ff    	jne    100404421 <.text+0x3421>
100404601:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
100404606:	48 8b 54 24 38       	mov    0x38(%rsp),%rdx
10040460b:	31 db                	xor    %ebx,%ebx
10040460d:	48 85 c9             	test   %rcx,%rcx
100404610:	0f 95 c3             	setne  %bl
100404613:	48 83 fa 01          	cmp    $0x1,%rdx
100404617:	83 d3 ff             	adc    $0xffffffff,%ebx
10040461a:	85 db                	test   %ebx,%ebx
10040461c:	0f 85 ff fd ff ff    	jne    100404421 <.text+0x3421>
100404622:	48 85 c9             	test   %rcx,%rcx
100404625:	0f 84 f6 fd ff ff    	je     100404421 <.text+0x3421>
10040462b:	48 83 c4 40          	add    $0x40,%rsp
10040462f:	5b                   	pop    %rbx
100404630:	5e                   	pop    %rsi
100404631:	5f                   	pop    %rdi
100404632:	5d                   	pop    %rbp
100404633:	41 5c                	pop    %r12
100404635:	e9 46 45 00 00       	jmp    100408b80 <.text+0x7b80>
10040463a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
100404640:	8b 46 18             	mov    0x18(%rsi),%eax
100404643:	e9 57 fd ff ff       	jmp    10040439f <.text+0x339f>
100404648:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
10040464f:	00
100404650:	44 8b 41 18          	mov    0x18(%rcx),%r8d
100404654:	e9 27 fd ff ff       	jmp    100404380 <.text+0x3380>
100404659:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
100404660:	48 89 54 24 38       	mov    %rdx,0x38(%rsp)
100404665:	41 f6 40 18 08       	testb  $0x8,0x18(%r8)
10040466a:	74 05                	je     100404671 <.text+0x3671>
10040466c:	45 84 d2             	test   %r10b,%r10b
10040466f:	75 42                	jne    1004046b3 <.text+0x36b3>
100404671:	41 f6 41 18 08       	testb  $0x8,0x18(%r9)
100404676:	0f 84 d2 fe ff ff    	je     10040454e <.text+0x354e>
10040467c:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
100404681:	e8 6a f7 ff ff       	call   100403df0 <.text+0x2df0>
100404686:	83 f8 01             	cmp    $0x1,%eax
100404689:	83 d3 ff             	adc    $0xffffffff,%ebx
10040468c:	85 db                	test   %ebx,%ebx
10040468e:	0f 84 ba fe ff ff    	je     10040454e <.text+0x354e>
100404694:	89 d8                	mov    %ebx,%eax
100404696:	48 83 c4 40          	add    $0x40,%rsp
10040469a:	5b                   	pop    %rbx
10040469b:	5e                   	pop    %rsi
10040469c:	5f                   	pop    %rdi
10040469d:	5d                   	pop    %rbp
10040469e:	41 5c                	pop    %r12
1004046a0:	c3                   	ret
1004046a1:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1004046a8:	41 ba 01 00 00 00    	mov    $0x1,%r10d
1004046ae:	e9 45 fe ff ff       	jmp    1004044f8 <.text+0x34f8>
1004046b3:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
1004046b8:	31 db                	xor    %ebx,%ebx
1004046ba:	e8 31 f7 ff ff       	call   100403df0 <.text+0x2df0>
1004046bf:	85 c0                	test   %eax,%eax
1004046c1:	48 8b 06             	mov    (%rsi),%rax
1004046c4:	0f 95 c3             	setne  %bl
1004046c7:	f6 40 18 08          	testb  $0x8,0x18(%rax)
1004046cb:	74 bf                	je     10040468c <.text+0x368c>
1004046cd:	eb ad                	jmp    10040467c <.text+0x367c>
1004046cf:	bb ff ff ff ff       	mov    $0xffffffff,%ebx
1004046d4:	e9 48 fd ff ff       	jmp    100404421 <.text+0x3421>
1004046d9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1004046e0:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
1004046e5:	31 db                	xor    %ebx,%ebx
1004046e7:	e8 04 f7 ff ff       	call   100403df0 <.text+0x2df0>
1004046ec:	85 c0                	test   %eax,%eax
1004046ee:	0f 95 c3             	setne  %bl
1004046f1:	eb 99                	jmp    10040468c <.text+0x368c>
1004046f3:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1004046fa:	00 00 00 00
1004046fe:	66 90                	xchg   %ax,%ax
100404700:	56                   	push   %rsi
100404701:	53                   	push   %rbx
100404702:	48 83 ec 28          	sub    $0x28,%rsp
100404706:	48 8b 41 38          	mov    0x38(%rcx),%rax
10040470a:	48 2b 41 30          	sub    0x30(%rcx),%rax
10040470e:	48 89 cb             	mov    %rcx,%rbx
100404711:	89 d6                	mov    %edx,%esi
100404713:	48 39 41 20          	cmp    %rax,0x20(%rcx)
100404717:	72 57                	jb     100404770 <.text+0x3770>
100404719:	48 8b 43 28          	mov    0x28(%rbx),%rax
10040471d:	31 d2                	xor    %edx,%edx
10040471f:	48 85 c0             	test   %rax,%rax
100404722:	48 0f 48 c2          	cmovs  %rdx,%rax
100404726:	29 c6                	sub    %eax,%esi
100404728:	89 f2                	mov    %esi,%edx
10040472a:	8d 76 ff             	lea    -0x1(%rsi),%esi
10040472d:	85 d2                	test   %edx,%edx
10040472f:	7e 36                	jle    100404767 <.text+0x3767>
100404731:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
100404738:	48 8b 43 38          	mov    0x38(%rbx),%rax
10040473c:	48 3b 43 40          	cmp    0x40(%rbx),%rax
100404740:	72 15                	jb     100404757 <.text+0x3757>
100404742:	ba 01 00 00 00       	mov    $0x1,%edx
100404747:	48 89 d9             	mov    %rbx,%rcx
10040474a:	e8 81 3f 00 00       	call   1004086d0 <.text+0x76d0>
10040474f:	85 c0                	test   %eax,%eax
100404751:	74 0f                	je     100404762 <.text+0x3762>
100404753:	48 8b 43 38          	mov    0x38(%rbx),%rax
100404757:	48 8d 50 01          	lea    0x1(%rax),%rdx
10040475b:	48 89 53 38          	mov    %rdx,0x38(%rbx)
10040475f:	c6 00 20             	movb   $0x20,(%rax)
100404762:	83 ee 01             	sub    $0x1,%esi
100404765:	73 d1                	jae    100404738 <.text+0x3738>
100404767:	48 83 c4 28          	add    $0x28,%rsp
10040476b:	5b                   	pop    %rbx
10040476c:	5e                   	pop    %rsi
10040476d:	c3                   	ret
10040476e:	66 90                	xchg   %ax,%ax
100404770:	e8 eb 39 00 00       	call   100408160 <.text+0x7160>
100404775:	eb a2                	jmp    100404719 <.text+0x3719>
100404777:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
10040477e:	00 00
100404780:	41 57                	push   %r15
100404782:	41 56                	push   %r14
100404784:	41 55                	push   %r13
100404786:	41 54                	push   %r12
100404788:	55                   	push   %rbp
100404789:	57                   	push   %rdi
10040478a:	56                   	push   %rsi
10040478b:	53                   	push   %rbx
10040478c:	48 83 ec 78          	sub    $0x78,%rsp
100404790:	0f 29 74 24 60       	movaps %xmm6,0x60(%rsp)
100404795:	48 8b 41 20          	mov    0x20(%rcx),%rax
100404799:	48 8b 19             	mov    (%rcx),%rbx
10040479c:	48 89 8c 24 c0 00 00 	mov    %rcx,0xc0(%rsp)
1004047a3:	00
1004047a4:	b9 20 00 00 00       	mov    $0x20,%ecx
1004047a9:	49 89 d7             	mov    %rdx,%r15
1004047ac:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1004047b1:	e8 ea 42 00 00       	call   100408aa0 <.text+0x7aa0>
1004047b6:	48 89 c6             	mov    %rax,%rsi
1004047b9:	48 85 c0             	test   %rax,%rax
1004047bc:	0f 84 6f 06 00 00    	je     100404e31 <.text+0x3e31>
1004047c2:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%rax)
1004047c9:	48 c7 40 18 00 00 00 	movq   $0x0,0x18(%rax)
1004047d0:	00
1004047d1:	48 85 db             	test   %rbx,%rbx
1004047d4:	0f 84 56 01 00 00    	je     100404930 <.text+0x3930>
1004047da:	f6 43 18 04          	testb  $0x4,0x18(%rbx)
1004047de:	0f 85 6c 06 00 00    	jne    100404e50 <.text+0x3e50>
1004047e4:	48 89 df             	mov    %rbx,%rdi
1004047e7:	45 31 ed             	xor    %r13d,%r13d
1004047ea:	eb 29                	jmp    100404815 <.text+0x3815>
1004047ec:	0f 1f 40 00          	nopl   0x0(%rax)
1004047f0:	8b 47 18             	mov    0x18(%rdi),%eax
1004047f3:	a8 04                	test   $0x4,%al
1004047f5:	75 04                	jne    1004047fb <.text+0x37fb>
1004047f7:	83 46 08 01          	addl   $0x1,0x8(%rsi)
1004047fb:	a8 08                	test   $0x8,%al
1004047fd:	75 12                	jne    100404811 <.text+0x3811>
1004047ff:	48 63 6f 08          	movslq 0x8(%rdi),%rbp
100404803:	8d 45 ff             	lea    -0x1(%rbp),%eax
100404806:	3d fe 00 00 00       	cmp    $0xfe,%eax
10040480b:	0f 86 97 02 00 00    	jbe    100404aa8 <.text+0x3aa8>
100404811:	48 83 c7 30          	add    $0x30,%rdi
100404815:	8b 4f 08             	mov    0x8(%rdi),%ecx
100404818:	85 c9                	test   %ecx,%ecx
10040481a:	75 d4                	jne    1004047f0 <.text+0x37f0>
10040481c:	48 83 3f 00          	cmpq   $0x0,(%rdi)
100404820:	75 ce                	jne    1004047f0 <.text+0x37f0>
100404822:	48 83 7f 20 00       	cmpq   $0x0,0x20(%rdi)
100404827:	75 c7                	jne    1004047f0 <.text+0x37f0>
100404829:	44 8b 67 28          	mov    0x28(%rdi),%r12d
10040482d:	45 85 e4             	test   %r12d,%r12d
100404830:	75 be                	jne    1004047f0 <.text+0x37f0>
100404832:	8b 46 08             	mov    0x8(%rsi),%eax
100404835:	48 8d 0c c5 00 00 00 	lea    0x0(,%rax,8),%rcx
10040483c:	00
10040483d:	48 29 c1             	sub    %rax,%rcx
100404840:	48 c1 e1 03          	shl    $0x3,%rcx
100404844:	e8 57 42 00 00       	call   100408aa0 <.text+0x7aa0>
100404849:	41 8d 4d 01          	lea    0x1(%r13),%ecx
10040484d:	48 89 06             	mov    %rax,(%rsi)
100404850:	48 89 c5             	mov    %rax,%rbp
100404853:	e8 48 42 00 00       	call   100408aa0 <.text+0x7aa0>
100404858:	48 89 46 10          	mov    %rax,0x10(%rsi)
10040485c:	48 89 c7             	mov    %rax,%rdi
10040485f:	48 85 c0             	test   %rax,%rax
100404862:	0f 84 8b 05 00 00    	je     100404df3 <.text+0x3df3>
100404868:	48 85 ed             	test   %rbp,%rbp
10040486b:	0f 84 82 05 00 00    	je     100404df3 <.text+0x3df3>
100404871:	8b 43 08             	mov    0x8(%rbx),%eax
100404874:	4c 8b ac 24 c0 00 00 	mov    0xc0(%rsp),%r13
10040487b:	00
10040487c:	0f 1f 40 00          	nopl   0x0(%rax)
100404880:	8b 53 28             	mov    0x28(%rbx),%edx
100404883:	85 c0                	test   %eax,%eax
100404885:	0f 84 f9 04 00 00    	je     100404d84 <.text+0x3d84>
10040488b:	48 89 5d 00          	mov    %rbx,0x0(%rbp)
10040488f:	48 89 7d 10          	mov    %rdi,0x10(%rbp)
100404893:	85 d2                	test   %edx,%edx
100404895:	74 03                	je     10040489a <.text+0x389a>
100404897:	41 89 d4             	mov    %edx,%r12d
10040489a:	44 89 65 18          	mov    %r12d,0x18(%rbp)
10040489e:	31 c0                	xor    %eax,%eax
1004048a0:	4c 89 7d 20          	mov    %r15,0x20(%rbp)
1004048a4:	4c 89 6d 28          	mov    %r13,0x28(%rbp)
1004048a8:	eb 28                	jmp    1004048d2 <.text+0x38d2>
1004048aa:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
1004048b0:	8b 43 38             	mov    0x38(%rbx),%eax
1004048b3:	48 83 c3 30          	add    $0x30,%rbx
1004048b7:	85 c0                	test   %eax,%eax
1004048b9:	75 0a                	jne    1004048c5 <.text+0x38c5>
1004048bb:	48 83 3b 00          	cmpq   $0x0,(%rbx)
1004048bf:	0f 84 a3 04 00 00    	je     100404d68 <.text+0x3d68>
1004048c5:	f6 43 18 04          	testb  $0x4,0x18(%rbx)
1004048c9:	0f 84 e1 04 00 00    	je     100404db0 <.text+0x3db0>
1004048cf:	8b 45 08             	mov    0x8(%rbp),%eax
1004048d2:	83 c0 01             	add    $0x1,%eax
1004048d5:	89 45 08             	mov    %eax,0x8(%rbp)
1004048d8:	f6 43 18 08          	testb  $0x8,0x18(%rbx)
1004048dc:	75 d2                	jne    1004048b0 <.text+0x38b0>
1004048de:	4c 63 73 08          	movslq 0x8(%rbx),%r14
1004048e2:	41 8d 46 ff          	lea    -0x1(%r14),%eax
1004048e6:	3d fe 00 00 00       	cmp    $0xfe,%eax
1004048eb:	77 c3                	ja     1004048b0 <.text+0x38b0>
1004048ed:	e8 fe 3f 00 00       	call   1004088f0 <.text+0x78f0>
1004048f2:	41 0f be 44 06 01    	movsbl 0x1(%r14,%rax,1),%eax
1004048f8:	a8 97                	test   $0x97,%al
1004048fa:	74 b4                	je     1004048b0 <.text+0x38b0>
1004048fc:	8b 4b 08             	mov    0x8(%rbx),%ecx
1004048ff:	48 8b 46 10          	mov    0x10(%rsi),%rax
100404903:	89 ca                	mov    %ecx,%edx
100404905:	48 39 f8             	cmp    %rdi,%rax
100404908:	73 13                	jae    10040491d <.text+0x391d>
10040490a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
100404910:	3a 10                	cmp    (%rax),%dl
100404912:	74 9c                	je     1004048b0 <.text+0x38b0>
100404914:	48 83 c0 01          	add    $0x1,%rax
100404918:	48 39 f8             	cmp    %rdi,%rax
10040491b:	75 f3                	jne    100404910 <.text+0x3910>
10040491d:	88 0f                	mov    %cl,(%rdi)
10040491f:	48 83 c7 01          	add    $0x1,%rdi
100404923:	eb 8b                	jmp    1004048b0 <.text+0x38b0>
100404925:	85 d2                	test   %edx,%edx
100404927:	0f 85 b0 04 00 00    	jne    100404ddd <.text+0x3ddd>
10040492d:	c6 07 00             	movb   $0x0,(%rdi)