454751:	ff 75 0c             	push   0xc(%ebp)
454754:	8b 55 f4             	mov    -0xc(%ebp),%edx
454757:	ff 75 08             	push   0x8(%ebp)
45475a:	e8 a6 3b fc ff       	call   0x418305
45475f:	83 c4 10             	add    $0x10,%esp
454762:	01 45 fc             	add    %eax,-0x4(%ebp)
454765:	e9 68 ff ff ff       	jmp    0x4546d2
45476a:	3b f3                	cmp    %ebx,%esi
45476c:	0f 87 c3 3b fc ff    	ja     0x418335
454772:	8b c3                	mov    %ebx,%eax
454774:	8b fe                	mov    %esi,%edi
454776:	2b c6                	sub    %esi,%eax
454778:	40                   	inc    %eax
454779:	89 45 fc             	mov    %eax,-0x4(%ebp)
45477c:	8b 45 0c             	mov    0xc(%ebp),%eax
45477f:	8b 40 04             	mov    0x4(%eax),%eax
454782:	0f b6 0c 38          	movzbl (%eax,%edi,1),%ecx
454786:	b0 01                	mov    $0x1,%al
454788:	8b d1                	mov    %ecx,%edx
45478a:	83 e1 07             	and    $0x7,%ecx
45478d:	d2 e0                	shl    %cl,%al
45478f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
454792:	c1 ea 03             	shr    $0x3,%edx
454795:	08 04 0a             	or     %al,(%edx,%ecx,1)
454798:	47                   	inc    %edi
454799:	3b fb                	cmp    %ebx,%edi
45479b:	76 df                	jbe    0x45477c
45479d:	8b 7d 14             	mov    0x14(%ebp),%edi
4547a0:	8b 45 08             	mov    0x8(%ebp),%eax
4547a3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4547a6:	e9 8a 3b fc ff       	jmp    0x418335
4547ab:	ba ff ff 00 00       	mov    $0xffff,%edx
4547b0:	3b fa                	cmp    %edx,%edi
4547b2:	0f 86 8b 3b fc ff    	jbe    0x418343
4547b8:	8b fa                	mov    %edx,%edi
4547ba:	89 7d 14             	mov    %edi,0x14(%ebp)
4547bd:	e9 81 3b fc ff       	jmp    0x418343
4547c2:	8b 5d f4             	mov    -0xc(%ebp),%ebx
4547c5:	8b 13                	mov    (%ebx),%edx
4547c7:	85 c0                	test   %eax,%eax
4547c9:	74 31                	je     0x4547fc
4547cb:	3b f7                	cmp    %edi,%esi
4547cd:	73 16                	jae    0x4547e5
4547cf:	6a 02                	push   $0x2
4547d1:	58                   	pop    %eax
4547d2:	66 89 02             	mov    %ax,(%edx)
4547d5:	8b ce                	mov    %esi,%ecx
4547d7:	03 d0                	add    %eax,%edx
4547d9:	e8 4c a7 03 00       	call   0x48ef2a
4547de:	8b cf                	mov    %edi,%ecx
4547e0:	8d 14 42             	lea    (%edx,%eax,2),%edx
4547e3:	eb 0d                	jmp    0x4547f2
4547e5:	75 3d                	jne    0x454824
4547e7:	33 c0                	xor    %eax,%eax
4547e9:	8b ce                	mov    %esi,%ecx
4547eb:	40                   	inc    %eax
4547ec:	66 89 02             	mov    %ax,(%edx)
4547ef:	83 c2 02             	add    $0x2,%edx
4547f2:	e8 33 a7 03 00       	call   0x48ef2a
4547f7:	8d 14 42             	lea    (%edx,%eax,2),%edx
4547fa:	eb 28                	jmp    0x454824
4547fc:	3b f7                	cmp    %edi,%esi
4547fe:	73 12                	jae    0x454812
454800:	6a 02                	push   $0x2
454802:	58                   	pop    %eax
454803:	66 89 02             	mov    %ax,(%edx)
454806:	03 d0                	add    %eax,%edx
454808:	66 89 32             	mov    %si,(%edx)
45480b:	03 d0                	add    %eax,%edx
45480d:	66 89 3a             	mov    %di,(%edx)
454810:	eb 10                	jmp    0x454822
454812:	75 10                	jne    0x454824
454814:	33 c0                	xor    %eax,%eax
454816:	40                   	inc    %eax
454817:	66 89 02             	mov    %ax,(%edx)
45481a:	6a 02                	push   $0x2
45481c:	58                   	pop    %eax
45481d:	03 d0                	add    %eax,%edx
45481f:	66 89 32             	mov    %si,(%edx)
454822:	03 d0                	add    %eax,%edx
454824:	89 13                	mov    %edx,(%ebx)
454826:	e9 5c 3b fc ff       	jmp    0x418387
45482b:	0f b7 06             	movzwl (%esi),%eax
45482e:	81 e7 ff 03 00 00    	and    $0x3ff,%edi
454834:	c1 e7 0a             	shl    $0xa,%edi
454837:	25 ff 03 00 00       	and    $0x3ff,%eax
45483c:	0b f8                	or     %eax,%edi
45483e:	81 c7 00 00 01 00    	add    $0x10000,%edi
454844:	83 c6 02             	add    $0x2,%esi
454847:	e9 bb 3b fc ff       	jmp    0x418407
45484c:	83 ff 67             	cmp    $0x67,%edi
45484f:	0f 87 ce 02 00 00    	ja     0x454b23
454855:	0f 84 59 01 00 00    	je     0x4549b4
45485b:	6a 30                	push   $0x30
45485d:	59                   	pop    %ecx
45485e:	3b f9                	cmp    %ecx,%edi
454860:	0f 84 de 00 00 00    	je     0x454944
454866:	0f 86 52 03 00 00    	jbe    0x454bbe
45486c:	6a 39                	push   $0x39
45486e:	59                   	pop    %ecx
45486f:	3b f9                	cmp    %ecx,%edi
454871:	76 5f                	jbe    0x4548d2
454873:	83 ff 4c             	cmp    $0x4c,%edi
454876:	0f 84 26 06 00 00    	je     0x454ea2
45487c:	83 ff 55             	cmp    $0x55,%edi
45487f:	74 45                	je     0x4548c6
454881:	83 ff 63             	cmp    $0x63,%edi
454884:	0f 85 34 03 00 00    	jne    0x454bbe
45488a:	6a 02                	push   $0x2
45488c:	59                   	pop    %ecx
45488d:	03 f1                	add    %ecx,%esi
45488f:	0f b7 3e             	movzwl (%esi),%edi
454892:	85 ff                	test   %edi,%edi
454894:	75 0a                	jne    0x4548a0
454896:	8b 45 08             	mov    0x8(%ebp),%eax
454899:	89 08                	mov    %ecx,(%eax)
45489b:	e9 7b 3b fc ff       	jmp    0x41841b
4548a0:	83 ff 7f             	cmp    $0x7f,%edi
4548a3:	76 0e                	jbe    0x4548b3
4548a5:	8b 45 08             	mov    0x8(%ebp),%eax
4548a8:	c7 00 44 00 00 00    	movl   $0x44,(%eax)
4548ae:	e9 68 3b fc ff       	jmp    0x41841b
4548b3:	8d 47 9f             	lea    -0x61(%edi),%eax
4548b6:	83 f8 19             	cmp    $0x19,%eax
4548b9:	77 03                	ja     0x4548be
4548bb:	83 ef 20             	sub    $0x20,%edi
4548be:	83 f7 40             	xor    $0x40,%edi
4548c1:	e9 55 3b fc ff       	jmp    0x41841b
4548c6:	f7 45 10 00 00 00 02 	testl  $0x2000000,0x10(%ebp)
4548cd:	e9 f5 05 00 00       	jmp    0x454ec7
4548d2:	39 5d 14             	cmp    %ebx,0x14(%ebp)
4548d5:	75 5e                	jne    0x454935
4548d7:	8d 46 02             	lea    0x2(%esi),%eax
4548da:	89 75 f0             	mov    %esi,-0x10(%ebp)
4548dd:	89 45 f4             	mov    %eax,-0xc(%ebp)
4548e0:	0f b7 00             	movzwl (%eax),%eax
4548e3:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
4548e7:	89 45 ec             	mov    %eax,-0x14(%ebp)
4548ea:	8b 45 f8             	mov    -0x8(%ebp),%eax
4548ed:	72 35                	jb     0x454924
4548ef:	8b 45 ec             	mov    -0x14(%ebp),%eax
4548f2:	66 3b c1             	cmp    %cx,%ax
4548f5:	77 2a                	ja     0x454921
4548f7:	6a 30                	push   $0x30
4548f9:	81 fa cb cc cc 0c    	cmp    $0xccccccb,%edx
4548ff:	7f 7c                	jg     0x45497d
454901:	8b 75 f4             	mov    -0xc(%ebp),%esi
454904:	6b ca 0a             	imul   $0xa,%edx,%ecx
454907:	0f b7 16             	movzwl (%esi),%edx
45490a:	8d 46 02             	lea    0x2(%esi),%eax
45490d:	83 c2 d0             	add    $0xffffffd0,%edx
454910:	89 45 f4             	mov    %eax,-0xc(%ebp)
454913:	0f b7 00             	movzwl (%eax),%eax
454916:	03 d1                	add    %ecx,%edx
454918:	59                   	pop    %ecx
454919:	6a 39                	push   $0x39
45491b:	66 3b c1             	cmp    %cx,%ax
45491e:	59                   	pop    %ecx
45491f:	73 d1                	jae    0x4548f2
454921:	8b 45 f8             	mov    -0x8(%ebp),%eax
454924:	83 fa 08             	cmp    $0x8,%edx
454927:	0f 8c 80 00 00 00    	jl     0x4549ad
45492d:	3b 55 0c             	cmp    0xc(%ebp),%edx
454930:	7e 7b                	jle    0x4549ad
454932:	8b 75 f0             	mov    -0x10(%ebp),%esi
454935:	0f b7 3e             	movzwl (%esi),%edi
454938:	83 ff 38             	cmp    $0x38,%edi
45493b:	0f 83 da 3a fc ff    	jae    0x41841b
454941:	6a 30                	push   $0x30
454943:	59                   	pop    %ecx
454944:	6a 37                	push   $0x37
454946:	2b f9                	sub    %ecx,%edi
454948:	5a                   	pop    %edx
454949:	40                   	inc    %eax
45494a:	89 45 f8             	mov    %eax,-0x8(%ebp)
45494d:	0f b7 46 02          	movzwl 0x2(%esi),%eax
454951:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
454955:	0f 82 c0 3a fc ff    	jb     0x41841b
45495b:	66 3b c2             	cmp    %dx,%ax
45495e:	0f 87 b7 3a fc ff    	ja     0x41841b
454964:	83 c6 02             	add    $0x2,%esi
454967:	0f b7 06             	movzwl (%esi),%eax
45496a:	83 c0 d0             	add    $0xffffffd0,%eax
45496d:	8d 3c f8             	lea    (%eax,%edi,8),%edi
454970:	8b 45 f8             	mov    -0x8(%ebp),%eax
454973:	83 f8 02             	cmp    $0x2,%eax
454976:	7c d1                	jl     0x454949
454978:	e9 9e 3a fc ff       	jmp    0x41841b
45497d:	8d 4e 02             	lea    0x2(%esi),%ecx
454980:	0f b7 01             	movzwl (%ecx),%eax
454983:	5a                   	pop    %edx
454984:	66 3b c2             	cmp    %dx,%ax
454987:	72 16                	jb     0x45499f
454989:	6a 39                	push   $0x39
45498b:	5a                   	pop    %edx
45498c:	66 3b c2             	cmp    %dx,%ax
45498f:	77 0e                	ja     0x45499f
454991:	8b f1                	mov    %ecx,%esi
454993:	8d 4e 02             	lea    0x2(%esi),%ecx
454996:	0f b7 01             	movzwl (%ecx),%eax
454999:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
45499d:	73 ed                	jae    0x45498c
45499f:	8b 45 08             	mov    0x8(%ebp),%eax
4549a2:	c7 00 3d 00 00 00    	movl   $0x3d,(%eax)
4549a8:	e9 6e 3a fc ff       	jmp    0x41841b
4549ad:	8b da                	mov    %edx,%ebx
4549af:	e9 ad 3a fc ff       	jmp    0x418461
4549b4:	39 5d 14             	cmp    %ebx,0x14(%ebp)
4549b7:	0f 85 5e 3a fc ff    	jne    0x41841b
4549bd:	8d 46 02             	lea    0x2(%esi),%eax
4549c0:	0f b7 08             	movzwl (%eax),%ecx
4549c3:	89 45 f4             	mov    %eax,-0xc(%ebp)
4549c6:	83 f9 3c             	cmp    $0x3c,%ecx
4549c9:	74 5c                	je     0x454a27
4549cb:	83 f9 27             	cmp    $0x27,%ecx
4549ce:	74 57                	je     0x454a27
4549d0:	6a 39                	push   $0x39
4549d2:	58                   	pop    %eax
4549d3:	6a 7d                	push   $0x7d
4549d5:	5a                   	pop    %edx
4549d6:	6a 00                	push   $0x0
4549d8:	5b                   	pop    %ebx
4549d9:	66 3b 4d e8          	cmp    -0x18(%ebp),%cx
4549dd:	75 5f                	jne    0x454a3e
4549df:	8d 4e 04             	lea    0x4(%esi),%ecx
4549e2:	0f b7 01             	movzwl (%ecx),%eax
4549e5:	66 85 c0             	test   %ax,%ax
4549e8:	74 45                	je     0x454a2f
4549ea:	6a 39                	push   $0x39
4549ec:	5b                   	pop    %ebx
4549ed:	6a 2d                	push   $0x2d
4549ef:	5e                   	pop    %esi
4549f0:	66 3b c2             	cmp    %dx,%ax
4549f3:	74 1b                	je     0x454a10
4549f5:	66 3b c6             	cmp    %si,%ax
4549f8:	74 0b                	je     0x454a05
4549fa:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
4549fe:	72 10                	jb     0x454a10
454a00:	66 3b c3             	cmp    %bx,%ax
454a03:	77 0b                	ja     0x454a10
454a05:	83 c1 02             	add    $0x2,%ecx
454a08:	0f b7 01             	movzwl (%ecx),%eax
454a0b:	66 85 c0             	test   %ax,%ax
454a0e:	75 e0                	jne    0x4549f0
454a10:	0f b7 01             	movzwl (%ecx),%eax
454a13:	8b 75 f0             	mov    -0x10(%ebp),%esi
454a16:	6a 00                	push   $0x0
454a18:	5b                   	pop    %ebx
454a19:	66 85 c0             	test   %ax,%ax
454a1c:	74 11                	je     0x454a2f
454a1e:	66 3b c2             	cmp    %dx,%ax
454a21:	74 0c                	je     0x454a2f
454a23:	6a 1c                	push   $0x1c
454a25:	eb 02                	jmp    0x454a29
454a27:	6a 1b                	push   $0x1b
454a29:	5b                   	pop    %ebx
454a2a:	e9 ec 39 fc ff       	jmp    0x41841b
454a2f:	8b 75 f4             	mov    -0xc(%ebp),%esi
454a32:	6a 39                	push   $0x39
454a34:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
454a3b:	58                   	pop    %eax
454a3c:	eb 03                	jmp    0x454a41
454a3e:	89 5d f0             	mov    %ebx,-0x10(%ebp)
454a41:	6a 2d                	push   $0x2d
454a43:	5a                   	pop    %edx
454a44:	66 39 56 02          	cmp    %dx,0x2(%esi)
454a48:	75 05                	jne    0x454a4f
454a4a:	83 c6 02             	add    $0x2,%esi
454a4d:	eb 03                	jmp    0x454a52
454a4f:	89 5d ec             	mov    %ebx,-0x14(%ebp)
454a52:	8b cb                	mov    %ebx,%ecx
454a54:	8d 5e 02             	lea    0x2(%esi),%ebx
454a57:	89 5d f4             	mov    %ebx,-0xc(%ebp)
454a5a:	0f b7 1b             	movzwl (%ebx),%ebx
454a5d:	66 3b 5d fc          	cmp    -0x4(%ebp),%bx
454a61:	6a 00                	push   $0x0
454a63:	89 5d f8             	mov    %ebx,-0x8(%ebp)
454a66:	5b                   	pop    %ebx
454a67:	6a 7d                	push   $0x7d
454a69:	5a                   	pop    %edx
454a6a:	72 31                	jb     0x454a9d
454a6c:	66 39 45 f8          	cmp    %ax,-0x8(%ebp)
454a70:	77 2b                	ja     0x454a9d
454a72:	81 f9 cb cc cc 0c    	cmp    $0xccccccb,%ecx
454a78:	7f 3f                	jg     0x454ab9
454a7a:	8b 75 f4             	mov    -0xc(%ebp),%esi
454a7d:	6b c9 0a             	imul   $0xa,%ecx,%ecx
454a80:	6a 39                	push   $0x39
454a82:	0f b7 06             	movzwl (%esi),%eax
454a85:	83 c0 d0             	add    $0xffffffd0,%eax
454a88:	03 c8                	add    %eax,%ecx
454a8a:	8d 46 02             	lea    0x2(%esi),%eax
454a8d:	89 45 f4             	mov    %eax,-0xc(%ebp)
454a90:	0f b7 00             	movzwl (%eax),%eax
454a93:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
454a97:	89 45 f8             	mov    %eax,-0x8(%ebp)
454a9a:	58                   	pop    %eax
454a9b:	73 cf                	jae    0x454a6c
454a9d:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
454aa1:	74 47                	je     0x454aea
454aa3:	83 c6 02             	add    $0x2,%esi
454aa6:	66 39 16             	cmp    %dx,(%esi)
454aa9:	74 3f                	je     0x454aea
454aab:	8b 45 08             	mov    0x8(%ebp),%eax
454aae:	c7 00 39 00 00 00    	movl   $0x39,(%eax)
454ab4:	e9 62 39 fc ff       	jmp    0x41841b
454ab9:	8d 4e 02             	lea    0x2(%esi),%ecx
454abc:	0f b7 01             	movzwl (%ecx),%eax
454abf:	6a 30                	push   $0x30
454ac1:	5a                   	pop    %edx
454ac2:	66 3b c2             	cmp    %dx,%ax
454ac5:	0f 82 d4 fe ff ff    	jb     0x45499f
454acb:	6a 39                	push   $0x39
454acd:	5a                   	pop    %edx
454ace:	66 3b c2             	cmp    %dx,%ax
454ad1:	0f 87 c8 fe ff ff    	ja     0x45499f
454ad7:	8b f1                	mov    %ecx,%esi
454ad9:	8d 4e 02             	lea    0x2(%esi),%ecx
454adc:	0f b7 01             	movzwl (%ecx),%eax
454adf:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
454ae3:	73 e9                	jae    0x454ace
454ae5:	e9 b5 fe ff ff       	jmp    0x45499f
454aea:	85 c9                	test   %ecx,%ecx
454aec:	75 0e                	jne    0x454afc
454aee:	8b 45 08             	mov    0x8(%ebp),%eax
454af1:	c7 00 3a 00 00 00    	movl   $0x3a,(%eax)
454af7:	e9 1f 39 fc ff       	jmp    0x41841b
454afc:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
454b00:	74 1a                	je     0x454b1c
454b02:	8b 45 0c             	mov    0xc(%ebp),%eax
454b05:	3b c8                	cmp    %eax,%ecx
454b07:	7e 0e                	jle    0x454b17
454b09:	8b 45 08             	mov    0x8(%ebp),%eax
454b0c:	c7 00 0f 00 00 00    	movl   $0xf,(%eax)
454b12:	e9 04 39 fc ff       	jmp    0x41841b
454b17:	2b c1                	sub    %ecx,%eax
454b19:	8d 48 01             	lea    0x1(%eax),%ecx
454b1c:	8b d9                	mov    %ecx,%ebx
454b1e:	e9 3e 39 fc ff       	jmp    0x418461
454b23:	83 ff 6c             	cmp    $0x6c,%edi
454b26:	0f 84 76 03 00 00    	je     0x454ea2
454b2c:	83 ff 6f             	cmp    $0x6f,%edi
454b2f:	0f 84 c9 02 00 00    	je     0x454dfe
454b35:	83 ff 75             	cmp    $0x75,%edi
454b38:	0f 84 ed 01 00 00    	je     0x454d2b
454b3e:	83 ff 78             	cmp    $0x78,%edi
454b41:	75 7b                	jne    0x454bbe
454b43:	f7 45 10 00 00 00 02 	testl  $0x2000000,0x10(%ebp)
454b4a:	0f 84 86 00 00 00    	je     0x454bd6
454b50:	0f b7 46 02          	movzwl 0x2(%esi),%eax