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
478d72:	03 f2                	add    %edx,%esi
478d74:	eb 53                	jmp    0x478dc9
478d76:	8b 45 f8             	mov    -0x8(%ebp),%eax
478d79:	f6 44 38 28 48       	testb  $0x48,0x28(%eax,%edi,1)
478d7e:	74 35                	je     0x478db5
478d80:	46                   	inc    %esi
478d81:	88 4c 38 2a          	mov    %cl,0x2a(%eax,%edi,1)
478d85:	83 fa 02             	cmp    $0x2,%edx
478d88:	72 11                	jb     0x478d9b
478d8a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
478d8d:	8a 06                	mov    (%esi),%al
478d8f:	46                   	inc    %esi
478d90:	8b 0c 8d 00 c0 4b 00 	mov    0x4bc000(,%ecx,4),%ecx
478d97:	88 44 39 2b          	mov    %al,0x2b(%ecx,%edi,1)
478d9b:	83 fa 03             	cmp    $0x3,%edx
478d9e:	75 11                	jne    0x478db1
478da0:	8b 45 fc             	mov    -0x4(%ebp),%eax
478da3:	8b 0c 85 00 c0 4b 00 	mov    0x4bc000(,%eax,4),%ecx
478daa:	8a 06                	mov    (%esi),%al
478dac:	46                   	inc    %esi
478dad:	88 44 39 2c          	mov    %al,0x2c(%ecx,%edi,1)
478db1:	2b f2                	sub    %edx,%esi
478db3:	eb 14                	jmp    0x478dc9
478db5:	f7 da                	neg    %edx
478db7:	8b c2                	mov    %edx,%eax
478db9:	6a 01                	push   $0x1
478dbb:	99                   	cltd
478dbc:	52                   	push   %edx
478dbd:	50                   	push   %eax
478dbe:	ff 75 08             	push   0x8(%ebp)
478dc1:	e8 6e 0d 00 00       	call   0x479b34
478dc6:	83 c4 10             	add    $0x10,%esp
478dc9:	ff 75 18             	push   0x18(%ebp)
478dcc:	2b f3                	sub    %ebx,%esi
478dce:	ff 75 14             	push   0x14(%ebp)
478dd1:	56                   	push   %esi
478dd2:	53                   	push   %ebx
478dd3:	6a 00                	push   $0x0
478dd5:	68 e9 fd 00 00       	push   $0xfde9
478dda:	ff 15 74 41 49 00    	call   *0x494174
478de0:	8b d0                	mov    %eax,%edx
478de2:	85 d2                	test   %edx,%edx
478de4:	75 12                	jne    0x478df8
478de6:	ff 15 24 41 49 00    	call   *0x494124
478dec:	50                   	push   %eax
478ded:	e8 07 40 fd ff       	call   0x44cdf9
478df2:	59                   	pop    %ecx
478df3:	83 c8 ff             	or     $0xffffffff,%eax
478df6:	eb 1e                	jmp    0x478e16
478df8:	8b 45 fc             	mov    -0x4(%ebp),%eax
478dfb:	3b d6                	cmp    %esi,%edx
478dfd:	8b 0c 85 00 c0 4b 00 	mov    0x4bc000(,%eax,4),%ecx
478e04:	0f 95 c0             	setne  %al
478e07:	02 c0                	add    %al,%al
478e09:	32 44 39 2d          	xor    0x2d(%ecx,%edi,1),%al
478e0d:	24 02                	and    $0x2,%al
478e0f:	30 44 39 2d          	xor    %al,0x2d(%ecx,%edi,1)
478e13:	8d 04 12             	lea    (%edx,%edx,1),%eax
478e16:	5e                   	pop    %esi
478e17:	5f                   	pop    %edi
478e18:	5b                   	pop    %ebx
478e19:	8b e5                	mov    %ebp,%esp
478e1b:	5d                   	pop    %ebp
478e1c:	c3                   	ret
478e1d:	8b ff                	mov    %edi,%edi
478e1f:	55                   	push   %ebp
478e20:	8b ec                	mov    %esp,%ebp
478e22:	8b 45 10             	mov    0x10(%ebp),%eax
478e25:	56                   	push   %esi
478e26:	57                   	push   %edi
478e27:	8b 7d 0c             	mov    0xc(%ebp),%edi
478e2a:	8b f7                	mov    %edi,%esi
478e2c:	8d 14 47             	lea    (%edi,%eax,2),%edx
478e2f:	8b c7                	mov    %edi,%eax
478e31:	3b fa                	cmp    %edx,%edi
478e33:	73 5e                	jae    0x478e93
478e35:	8d 4f 02             	lea    0x2(%edi),%ecx
478e38:	53                   	push   %ebx
478e39:	0f b7 18             	movzwl (%eax),%ebx
478e3c:	83 fb 1a             	cmp    $0x1a,%ebx
478e3f:	74 37                	je     0x478e78
478e41:	83 fb 0d             	cmp    $0xd,%ebx
478e44:	75 20                	jne    0x478e66
478e46:	3b ca                	cmp    %edx,%ecx
478e48:	73 1c                	jae    0x478e66
478e4a:	6a 0a                	push   $0xa
478e4c:	5f                   	pop    %edi
478e4d:	66 39 39             	cmp    %di,(%ecx)
478e50:	8b 7d 0c             	mov    0xc(%ebp),%edi
478e53:	75 11                	jne    0x478e66
478e55:	6a 0a                	push   $0xa
478e57:	5b                   	pop    %ebx
478e58:	83 c0 04             	add    $0x4,%eax
478e5b:	66 89 1e             	mov    %bx,(%esi)
478e5e:	83 c1 04             	add    $0x4,%ecx
478e61:	83 c6 02             	add    $0x2,%esi
478e64:	eb 0c                	jmp    0x478e72
478e66:	66 89 1e             	mov    %bx,(%esi)
478e69:	83 c0 02             	add    $0x2,%eax
478e6c:	83 c6 02             	add    $0x2,%esi
478e6f:	83 c1 02             	add    $0x2,%ecx
478e72:	3b c2                	cmp    %edx,%eax
478e74:	72 c3                	jb     0x478e39
478e76:	eb 1a                	jmp    0x478e92
478e78:	8b 45 08             	mov    0x8(%ebp),%eax
478e7b:	8b c8                	mov    %eax,%ecx
478e7d:	83 e0 3f             	and    $0x3f,%eax
478e80:	c1 f9 06             	sar    $0x6,%ecx
478e83:	6b d0 30             	imul   $0x30,%eax,%edx
478e86:	8b 0c 8d 00 c0 4b 00 	mov    0x4bc000(,%ecx,4),%ecx
478e8d:	80 4c 11 28 02       	orb    $0x2,0x28(%ecx,%edx,1)
478e92:	5b                   	pop    %ebx
478e93:	2b f7                	sub    %edi,%esi
478e95:	83 e6 fe             	and    $0xfffffffe,%esi
478e98:	5f                   	pop    %edi
478e99:	8b c6                	mov    %esi,%eax
478e9b:	5e                   	pop    %esi
478e9c:	5d                   	pop    %ebp
478e9d:	c3                   	ret
478e9e:	6a 14                	push   $0x14
478ea0:	68 c0 4e 4b 00       	push   $0x4b4ec0
478ea5:	e8 b6 7a fc ff       	call   0x440960
478eaa:	8b 75 08             	mov    0x8(%ebp),%esi
478ead:	83 fe fe             	cmp    $0xfffffffe,%esi
478eb0:	75 18                	jne    0x478eca
478eb2:	e8 65 3f fd ff       	call   0x44ce1c
478eb7:	83 20 00             	andl   $0x0,(%eax)
478eba:	e8 70 3f fd ff       	call   0x44ce2f
478ebf:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
478ec5:	e9 de 00 00 00       	jmp    0x478fa8
478eca:	85 f6                	test   %esi,%esi
478ecc:	0f 88 be 00 00 00    	js     0x478f90
478ed2:	3b 35 00 c2 4b 00    	cmp    0x4bc200,%esi
478ed8:	0f 83 b2 00 00 00    	jae    0x478f90
478ede:	8b de                	mov    %esi,%ebx
478ee0:	c1 fb 06             	sar    $0x6,%ebx
478ee3:	8b c6                	mov    %esi,%eax
478ee5:	83 e0 3f             	and    $0x3f,%eax
478ee8:	6b c8 30             	imul   $0x30,%eax,%ecx
478eeb:	89 4d e0             	mov    %ecx,-0x20(%ebp)
478eee:	8b 04 9d 00 c0 4b 00 	mov    0x4bc000(,%ebx,4),%eax
478ef5:	0f b6 44 08 28       	movzbl 0x28(%eax,%ecx,1),%eax
478efa:	83 e0 01             	and    $0x1,%eax
478efd:	0f 84 8d 00 00 00    	je     0x478f90
478f03:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
478f08:	3b 45 10             	cmp    0x10(%ebp),%eax
478f0b:	1b c0                	sbb    %eax,%eax
478f0d:	83 c0 01             	add    $0x1,%eax
478f10:	75 15                	jne    0x478f27
478f12:	e8 05 3f fd ff       	call   0x44ce1c
478f17:	83 20 00             	andl   $0x0,(%eax)
478f1a:	e8 10 3f fd ff       	call   0x44ce2f
478f1f:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
478f25:	eb 7c                	jmp    0x478fa3
478f27:	56                   	push   %esi
478f28:	e8 18 64 00 00       	call   0x47f345
478f2d:	59                   	pop    %ecx
478f2e:	83 cf ff             	or     $0xffffffff,%edi
478f31:	89 7d e4             	mov    %edi,-0x1c(%ebp)
478f34:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
478f38:	8b 04 9d 00 c0 4b 00 	mov    0x4bc000(,%ebx,4),%eax
478f3f:	8b 4d e0             	mov    -0x20(%ebp),%ecx
478f42:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
478f47:	75 15                	jne    0x478f5e
478f49:	e8 e1 3e fd ff       	call   0x44ce2f
478f4e:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
478f54:	e8 c3 3e fd ff       	call   0x44ce1c
478f59:	83 20 00             	andl   $0x0,(%eax)
478f5c:	eb 14                	jmp    0x478f72
478f5e:	ff 75 10             	push   0x10(%ebp)
478f61:	ff 75 0c             	push   0xc(%ebp)
478f64:	56                   	push   %esi
478f65:	e8 47 00 00 00       	call   0x478fb1
478f6a:	83 c4 0c             	add    $0xc,%esp
478f6d:	8b f8                	mov    %eax,%edi