414597:	8d 0c 38             	lea    (%eax,%edi,1),%ecx
41459a:	89 45 d8             	mov    %eax,-0x28(%ebp)
41459d:	89 4d e0             	mov    %ecx,-0x20(%ebp)
4145a0:	3b c1                	cmp    %ecx,%eax
4145a2:	0f 83 5f 01 00 00    	jae    0x414707
4145a8:	6a 0d                	push   $0xd
4145aa:	59                   	pop    %ecx
4145ab:	c7 45 10 1a 00 00 00 	movl   $0x1a,0x10(%ebp)
4145b2:	8b f8                	mov    %eax,%edi
4145b4:	0f b7 07             	movzwl (%edi),%eax
4145b7:	66 3b 45 10          	cmp    0x10(%ebp),%ax
4145bb:	0f 84 26 01 00 00    	je     0x4146e7
4145c1:	66 3b c1             	cmp    %cx,%ax
4145c4:	74 05                	je     0x4145cb
4145c6:	66 89 06             	mov    %ax,(%esi)
4145c9:	eb 27                	jmp    0x4145f2
4145cb:	8b 45 e0             	mov    -0x20(%ebp),%eax
4145ce:	83 c0 fe             	add    $0xfffffffe,%eax
4145d1:	3b f8                	cmp    %eax,%edi
4145d3:	73 28                	jae    0x4145fd
4145d5:	6a 0a                	push   $0xa
4145d7:	5a                   	pop    %edx
4145d8:	66 39 57 02          	cmp    %dx,0x2(%edi)
4145dc:	8b 55 f4             	mov    -0xc(%ebp),%edx
4145df:	75 0e                	jne    0x4145ef
4145e1:	6a 0a                	push   $0xa
4145e3:	58                   	pop    %eax
4145e4:	83 c7 04             	add    $0x4,%edi
4145e7:	66 89 06             	mov    %ax,(%esi)
4145ea:	e9 e5 00 00 00       	jmp    0x4146d4
4145ef:	66 89 0e             	mov    %cx,(%esi)
4145f2:	83 c6 02             	add    $0x2,%esi
4145f5:	83 c7 02             	add    $0x2,%edi
4145f8:	e9 93 00 00 00       	jmp    0x414690
4145fd:	6a 00                	push   $0x0
4145ff:	8d 45 ec             	lea    -0x14(%ebp),%eax
414602:	50                   	push   %eax
414603:	6a 02                	push   $0x2
414605:	8d 45 f8             	lea    -0x8(%ebp),%eax
414608:	50                   	push   %eax
414609:	8b 04 95 20 2a 42 00 	mov    0x422a20(,%edx,4),%eax
414610:	83 c7 02             	add    $0x2,%edi
414613:	ff 34 18             	push   (%eax,%ebx,1)
414616:	ff 15 fc 90 41 00    	call   *0x4190fc
41461c:	85 c0                	test   %eax,%eax
41461e:	75 0e                	jne    0x41462e
414620:	ff 15 18 90 41 00    	call   *0x419018
414626:	85 c0                	test   %eax,%eax
414628:	0f 85 ab 00 00 00    	jne    0x4146d9
41462e:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
414632:	0f 84 a1 00 00 00    	je     0x4146d9
414638:	8b 55 f4             	mov    -0xc(%ebp),%edx
41463b:	8b 04 95 20 2a 42 00 	mov    0x422a20(,%edx,4),%eax
414642:	f6 44 18 04 48       	testb  $0x48,0x4(%eax,%ebx,1)
414647:	74 52                	je     0x41469b
414649:	6a 0a                	push   $0xa
41464b:	58                   	pop    %eax
41464c:	6a 0d                	push   $0xd
41464e:	66 39 45 f8          	cmp    %ax,-0x8(%ebp)
414652:	75 08                	jne    0x41465c
414654:	66 89 06             	mov    %ax,(%esi)
414657:	83 c6 02             	add    $0x2,%esi
41465a:	eb 33                	jmp    0x41468f
41465c:	58                   	pop    %eax
41465d:	66 89 06             	mov    %ax,(%esi)
414660:	8b 0c 95 20 2a 42 00 	mov    0x422a20(,%edx,4),%ecx
414667:	8a 45 f8             	mov    -0x8(%ebp),%al
41466a:	88 44 19 05          	mov    %al,0x5(%ecx,%ebx,1)
41466e:	8b 0c 95 20 2a 42 00 	mov    0x422a20(,%edx,4),%ecx
414675:	8a 45 f9             	mov    -0x7(%ebp),%al
414678:	88 44 19 25          	mov    %al,0x25(%ecx,%ebx,1)
41467c:	8b 04 95 20 2a 42 00 	mov    0x422a20(,%edx,4),%eax
414683:	6a 0a                	push   $0xa
414685:	59                   	pop    %ecx
414686:	83 c6 02             	add    $0x2,%esi
414689:	88 4c 18 26          	mov    %cl,0x26(%eax,%ebx,1)
41468d:	6a 0d                	push   $0xd
41468f:	59                   	pop    %ecx
414690:	3b 7d e0             	cmp    -0x20(%ebp),%edi
414693:	0f 82 1b ff ff ff    	jb     0x4145b4
414699:	eb 6c                	jmp    0x414707
41469b:	3b 75 f0             	cmp    -0x10(%ebp),%esi
41469e:	75 11                	jne    0x4146b1
4146a0:	6a 0a                	push   $0xa
4146a2:	58                   	pop    %eax
4146a3:	66 39 45 f8          	cmp    %ax,-0x8(%ebp)
4146a7:	75 08                	jne    0x4146b1
4146a9:	66 89 06             	mov    %ax,(%esi)
4146ac:	83 c6 02             	add    $0x2,%esi
4146af:	eb dc                	jmp    0x41468d
4146b1:	6a 01                	push   $0x1
4146b3:	6a ff                	push   $0xffffffff
4146b5:	6a fe                	push   $0xfffffffe
4146b7:	ff 75 08             	push   0x8(%ebp)
4146ba:	e8 dc aa ff ff       	call   0x40f19b
4146bf:	8b 55 f4             	mov    -0xc(%ebp),%edx
4146c2:	83 c4 10             	add    $0x10,%esp
4146c5:	6a 0a                	push   $0xa
4146c7:	58                   	pop    %eax
4146c8:	66 39 45 f8          	cmp    %ax,-0x8(%ebp)
4146cc:	74 bf                	je     0x41468d
4146ce:	6a 0d                	push   $0xd
4146d0:	59                   	pop    %ecx
4146d1:	66 89 0e             	mov    %cx,(%esi)
4146d4:	83 c6 02             	add    $0x2,%esi
4146d7:	eb b7                	jmp    0x414690
4146d9:	8b 55 f4             	mov    -0xc(%ebp),%edx
4146dc:	6a 0d                	push   $0xd
4146de:	59                   	pop    %ecx
4146df:	66 89 0e             	mov    %cx,(%esi)
4146e2:	83 c6 02             	add    $0x2,%esi
4146e5:	eb a9                	jmp    0x414690
4146e7:	8b 0c 95 20 2a 42 00 	mov    0x422a20(,%edx,4),%ecx
4146ee:	8a 44 19 04          	mov    0x4(%ecx,%ebx,1),%al
4146f2:	a8 40                	test   $0x40,%al
4146f4:	75 08                	jne    0x4146fe
4146f6:	0c 02                	or     $0x2,%al
4146f8:	88 44 19 04          	mov    %al,0x4(%ecx,%ebx,1)
4146fc:	eb 09                	jmp    0x414707
4146fe:	66 8b 07             	mov    (%edi),%ax
414701:	66 89 06             	mov    %ax,(%esi)
414704:	83 c6 02             	add    $0x2,%esi
414707:	8b 45 f0             	mov    -0x10(%ebp),%eax
41470a:	8b fe                	mov    %esi,%edi
41470c:	2b f8                	sub    %eax,%edi
41470e:	e9 c7 fd ff ff       	jmp    0x4144da
414713:	ff 15 18 90 41 00    	call   *0x419018
414719:	6a 05                	push   $0x5
41471b:	5e                   	pop    %esi
41471c:	3b c6                	cmp    %esi,%eax
41471e:	75 17                	jne    0x414737
414720:	e8 58 3a ff ff       	call   0x40817d
414725:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
41472b:	e8 19 3a ff ff       	call   0x408149
414730:	89 30                	mov    %esi,(%eax)
414732:	e9 e3 fa ff ff       	jmp    0x41421a
414737:	83 f8 6d             	cmp    $0x6d,%eax
41473a:	0f 85 d3 fa ff ff    	jne    0x414213
414740:	33 db                	xor    %ebx,%ebx
414742:	e9 d6 fa ff ff       	jmp    0x41421d
414747:	33 c0                	xor    %eax,%eax
414749:	eb 1a                	jmp    0x414765
41474b:	e8 f9 39 ff ff       	call   0x408149
414750:	89 38                	mov    %edi,(%eax)
414752:	e8 26 3a ff ff       	call   0x40817d
414757:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
41475d:	e8 93 6e ff ff       	call   0x40b5f5
414762:	83 c8 ff             	or     $0xffffffff,%eax
414765:	5f                   	pop    %edi
414766:	5e                   	pop    %esi
414767:	5b                   	pop    %ebx
414768:	c9                   	leave
414769:	c3                   	ret
41476a:	cc                   	int3
41476b:	cc                   	int3
41476c:	cc                   	int3
41476d:	cc                   	int3
41476e:	cc                   	int3
41476f:	cc                   	int3
414770:	55                   	push   %ebp
414771:	8b ec                	mov    %esp,%ebp
414773:	57                   	push   %edi
414774:	83 3d d0 20 42 00 01 	cmpl   $0x1,0x4220d0
41477b:	0f 82 fd 00 00 00    	jb     0x41487e
414781:	8b 7d 08             	mov    0x8(%ebp),%edi
414784:	77 77                	ja     0x4147fd
414786:	0f b6 55 0c          	movzbl 0xc(%ebp),%edx
41478a:	8b c2                	mov    %edx,%eax
41478c:	c1 e2 08             	shl    $0x8,%edx
41478f:	0b d0                	or     %eax,%edx
414791:	66 0f 6e da          	movd   %edx,%xmm3
414795:	f2 0f 70 db 00       	pshuflw $0x0,%xmm3,%xmm3
41479a:	0f 16 db             	movlhps %xmm3,%xmm3
41479d:	b9 0f 00 00 00       	mov    $0xf,%ecx
4147a2:	23 cf                	and    %edi,%ecx
4147a4:	83 c8 ff             	or     $0xffffffff,%eax
4147a7:	d3 e0                	shl    %cl,%eax
4147a9:	2b f9                	sub    %ecx,%edi
4147ab:	33 d2                	xor    %edx,%edx
4147ad:	f3 0f 6f 0f          	movdqu (%edi),%xmm1
4147b1:	66 0f ef d2          	pxor   %xmm2,%xmm2
4147b5:	66 0f 74 d1          	pcmpeqb %xmm1,%xmm2
4147b9:	66 0f 74 cb          	pcmpeqb %xmm3,%xmm1
4147bd:	66 0f d7 ca          	pmovmskb %xmm2,%ecx
4147c1:	23 c8                	and    %eax,%ecx
4147c3:	75 18                	jne    0x4147dd
4147c5:	66 0f d7 c9          	pmovmskb %xmm1,%ecx
4147c9:	23 c8                	and    %eax,%ecx
4147cb:	0f bd c1             	bsr    %ecx,%eax
4147ce:	03 c7                	add    %edi,%eax
4147d0:	85 c9                	test   %ecx,%ecx
4147d2:	0f 45 d0             	cmovne %eax,%edx
4147d5:	83 c8 ff             	or     $0xffffffff,%eax
4147d8:	83 c7 10             	add    $0x10,%edi
4147db:	eb d0                	jmp    0x4147ad
4147dd:	53                   	push   %ebx
4147de:	66 0f d7 d9          	pmovmskb %xmm1,%ebx
4147e2:	23 d8                	and    %eax,%ebx
4147e4:	d1 e1                	shl    $1,%ecx
4147e6:	33 c0                	xor    %eax,%eax
4147e8:	2b c1                	sub    %ecx,%eax
4147ea:	23 c8                	and    %eax,%ecx
4147ec:	49                   	dec    %ecx
4147ed:	23 cb                	and    %ebx,%ecx
4147ef:	5b                   	pop    %ebx
4147f0:	0f bd c1             	bsr    %ecx,%eax
4147f3:	03 c7                	add    %edi,%eax
4147f5:	85 c9                	test   %ecx,%ecx
4147f7:	0f 44 c2             	cmove  %edx,%eax
4147fa:	5f                   	pop    %edi
4147fb:	c9                   	leave
4147fc:	c3                   	ret
4147fd:	0f b6 55 0c          	movzbl 0xc(%ebp),%edx
414801:	85 d2                	test   %edx,%edx
414803:	74 39                	je     0x41483e
414805:	33 c0                	xor    %eax,%eax
414807:	f7 c7 0f 00 00 00    	test   $0xf,%edi
41480d:	74 15                	je     0x414824
41480f:	0f b6 0f             	movzbl (%edi),%ecx
414812:	3b ca                	cmp    %edx,%ecx
414814:	0f 44 c7             	cmove  %edi,%eax
414817:	85 c9                	test   %ecx,%ecx
414819:	74 20                	je     0x41483b
41481b:	47                   	inc    %edi
41481c:	f7 c7 0f 00 00 00    	test   $0xf,%edi
414822:	75 eb                	jne    0x41480f
414824:	66 0f 6e c2          	movd   %edx,%xmm0
414828:	83 c7 10             	add    $0x10,%edi
41482b:	66 0f 3a 63 47 f0 40 	pcmpistri $0x40,-0x10(%edi),%xmm0
414832:	8d 4c 0f f0          	lea    -0x10(%edi,%ecx,1),%ecx
414836:	0f 42 c1             	cmovb  %ecx,%eax
414839:	75 ed                	jne    0x414828
41483b:	5f                   	pop    %edi
41483c:	c9                   	leave
41483d:	c3                   	ret
41483e:	b8 f0 ff ff ff       	mov    $0xfffffff0,%eax
414843:	23 c7                	and    %edi,%eax
414845:	66 0f ef c0          	pxor   %xmm0,%xmm0
414849:	66 0f 74 00          	pcmpeqb (%eax),%xmm0
41484d:	b9 0f 00 00 00       	mov    $0xf,%ecx
414852:	23 cf                	and    %edi,%ecx
414854:	ba ff ff ff ff       	mov    $0xffffffff,%edx
414859:	d3 e2                	shl    %cl,%edx
41485b:	66 0f d7 f8          	pmovmskb %xmm0,%edi
41485f:	23 fa                	and    %edx,%edi
414861:	75 14                	jne    0x414877
414863:	66 0f ef c0          	pxor   %xmm0,%xmm0
414867:	66 0f 74 40 10       	pcmpeqb 0x10(%eax),%xmm0
41486c:	83 c0 10             	add    $0x10,%eax
41486f:	66 0f d7 f8          	pmovmskb %xmm0,%edi
414873:	85 ff                	test   %edi,%edi
414875:	74 ec                	je     0x414863
414877:	0f bc d7             	bsf    %edi,%edx
41487a:	03 c2                	add    %edx,%eax
41487c:	eb bd                	jmp    0x41483b
41487e:	8b 7d 08             	mov    0x8(%ebp),%edi
414881:	33 c0                	xor    %eax,%eax
414883:	83 c9 ff             	or     $0xffffffff,%ecx
414886:	f2 ae                	repnz scas %es:(%edi),%al
414888:	83 c1 01             	add    $0x1,%ecx
41488b:	f7 d9                	neg    %ecx
41488d:	83 ef 01             	sub    $0x1,%edi
414890:	8a 45 0c             	mov    0xc(%ebp),%al
414893:	fd                   	std
414894:	f2 ae                	repnz scas %es:(%edi),%al
414896:	83 c7 01             	add    $0x1,%edi
414899:	38 07                	cmp    %al,(%edi)
41489b:	74 04                	je     0x4148a1
41489d:	33 c0                	xor    %eax,%eax
41489f:	eb 02                	jmp    0x4148a3
4148a1:	8b c7                	mov    %edi,%eax
4148a3:	fc                   	cld
4148a4:	5f                   	pop    %edi
4148a5:	c9                   	leave
4148a6:	c3                   	ret
4148a7:	55                   	push   %ebp
4148a8:	8b ec                	mov    %esp,%ebp
4148aa:	8b 55 14             	mov    0x14(%ebp),%edx
4148ad:	56                   	push   %esi
4148ae:	8b 75 08             	mov    0x8(%ebp),%esi
4148b1:	57                   	push   %edi
4148b2:	8b 7a 0c             	mov    0xc(%edx),%edi
4148b5:	85 f6                	test   %esi,%esi
4148b7:	75 16                	jne    0x4148cf
4148b9:	e8 bf 38 ff ff       	call   0x40817d
4148be:	6a 16                	push   $0x16
4148c0:	5e                   	pop    %esi
4148c1:	89 30                	mov    %esi,(%eax)
4148c3:	e8 2d 6d ff ff       	call   0x40b5f5
4148c8:	8b c6                	mov    %esi,%eax
4148ca:	e9 84 00 00 00       	jmp    0x414953
4148cf:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4148d3:	76 e4                	jbe    0x4148b9
4148d5:	8b 4d 10             	mov    0x10(%ebp),%ecx
4148d8:	c6 06 00             	movb   $0x0,(%esi)
4148db:	85 c9                	test   %ecx,%ecx
4148dd:	7e 04                	jle    0x4148e3
4148df:	8b c1                	mov    %ecx,%eax
4148e1:	eb 02                	jmp    0x4148e5
4148e3:	33 c0                	xor    %eax,%eax
4148e5:	40                   	inc    %eax
4148e6:	39 45 0c             	cmp    %eax,0xc(%ebp)
4148e9:	77 09                	ja     0x4148f4
4148eb:	e8 8d 38 ff ff       	call   0x40817d
4148f0:	6a 22                	push   $0x22
4148f2:	eb cc                	jmp    0x4148c0
4148f4:	53                   	push   %ebx
4148f5:	8d 5e 01             	lea    0x1(%esi),%ebx
4148f8:	c6 06 30             	movb   $0x30,(%esi)
4148fb:	8b c3                	mov    %ebx,%eax
4148fd:	85 c9                	test   %ecx,%ecx
4148ff:	7e 1a                	jle    0x41491b
414901:	8a 17                	mov    (%edi),%dl
414903:	84 d2                	test   %dl,%dl
414905:	74 06                	je     0x41490d
414907:	0f be d2             	movsbl %dl,%edx
41490a:	47                   	inc    %edi
41490b:	eb 03                	jmp    0x414910
41490d:	6a 30                	push   $0x30
41490f:	5a                   	pop    %edx
414910:	88 10                	mov    %dl,(%eax)
414912:	40                   	inc    %eax
414913:	49                   	dec    %ecx
414914:	85 c9                	test   %ecx,%ecx
414916:	7f e9                	jg     0x414901
414918:	8b 55 14             	mov    0x14(%ebp),%edx
41491b:	c6 00 00             	movb   $0x0,(%eax)
41491e:	85 c9                	test   %ecx,%ecx
414920:	78 12                	js     0x414934
414922:	80 3f 35             	cmpb   $0x35,(%edi)
414925:	7c 0d                	jl     0x414934
414927:	eb 03                	jmp    0x41492c
414929:	c6 00 30             	movb   $0x30,(%eax)
41492c:	48                   	dec    %eax
41492d:	80 38 39             	cmpb   $0x39,(%eax)
414930:	74 f7                	je     0x414929
414932:	fe 00                	incb   (%eax)
414934:	80 3e 31             	cmpb   $0x31,(%esi)
414937:	75 05                	jne    0x41493e
414939:	ff 42 04             	incl   0x4(%edx)
41493c:	eb 12                	jmp    0x414950
41493e:	53                   	push   %ebx
41493f:	e8 ac 13 ff ff       	call   0x405cf0
414944:	40                   	inc    %eax
414945:	50                   	push   %eax
414946:	53                   	push   %ebx
414947:	56                   	push   %esi
414948:	e8 03 fe fe ff       	call   0x404750
41494d:	83 c4 10             	add    $0x10,%esp
414950:	33 c0                	xor    %eax,%eax