4789a0:	80 64 38 28 fb       	andb   $0xfb,0x28(%eax,%edi,1)
4789a5:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
4789a8:	8b da                	mov    %edx,%ebx
4789aa:	89 45 f8             	mov    %eax,-0x8(%ebp)
4789ad:	8b f2                	mov    %edx,%esi
4789af:	3b d0                	cmp    %eax,%edx
4789b1:	0f 83 f4 00 00 00    	jae    0x478aab
4789b7:	8d 42 01             	lea    0x1(%edx),%eax
4789ba:	8a 0b                	mov    (%ebx),%cl
4789bc:	80 f9 1a             	cmp    $0x1a,%cl
4789bf:	0f 84 c7 00 00 00    	je     0x478a8c
4789c5:	80 f9 0d             	cmp    $0xd,%cl
4789c8:	74 0a                	je     0x4789d4
4789ca:	88 0e                	mov    %cl,(%esi)
4789cc:	46                   	inc    %esi
4789cd:	43                   	inc    %ebx
4789ce:	40                   	inc    %eax
4789cf:	e9 ab 00 00 00       	jmp    0x478a7f
4789d4:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4789d7:	3b c1                	cmp    %ecx,%eax
4789d9:	73 1f                	jae    0x4789fa
4789db:	80 38 0a             	cmpb   $0xa,(%eax)
4789de:	75 0f                	jne    0x4789ef
4789e0:	83 c3 02             	add    $0x2,%ebx
4789e3:	c6 06 0a             	movb   $0xa,(%esi)
4789e6:	83 c0 02             	add    $0x2,%eax
4789e9:	46                   	inc    %esi
4789ea:	e9 93 00 00 00       	jmp    0x478a82
4789ef:	c6 06 0d             	movb   $0xd,(%esi)
4789f2:	46                   	inc    %esi
4789f3:	43                   	inc    %ebx
4789f4:	40                   	inc    %eax
4789f5:	e9 88 00 00 00       	jmp    0x478a82
4789fa:	43                   	inc    %ebx
4789fb:	40                   	inc    %eax
4789fc:	6a 00                	push   $0x0
4789fe:	89 45 f4             	mov    %eax,-0xc(%ebp)
478a01:	8d 45 e8             	lea    -0x18(%ebp),%eax
478a04:	50                   	push   %eax
478a05:	6a 01                	push   $0x1
478a07:	8d 45 ff             	lea    -0x1(%ebp),%eax
478a0a:	50                   	push   %eax
478a0b:	ff 75 ec             	push   -0x14(%ebp)
478a0e:	ff 15 1c 41 49 00    	call   *0x49411c
478a14:	85 c0                	test   %eax,%eax
478a16:	74 5d                	je     0x478a75
478a18:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
478a1c:	74 57                	je     0x478a75
478a1e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
478a21:	8b 04 8d 00 c0 4b 00 	mov    0x4bc000(,%ecx,4),%eax
478a28:	f6 44 38 28 48       	testb  $0x48,0x28(%eax,%edi,1)
478a2d:	74 1c                	je     0x478a4b
478a2f:	8a 55 ff             	mov    -0x1(%ebp),%dl
478a32:	80 fa 0a             	cmp    $0xa,%dl
478a35:	75 04                	jne    0x478a3b
478a37:	88 16                	mov    %dl,(%esi)
478a39:	eb 3d                	jmp    0x478a78
478a3b:	c6 06 0d             	movb   $0xd,(%esi)
478a3e:	8b 04 8d 00 c0 4b 00 	mov    0x4bc000(,%ecx,4),%eax
478a45:	88 54 38 2a          	mov    %dl,0x2a(%eax,%edi,1)
478a49:	eb 2d                	jmp    0x478a78
478a4b:	80 7d ff 0a          	cmpb   $0xa,-0x1(%ebp)
478a4f:	75 0d                	jne    0x478a5e
478a51:	8b 55 0c             	mov    0xc(%ebp),%edx
478a54:	3b f2                	cmp    %edx,%esi
478a56:	75 06                	jne    0x478a5e
478a58:	c6 06 0a             	movb   $0xa,(%esi)
478a5b:	46                   	inc    %esi
478a5c:	eb 1e                	jmp    0x478a7c
478a5e:	6a 01                	push   $0x1
478a60:	6a ff                	push   $0xffffffff
478a62:	6a ff                	push   $0xffffffff
478a64:	ff 75 08             	push   0x8(%ebp)
478a67:	e8 c8 10 00 00       	call   0x479b34
478a6c:	83 c4 10             	add    $0x10,%esp
478a6f:	80 7d ff 0a          	cmpb   $0xa,-0x1(%ebp)
478a73:	74 04                	je     0x478a79
478a75:	c6 06 0d             	movb   $0xd,(%esi)
478a78:	46                   	inc    %esi
478a79:	8b 55 0c             	mov    0xc(%ebp),%edx
478a7c:	8b 45 f4             	mov    -0xc(%ebp),%eax
478a7f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
478a82:	3b d9                	cmp    %ecx,%ebx
478a84:	0f 82 30 ff ff ff    	jb     0x4789ba
478a8a:	eb 1f                	jmp    0x478aab
478a8c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
478a8f:	8b 0c 8d 00 c0 4b 00 	mov    0x4bc000(,%ecx,4),%ecx
478a96:	8a 44 39 28          	mov    0x28(%ecx,%edi,1),%al
478a9a:	a8 40                	test   $0x40,%al
478a9c:	75 08                	jne    0x478aa6
478a9e:	0c 02                	or     $0x2,%al
478aa0:	88 44 39 28          	mov    %al,0x28(%ecx,%edi,1)
478aa4:	eb 05                	jmp    0x478aab
478aa6:	8a 0b                	mov    (%ebx),%cl
478aa8:	88 0e                	mov    %cl,(%esi)
478aaa:	46                   	inc    %esi
478aab:	2b f2                	sub    %edx,%esi
478aad:	5f                   	pop    %edi
478aae:	8b c6                	mov    %esi,%eax
478ab0:	5e                   	pop    %esi
478ab1:	5b                   	pop    %ebx
478ab2:	8b e5                	mov    %ebp,%esp
478ab4:	5d                   	pop    %ebp
478ab5:	c3                   	ret
478ab6:	8b ff                	mov    %edi,%edi
478ab8:	55                   	push   %ebp
478ab9:	8b ec                	mov    %esp,%ebp
478abb:	83 ec 18             	sub    $0x18,%esp
478abe:	8b 45 08             	mov    0x8(%ebp),%eax
478ac1:	8b 4d 08             	mov    0x8(%ebp),%ecx
478ac4:	83 e0 3f             	and    $0x3f,%eax
478ac7:	53                   	push   %ebx
478ac8:	56                   	push   %esi
478ac9:	8b 75 10             	mov    0x10(%ebp),%esi
478acc:	57                   	push   %edi
478acd:	c1 f9 06             	sar    $0x6,%ecx
478ad0:	6b f8 30             	imul   $0x30,%eax,%edi
478ad3:	89 4d f8             	mov    %ecx,-0x8(%ebp)
478ad6:	6a 0a                	push   $0xa
478ad8:	8b 04 8d 00 c0 4b 00 	mov    0x4bc000(,%ecx,4),%eax
478adf:	5b                   	pop    %ebx
478ae0:	8b 54 38 18          	mov    0x18(%eax,%edi,1),%edx
478ae4:	89 55 ec             	mov    %edx,-0x14(%ebp)
478ae7:	8b 55 0c             	mov    0xc(%ebp),%edx
478aea:	85 f6                	test   %esi,%esi
478aec:	74 0c                	je     0x478afa
478aee:	66 39 1a             	cmp    %bx,(%edx)
478af1:	75 07                	jne    0x478afa
478af3:	80 4c 38 28 04       	orb    $0x4,0x28(%eax,%edi,1)
478af8:	eb 05                	jmp    0x478aff
478afa:	80 64 38 28 fb       	andb   $0xfb,0x28(%eax,%edi,1)
478aff:	8d 04 72             	lea    (%edx,%esi,2),%eax
478b02:	8b da                	mov    %edx,%ebx
478b04:	89 45 f0             	mov    %eax,-0x10(%ebp)
478b07:	8b f2                	mov    %edx,%esi
478b09:	3b d0                	cmp    %eax,%edx
478b0b:	0f 83 4e 01 00 00    	jae    0x478c5f
478b11:	8d 42 02             	lea    0x2(%edx),%eax
478b14:	0f b7 0b             	movzwl (%ebx),%ecx
478b17:	89 4d f4             	mov    %ecx,-0xc(%ebp)
478b1a:	83 f9 1a             	cmp    $0x1a,%ecx
478b1d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
478b20:	0f 84 19 01 00 00    	je     0x478c3f
478b26:	6a 0d                	push   $0xd
478b28:	5a                   	pop    %edx
478b29:	66 39 55 f4          	cmp    %dx,-0xc(%ebp)
478b2d:	8b 55 0c             	mov    0xc(%ebp),%edx
478b30:	74 14                	je     0x478b46
478b32:	8b 4d f4             	mov    -0xc(%ebp),%ecx
478b35:	83 c3 02             	add    $0x2,%ebx
478b38:	66 89 0e             	mov    %cx,(%esi)
478b3b:	83 c6 02             	add    $0x2,%esi
478b3e:	83 c0 02             	add    $0x2,%eax
478b41:	e9 ee 00 00 00       	jmp    0x478c34
478b46:	3b 45 f0             	cmp    -0x10(%ebp),%eax
478b49:	73 33                	jae    0x478b7e
478b4b:	6a 0a                	push   $0xa
478b4d:	5a                   	pop    %edx
478b4e:	66 39 10             	cmp    %dx,(%eax)
478b51:	8b 55 0c             	mov    0xc(%ebp),%edx
478b54:	75 14                	jne    0x478b6a
478b56:	6a 0a                	push   $0xa
478b58:	59                   	pop    %ecx
478b59:	83 c3 04             	add    $0x4,%ebx
478b5c:	66 89 0e             	mov    %cx,(%esi)
478b5f:	83 c0 04             	add    $0x4,%eax
478b62:	83 c6 02             	add    $0x2,%esi
478b65:	e9 ca 00 00 00       	jmp    0x478c34
478b6a:	6a 0d                	push   $0xd
478b6c:	5a                   	pop    %edx
478b6d:	66 89 16             	mov    %dx,(%esi)
478b70:	83 c3 02             	add    $0x2,%ebx
478b73:	83 c6 02             	add    $0x2,%esi
478b76:	83 c0 02             	add    $0x2,%eax
478b79:	e9 b3 00 00 00       	jmp    0x478c31
478b7e:	83 c0 02             	add    $0x2,%eax
478b81:	83 c3 02             	add    $0x2,%ebx
478b84:	6a 00                	push   $0x0
478b86:	89 45 f4             	mov    %eax,-0xc(%ebp)
478b89:	8d 45 e8             	lea    -0x18(%ebp),%eax
478b8c:	50                   	push   %eax
478b8d:	6a 02                	push   $0x2
478b8f:	8d 45 fc             	lea    -0x4(%ebp),%eax
478b92:	50                   	push   %eax
478b93:	ff 75 ec             	push   -0x14(%ebp)
478b96:	ff 15 1c 41 49 00    	call   *0x49411c
478b9c:	85 c0                	test   %eax,%eax
478b9e:	0f 84 81 00 00 00    	je     0x478c25
478ba4:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
478ba8:	74 7b                	je     0x478c25
478baa:	8b 4d f8             	mov    -0x8(%ebp),%ecx
478bad:	6a 0a                	push   $0xa
478baf:	8b 04 8d 00 c0 4b 00 	mov    0x4bc000(,%ecx,4),%eax
478bb6:	f6 44 38 28 48       	testb  $0x48,0x28(%eax,%edi,1)
478bbb:	58                   	pop    %eax
478bbc:	74 35                	je     0x478bf3
478bbe:	66 8b 55 fc          	mov    -0x4(%ebp),%dx
478bc2:	66 3b d0             	cmp    %ax,%dx
478bc5:	74 61                	je     0x478c28
478bc7:	6a 0d                	push   $0xd
478bc9:	58                   	pop    %eax
478bca:	66 89 06             	mov    %ax,(%esi)
478bcd:	8b 04 8d 00 c0 4b 00 	mov    0x4bc000(,%ecx,4),%eax
478bd4:	6a 0a                	push   $0xa
478bd6:	88 54 38 2a          	mov    %dl,0x2a(%eax,%edi,1)
478bda:	8b 04 8d 00 c0 4b 00 	mov    0x4bc000(,%ecx,4),%eax
478be1:	88 74 38 2b          	mov    %dh,0x2b(%eax,%edi,1)
478be5:	8b 04 8d 00 c0 4b 00 	mov    0x4bc000(,%ecx,4),%eax
478bec:	5a                   	pop    %edx
478bed:	88 54 38 2c          	mov    %dl,0x2c(%eax,%edi,1)
478bf1:	eb 38                	jmp    0x478c2b
478bf3:	66 39 45 fc          	cmp    %ax,-0x4(%ebp)
478bf7:	75 12                	jne    0x478c0b
478bf9:	8b 55 0c             	mov    0xc(%ebp),%edx
478bfc:	3b f2                	cmp    %edx,%esi
478bfe:	75 0b                	jne    0x478c0b
478c00:	66 89 06             	mov    %ax,(%esi)
478c03:	83 c6 02             	add    $0x2,%esi
478c06:	8b 45 f4             	mov    -0xc(%ebp),%eax
478c09:	eb 29                	jmp    0x478c34
478c0b:	6a 01                	push   $0x1
478c0d:	6a ff                	push   $0xffffffff
478c0f:	6a fe                	push   $0xfffffffe
478c11:	ff 75 08             	push   0x8(%ebp)
478c14:	e8 1b 0f 00 00       	call   0x479b34
478c19:	83 c4 10             	add    $0x10,%esp
478c1c:	6a 0a                	push   $0xa
478c1e:	58                   	pop    %eax
478c1f:	66 39 45 fc          	cmp    %ax,-0x4(%ebp)
478c23:	74 09                	je     0x478c2e
478c25:	6a 0d                	push   $0xd
478c27:	58                   	pop    %eax
478c28:	66 89 06             	mov    %ax,(%esi)
478c2b:	83 c6 02             	add    $0x2,%esi
478c2e:	8b 45 f4             	mov    -0xc(%ebp),%eax
478c31:	8b 55 0c             	mov    0xc(%ebp),%edx
478c34:	3b 5d f0             	cmp    -0x10(%ebp),%ebx
478c37:	0f 82 d7 fe ff ff    	jb     0x478b14
478c3d:	eb 20                	jmp    0x478c5f
478c3f:	8b 0c 8d 00 c0 4b 00 	mov    0x4bc000(,%ecx,4),%ecx
478c46:	8a 44 39 28          	mov    0x28(%ecx,%edi,1),%al
478c4a:	a8 40                	test   $0x40,%al
478c4c:	75 08                	jne    0x478c56
478c4e:	0c 02                	or     $0x2,%al
478c50:	88 44 39 28          	mov    %al,0x28(%ecx,%edi,1)
478c54:	eb 09                	jmp    0x478c5f
478c56:	66 8b 0b             	mov    (%ebx),%cx
478c59:	66 89 0e             	mov    %cx,(%esi)
478c5c:	83 c6 02             	add    $0x2,%esi
478c5f:	2b f2                	sub    %edx,%esi
478c61:	83 e6 fe             	and    $0xfffffffe,%esi
478c64:	5f                   	pop    %edi
478c65:	8b c6                	mov    %esi,%eax
478c67:	5e                   	pop    %esi
478c68:	5b                   	pop    %ebx
478c69:	8b e5                	mov    %ebp,%esp
478c6b:	5d                   	pop    %ebp
478c6c:	c3                   	ret
478c6d:	8b ff                	mov    %edi,%edi
478c6f:	55                   	push   %ebp
478c70:	8b ec                	mov    %esp,%ebp
478c72:	8b 45 08             	mov    0x8(%ebp),%eax
478c75:	8b c8                	mov    %eax,%ecx
478c77:	83 e0 3f             	and    $0x3f,%eax
478c7a:	c1 f9 06             	sar    $0x6,%ecx
478c7d:	6b d0 30             	imul   $0x30,%eax,%edx
478c80:	8a 45 0c             	mov    0xc(%ebp),%al
478c83:	8b 0c 8d 00 c0 4b 00 	mov    0x4bc000(,%ecx,4),%ecx
478c8a:	88 44 11 2a          	mov    %al,0x2a(%ecx,%edx,1)
478c8e:	5d                   	pop    %ebp
478c8f:	c3                   	ret
478c90:	8b ff                	mov    %edi,%edi
478c92:	55                   	push   %ebp
478c93:	8b ec                	mov    %esp,%ebp
478c95:	8b 45 08             	mov    0x8(%ebp),%eax
478c98:	66 8b 4d 0c          	mov    0xc(%ebp),%cx
478c9c:	56                   	push   %esi
478c9d:	8b f0                	mov    %eax,%esi
478c9f:	83 e0 3f             	and    $0x3f,%eax
478ca2:	c1 fe 06             	sar    $0x6,%esi
478ca5:	6b d0 30             	imul   $0x30,%eax,%edx
478ca8:	8b 04 b5 00 c0 4b 00 	mov    0x4bc000(,%esi,4),%eax
478caf:	88 4c 10 2a          	mov    %cl,0x2a(%eax,%edx,1)
478cb3:	8b 04 b5 00 c0 4b 00 	mov    0x4bc000(,%esi,4),%eax
478cba:	88 6c 10 2b          	mov    %ch,0x2b(%eax,%edx,1)
478cbe:	8b 04 b5 00 c0 4b 00 	mov    0x4bc000(,%esi,4),%eax
478cc5:	5e                   	pop    %esi
478cc6:	c6 44 10 2c 0a       	movb   $0xa,0x2c(%eax,%edx,1)
478ccb:	5d                   	pop    %ebp
478ccc:	c3                   	ret
478ccd:	8b ff                	mov    %edi,%edi
478ccf:	55                   	push   %ebp
478cd0:	8b ec                	mov    %esp,%ebp
478cd2:	51                   	push   %ecx
478cd3:	51                   	push   %ecx
478cd4:	53                   	push   %ebx
478cd5:	ff 75 10             	push   0x10(%ebp)
478cd8:	8b 5d 0c             	mov    0xc(%ebp),%ebx
478cdb:	53                   	push   %ebx
478cdc:	ff 75 08             	push   0x8(%ebp)
478cdf:	e8 7b fc ff ff       	call   0x47895f
478ce4:	8b c8                	mov    %eax,%ecx
478ce6:	83 c4 0c             	add    $0xc,%esp
478ce9:	85 c9                	test   %ecx,%ecx
478ceb:	0f 84 27 01 00 00    	je     0x478e18
478cf1:	8b 45 08             	mov    0x8(%ebp),%eax
478cf4:	8b 55 08             	mov    0x8(%ebp),%edx
478cf7:	83 e0 3f             	and    $0x3f,%eax
478cfa:	c1 fa 06             	sar    $0x6,%edx
478cfd:	57                   	push   %edi
478cfe:	6b f8 30             	imul   $0x30,%eax,%edi
478d01:	89 55 fc             	mov    %edx,-0x4(%ebp)
478d04:	8b 04 95 00 c0 4b 00 	mov    0x4bc000(,%edx,4),%eax
478d0b:	89 45 f8             	mov    %eax,-0x8(%ebp)
478d0e:	80 7c 38 29 00       	cmpb   $0x0,0x29(%eax,%edi,1)
478d13:	75 07                	jne    0x478d1c
478d15:	8b c1                	mov    %ecx,%eax
478d17:	e9 fb 00 00 00       	jmp    0x478e17
478d1c:	56                   	push   %esi
478d1d:	8d 73 ff             	lea    -0x1(%ebx),%esi
478d20:	03 f1                	add    %ecx,%esi
478d22:	8a 06                	mov    (%esi),%al
478d24:	84 c0                	test   %al,%al
478d26:	78 06                	js     0x478d2e
478d28:	46                   	inc    %esi
478d29:	e9 9b 00 00 00       	jmp    0x478dc9
478d2e:	33 d2                	xor    %edx,%edx
478d30:	0f b6 c0             	movzbl %al,%eax
478d33:	42                   	inc    %edx
478d34:	eb 0e                	jmp    0x478d44
478d36:	83 fa 04             	cmp    $0x4,%edx
478d39:	77 12                	ja     0x478d4d
478d3b:	3b f3                	cmp    %ebx,%esi
478d3d:	72 0e                	jb     0x478d4d
478d3f:	4e                   	dec    %esi
478d40:	42                   	inc    %edx
478d41:	0f b6 06             	movzbl (%esi),%eax
478d44:	80 b8 38 83 4b 00 00 	cmpb   $0x0,0x4b8338(%eax)
478d4b:	74 e9                	je     0x478d36
478d4d:	8a 0e                	mov    (%esi),%cl
478d4f:	0f b6 c1             	movzbl %cl,%eax
478d52:	0f be 80 38 83 4b 00 	movsbl 0x4b8338(%eax),%eax
478d59:	85 c0                	test   %eax,%eax
478d5b:	75 10                	jne    0x478d6d
478d5d:	e8 cd 40 fd ff       	call   0x44ce2f
478d62:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
478d68:	e9 86 00 00 00       	jmp    0x478df3
478d6d:	40                   	inc    %eax
478d6e:	3b c2                	cmp    %edx,%eax
478d70:	75 04                	jne    0x478d76