417660:	3b ca                	cmp    %edx,%ecx
417662:	72 04                	jb     0x417668
417664:	3b cf                	cmp    %edi,%ecx
417666:	73 05                	jae    0x41766d
417668:	33 d2                	xor    %edx,%edx
41766a:	42                   	inc    %edx
41766b:	eb 03                	jmp    0x417670
41766d:	8b 55 f0             	mov    -0x10(%ebp),%edx
417670:	89 0b                	mov    %ecx,(%ebx)
417672:	85 d2                	test   %edx,%edx
417674:	74 27                	je     0x41769d
417676:	8d 4e 01             	lea    0x1(%esi),%ecx
417679:	33 d2                	xor    %edx,%edx
41767b:	3b ce                	cmp    %esi,%ecx
41767d:	72 05                	jb     0x417684
41767f:	83 f9 01             	cmp    $0x1,%ecx
417682:	73 03                	jae    0x417687
417684:	33 d2                	xor    %edx,%edx
417686:	42                   	inc    %edx
417687:	8b f1                	mov    %ecx,%esi
417689:	89 4b 04             	mov    %ecx,0x4(%ebx)
41768c:	8b 4d 10             	mov    0x10(%ebp),%ecx
41768f:	89 75 f8             	mov    %esi,-0x8(%ebp)
417692:	85 d2                	test   %edx,%edx
417694:	74 07                	je     0x41769d
417696:	40                   	inc    %eax
417697:	89 45 f4             	mov    %eax,-0xc(%ebp)
41769a:	89 43 08             	mov    %eax,0x8(%ebx)
41769d:	89 43 08             	mov    %eax,0x8(%ebx)
4176a0:	8b 45 0c             	mov    0xc(%ebp),%eax
4176a3:	48                   	dec    %eax
4176a4:	ff 45 08             	incl   0x8(%ebp)
4176a7:	89 73 04             	mov    %esi,0x4(%ebx)
4176aa:	89 45 0c             	mov    %eax,0xc(%ebp)
4176ad:	85 c0                	test   %eax,%eax
4176af:	0f 85 d2 fe ff ff    	jne    0x417587
4176b5:	b8 4e 40 00 00       	mov    $0x404e,%eax
4176ba:	33 d2                	xor    %edx,%edx
4176bc:	39 53 08             	cmp    %edx,0x8(%ebx)
4176bf:	75 2e                	jne    0x4176ef
4176c1:	8b 53 04             	mov    0x4(%ebx),%edx
4176c4:	8b 0b                	mov    (%ebx),%ecx
4176c6:	8b f2                	mov    %edx,%esi
4176c8:	8b c1                	mov    %ecx,%eax
4176ca:	c1 e8 10             	shr    $0x10,%eax
4176cd:	c1 e2 10             	shl    $0x10,%edx
4176d0:	0b d0                	or     %eax,%edx
4176d2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4176d5:	c1 ee 10             	shr    $0x10,%esi
4176d8:	c1 e1 10             	shl    $0x10,%ecx
4176db:	05 f0 ff 00 00       	add    $0xfff0,%eax
4176e0:	89 0b                	mov    %ecx,(%ebx)
4176e2:	89 45 fc             	mov    %eax,-0x4(%ebp)
4176e5:	85 f6                	test   %esi,%esi
4176e7:	74 db                	je     0x4176c4
4176e9:	89 53 04             	mov    %edx,0x4(%ebx)
4176ec:	89 73 08             	mov    %esi,0x8(%ebx)
4176ef:	8b 53 08             	mov    0x8(%ebx),%edx
4176f2:	f7 c2 00 80 00 00    	test   $0x8000,%edx
4176f8:	75 34                	jne    0x41772e
4176fa:	8b 3b                	mov    (%ebx),%edi
4176fc:	8b 73 04             	mov    0x4(%ebx),%esi
4176ff:	8b c7                	mov    %edi,%eax
417701:	c1 e8 1f             	shr    $0x1f,%eax
417704:	8b ce                	mov    %esi,%ecx
417706:	03 f6                	add    %esi,%esi
417708:	0b f0                	or     %eax,%esi
41770a:	8b 45 fc             	mov    -0x4(%ebp),%eax
41770d:	c1 e9 1f             	shr    $0x1f,%ecx
417710:	03 d2                	add    %edx,%edx
417712:	0b d1                	or     %ecx,%edx
417714:	05 ff ff 00 00       	add    $0xffff,%eax
417719:	03 ff                	add    %edi,%edi
41771b:	89 45 fc             	mov    %eax,-0x4(%ebp)
41771e:	f7 c2 00 80 00 00    	test   $0x8000,%edx
417724:	74 d9                	je     0x4176ff
417726:	89 3b                	mov    %edi,(%ebx)
417728:	89 73 04             	mov    %esi,0x4(%ebx)
41772b:	89 53 08             	mov    %edx,0x8(%ebx)
41772e:	5f                   	pop    %edi
41772f:	5e                   	pop    %esi
417730:	66 89 43 0a          	mov    %ax,0xa(%ebx)
417734:	5b                   	pop    %ebx
417735:	c9                   	leave
417736:	c3                   	ret
417737:	55                   	push   %ebp
417738:	8b ec                	mov    %esp,%ebp
41773a:	66 8b 45 08          	mov    0x8(%ebp),%ax
41773e:	6a 30                	push   $0x30
417740:	59                   	pop    %ecx
417741:	66 3b c1             	cmp    %cx,%ax
417744:	0f 82 87 01 00 00    	jb     0x4178d1
41774a:	66 83 f8 3a          	cmp    $0x3a,%ax
41774e:	73 07                	jae    0x417757
417750:	0f b7 c0             	movzwl %ax,%eax
417753:	2b c1                	sub    %ecx,%eax
417755:	5d                   	pop    %ebp
417756:	c3                   	ret
417757:	ba 10 ff 00 00       	mov    $0xff10,%edx
41775c:	66 3b c2             	cmp    %dx,%ax
41775f:	0f 83 5e 01 00 00    	jae    0x4178c3
417765:	ba 60 06 00 00       	mov    $0x660,%edx
41776a:	66 3b c2             	cmp    %dx,%ax
41776d:	0f 82 5e 01 00 00    	jb     0x4178d1
417773:	8d 4a 0a             	lea    0xa(%edx),%ecx
417776:	66 3b c1             	cmp    %cx,%ax
417779:	73 07                	jae    0x417782
41777b:	0f b7 c0             	movzwl %ax,%eax
41777e:	2b c2                	sub    %edx,%eax
417780:	5d                   	pop    %ebp
417781:	c3                   	ret
417782:	ba f0 06 00 00       	mov    $0x6f0,%edx
417787:	66 3b c2             	cmp    %dx,%ax
41778a:	0f 82 41 01 00 00    	jb     0x4178d1
417790:	8d 4a 0a             	lea    0xa(%edx),%ecx
417793:	66 3b c1             	cmp    %cx,%ax
417796:	72 e3                	jb     0x41777b
417798:	ba 66 09 00 00       	mov    $0x966,%edx
41779d:	66 3b c2             	cmp    %dx,%ax
4177a0:	0f 82 2b 01 00 00    	jb     0x4178d1
4177a6:	8d 4a 0a             	lea    0xa(%edx),%ecx
4177a9:	66 3b c1             	cmp    %cx,%ax
4177ac:	72 cd                	jb     0x41777b
4177ae:	8d 51 76             	lea    0x76(%ecx),%edx
4177b1:	66 3b c2             	cmp    %dx,%ax
4177b4:	0f 82 17 01 00 00    	jb     0x4178d1
4177ba:	8d 4a 0a             	lea    0xa(%edx),%ecx
4177bd:	66 3b c1             	cmp    %cx,%ax
4177c0:	72 b9                	jb     0x41777b
4177c2:	8d 51 76             	lea    0x76(%ecx),%edx
4177c5:	66 3b c2             	cmp    %dx,%ax
4177c8:	0f 82 03 01 00 00    	jb     0x4178d1
4177ce:	8d 4a 0a             	lea    0xa(%edx),%ecx
4177d1:	66 3b c1             	cmp    %cx,%ax
4177d4:	72 a5                	jb     0x41777b
4177d6:	8d 51 76             	lea    0x76(%ecx),%edx
4177d9:	66 3b c2             	cmp    %dx,%ax
4177dc:	0f 82 ef 00 00 00    	jb     0x4178d1
4177e2:	8d 4a 0a             	lea    0xa(%edx),%ecx
4177e5:	66 3b c1             	cmp    %cx,%ax
4177e8:	72 91                	jb     0x41777b
4177ea:	8d 51 76             	lea    0x76(%ecx),%edx
4177ed:	66 3b c2             	cmp    %dx,%ax
4177f0:	0f 82 db 00 00 00    	jb     0x4178d1
4177f6:	8d 4a 0a             	lea    0xa(%edx),%ecx
4177f9:	66 3b c1             	cmp    %cx,%ax
4177fc:	0f 82 79 ff ff ff    	jb     0x41777b
417802:	ba 66 0c 00 00       	mov    $0xc66,%edx
417807:	66 3b c2             	cmp    %dx,%ax
41780a:	0f 82 c1 00 00 00    	jb     0x4178d1
417810:	8d 4a 0a             	lea    0xa(%edx),%ecx
417813:	66 3b c1             	cmp    %cx,%ax
417816:	0f 82 5f ff ff ff    	jb     0x41777b
41781c:	8d 51 76             	lea    0x76(%ecx),%edx
41781f:	66 3b c2             	cmp    %dx,%ax
417822:	0f 82 a9 00 00 00    	jb     0x4178d1
417828:	8d 4a 0a             	lea    0xa(%edx),%ecx
41782b:	66 3b c1             	cmp    %cx,%ax
41782e:	0f 82 47 ff ff ff    	jb     0x41777b
417834:	8d 51 76             	lea    0x76(%ecx),%edx
417837:	66 3b c2             	cmp    %dx,%ax
41783a:	0f 82 91 00 00 00    	jb     0x4178d1
417840:	8d 4a 0a             	lea    0xa(%edx),%ecx
417843:	66 3b c1             	cmp    %cx,%ax
417846:	0f 82 2f ff ff ff    	jb     0x41777b
41784c:	ba 50 0e 00 00       	mov    $0xe50,%edx
417851:	66 3b c2             	cmp    %dx,%ax
417854:	72 7b                	jb     0x4178d1
417856:	8d 4a 0a             	lea    0xa(%edx),%ecx
417859:	66 3b c1             	cmp    %cx,%ax
41785c:	0f 82 19 ff ff ff    	jb     0x41777b
417862:	8d 51 76             	lea    0x76(%ecx),%edx
417865:	66 3b c2             	cmp    %dx,%ax
417868:	72 67                	jb     0x4178d1
41786a:	8d 4a 0a             	lea    0xa(%edx),%ecx
41786d:	66 3b c1             	cmp    %cx,%ax
417870:	0f 82 05 ff ff ff    	jb     0x41777b
417876:	83 c2 50             	add    $0x50,%edx
417879:	66 3b c2             	cmp    %dx,%ax
41787c:	72 53                	jb     0x4178d1
41787e:	83 c1 50             	add    $0x50,%ecx
417881:	66 3b c1             	cmp    %cx,%ax
417884:	0f 82 f1 fe ff ff    	jb     0x41777b
41788a:	ba 40 10 00 00       	mov    $0x1040,%edx
41788f:	66 3b c2             	cmp    %dx,%ax
417892:	72 3d                	jb     0x4178d1
417894:	8d 4a 0a             	lea    0xa(%edx),%ecx
417897:	66 3b c1             	cmp    %cx,%ax
41789a:	0f 82 db fe ff ff    	jb     0x41777b
4178a0:	ba e0 17 00 00       	mov    $0x17e0,%edx
4178a5:	66 3b c2             	cmp    %dx,%ax
4178a8:	72 27                	jb     0x4178d1
4178aa:	8d 4a 0a             	lea    0xa(%edx),%ecx
4178ad:	66 3b c1             	cmp    %cx,%ax
4178b0:	0f 82 c5 fe ff ff    	jb     0x41777b
4178b6:	83 c2 30             	add    $0x30,%edx
4178b9:	66 3b c2             	cmp    %dx,%ax
4178bc:	72 13                	jb     0x4178d1
4178be:	83 c1 30             	add    $0x30,%ecx
4178c1:	eb 05                	jmp    0x4178c8
4178c3:	b9 1a ff 00 00       	mov    $0xff1a,%ecx
4178c8:	66 3b c1             	cmp    %cx,%ax
4178cb:	0f 82 aa fe ff ff    	jb     0x41777b
4178d1:	83 c8 ff             	or     $0xffffffff,%eax
4178d4:	5d                   	pop    %ebp
4178d5:	c3                   	ret
4178d6:	cc                   	int3
4178d7:	cc                   	int3
4178d8:	cc                   	int3
4178d9:	cc                   	int3
4178da:	cc                   	int3
4178db:	cc                   	int3
4178dc:	cc                   	int3
4178dd:	cc                   	int3
4178de:	cc                   	int3
4178df:	cc                   	int3
4178e0:	83 3d d0 20 42 00 01 	cmpl   $0x1,0x4220d0
4178e7:	72 5f                	jb     0x417948
4178e9:	0f b6 44 24 08       	movzbl 0x8(%esp),%eax
4178ee:	8b d0                	mov    %eax,%edx
4178f0:	c1 e0 08             	shl    $0x8,%eax
4178f3:	0b d0                	or     %eax,%edx
4178f5:	66 0f 6e da          	movd   %edx,%xmm3
4178f9:	f2 0f 70 db 00       	pshuflw $0x0,%xmm3,%xmm3
4178fe:	0f 16 db             	movlhps %xmm3,%xmm3
417901:	8b 54 24 04          	mov    0x4(%esp),%edx
417905:	b9 0f 00 00 00       	mov    $0xf,%ecx
41790a:	83 c8 ff             	or     $0xffffffff,%eax
41790d:	23 ca                	and    %edx,%ecx
41790f:	d3 e0                	shl    %cl,%eax
417911:	2b d1                	sub    %ecx,%edx
417913:	f3 0f 6f 0a          	movdqu (%edx),%xmm1
417917:	66 0f ef d2          	pxor   %xmm2,%xmm2
41791b:	66 0f 74 d1          	pcmpeqb %xmm1,%xmm2
41791f:	66 0f 74 cb          	pcmpeqb %xmm3,%xmm1
417923:	66 0f eb d1          	por    %xmm1,%xmm2
417927:	66 0f d7 ca          	pmovmskb %xmm2,%ecx
41792b:	23 c8                	and    %eax,%ecx
41792d:	75 08                	jne    0x417937
41792f:	83 c8 ff             	or     $0xffffffff,%eax
417932:	83 c2 10             	add    $0x10,%edx
417935:	eb dc                	jmp    0x417913
417937:	0f bc c1             	bsf    %ecx,%eax
41793a:	03 c2                	add    %edx,%eax
41793c:	66 0f 7e da          	movd   %xmm3,%edx
417940:	33 c9                	xor    %ecx,%ecx
417942:	3a 10                	cmp    (%eax),%dl
417944:	0f 45 c1             	cmovne %ecx,%eax
417947:	c3                   	ret
417948:	33 c0                	xor    %eax,%eax
41794a:	8a 44 24 08          	mov    0x8(%esp),%al
41794e:	53                   	push   %ebx
41794f:	8b d8                	mov    %eax,%ebx
417951:	c1 e0 08             	shl    $0x8,%eax
417954:	8b 54 24 08          	mov    0x8(%esp),%edx
417958:	f7 c2 03 00 00 00    	test   $0x3,%edx
41795e:	74 15                	je     0x417975
417960:	8a 0a                	mov    (%edx),%cl
417962:	83 c2 01             	add    $0x1,%edx
417965:	3a cb                	cmp    %bl,%cl
417967:	74 59                	je     0x4179c2
417969:	84 c9                	test   %cl,%cl
41796b:	74 51                	je     0x4179be
41796d:	f7 c2 03 00 00 00    	test   $0x3,%edx
417973:	75 eb                	jne    0x417960
417975:	0b d8                	or     %eax,%ebx
417977:	57                   	push   %edi
417978:	8b c3                	mov    %ebx,%eax
41797a:	c1 e3 10             	shl    $0x10,%ebx
41797d:	56                   	push   %esi
41797e:	0b d8                	or     %eax,%ebx
417980:	8b 0a                	mov    (%edx),%ecx
417982:	bf ff fe fe 7e       	mov    $0x7efefeff,%edi
417987:	8b c1                	mov    %ecx,%eax
417989:	8b f7                	mov    %edi,%esi
41798b:	33 cb                	xor    %ebx,%ecx
41798d:	03 f0                	add    %eax,%esi
41798f:	03 f9                	add    %ecx,%edi
417991:	83 f1 ff             	xor    $0xffffffff,%ecx
417994:	83 f0 ff             	xor    $0xffffffff,%eax
417997:	33 cf                	xor    %edi,%ecx
417999:	33 c6                	xor    %esi,%eax
41799b:	83 c2 04             	add    $0x4,%edx
41799e:	81 e1 00 01 01 81    	and    $0x81010100,%ecx
4179a4:	75 21                	jne    0x4179c7
4179a6:	25 00 01 01 81       	and    $0x81010100,%eax
4179ab:	74 d3                	je     0x417980
4179ad:	25 00 01 01 01       	and    $0x1010100,%eax
4179b2:	75 08                	jne    0x4179bc
4179b4:	81 e6 00 00 00 80    	and    $0x80000000,%esi
4179ba:	75 c4                	jne    0x417980
4179bc:	5e                   	pop    %esi
4179bd:	5f                   	pop    %edi
4179be:	5b                   	pop    %ebx
4179bf:	33 c0                	xor    %eax,%eax
4179c1:	c3                   	ret
4179c2:	8d 42 ff             	lea    -0x1(%edx),%eax
4179c5:	5b                   	pop    %ebx
4179c6:	c3                   	ret
4179c7:	8b 42 fc             	mov    -0x4(%edx),%eax
4179ca:	3a c3                	cmp    %bl,%al
4179cc:	74 36                	je     0x417a04
4179ce:	84 c0                	test   %al,%al
4179d0:	74 ea                	je     0x4179bc
4179d2:	3a e3                	cmp    %bl,%ah
4179d4:	74 27                	je     0x4179fd
4179d6:	84 e4                	test   %ah,%ah
4179d8:	74 e2                	je     0x4179bc
4179da:	c1 e8 10             	shr    $0x10,%eax
4179dd:	3a c3                	cmp    %bl,%al
4179df:	74 15                	je     0x4179f6
4179e1:	84 c0                	test   %al,%al
4179e3:	74 d7                	je     0x4179bc
4179e5:	3a e3                	cmp    %bl,%ah
4179e7:	74 06                	je     0x4179ef
4179e9:	84 e4                	test   %ah,%ah
4179eb:	74 cf                	je     0x4179bc
4179ed:	eb 91                	jmp    0x417980
4179ef:	5e                   	pop    %esi
4179f0:	5f                   	pop    %edi
4179f1:	8d 42 ff             	lea    -0x1(%edx),%eax
4179f4:	5b                   	pop    %ebx
4179f5:	c3                   	ret
4179f6:	8d 42 fe             	lea    -0x2(%edx),%eax
4179f9:	5e                   	pop    %esi
4179fa:	5f                   	pop    %edi
4179fb:	5b                   	pop    %ebx
4179fc:	c3                   	ret
4179fd:	8d 42 fd             	lea    -0x3(%edx),%eax
417a00:	5e                   	pop    %esi
417a01:	5f                   	pop    %edi
417a02:	5b                   	pop    %ebx
417a03:	c3                   	ret
417a04:	8d 42 fc             	lea    -0x4(%edx),%eax
417a07:	5e                   	pop    %esi
417a08:	5f                   	pop    %edi
417a09:	5b                   	pop    %ebx
417a0a:	c3                   	ret
417a0b:	cc                   	int3
417a0c:	cc                   	int3
417a0d:	cc                   	int3
417a0e:	cc                   	int3
417a0f:	cc                   	int3
417a10:	55                   	push   %ebp
417a11:	8b ec                	mov    %esp,%ebp
417a13:	57                   	push   %edi
417a14:	56                   	push   %esi
417a15:	53                   	push   %ebx
417a16:	8b 4d 10             	mov    0x10(%ebp),%ecx
417a19:	0b c9                	or     %ecx,%ecx