477be3:	53                   	push   %ebx
477be4:	e8 04 04 00 00       	call   0x477fed
477be9:	8a 55 20             	mov    0x20(%ebp),%dl
477bec:	83 c4 10             	add    $0x10,%esp
477bef:	8b 45 1c             	mov    0x1c(%ebp),%eax
477bf2:	8b f3                	mov    %ebx,%esi
477bf4:	83 38 2d             	cmpl   $0x2d,(%eax)
477bf7:	75 06                	jne    0x477bff
477bf9:	c6 03 2d             	movb   $0x2d,(%ebx)
477bfc:	8d 73 01             	lea    0x1(%ebx),%esi
477bff:	85 ff                	test   %edi,%edi
477c01:	7e 15                	jle    0x477c18
477c03:	8a 46 01             	mov    0x1(%esi),%al
477c06:	88 06                	mov    %al,(%esi)
477c08:	46                   	inc    %esi
477c09:	8b 45 f4             	mov    -0xc(%ebp),%eax
477c0c:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
477c12:	8b 00                	mov    (%eax),%eax
477c14:	8a 00                	mov    (%eax),%al
477c16:	88 06                	mov    %al,(%esi)
477c18:	33 c0                	xor    %eax,%eax
477c1a:	84 d2                	test   %dl,%dl
477c1c:	0f 94 c0             	sete   %al
477c1f:	03 c7                	add    %edi,%eax
477c21:	03 f0                	add    %eax,%esi
477c23:	83 c8 ff             	or     $0xffffffff,%eax
477c26:	39 45 0c             	cmp    %eax,0xc(%ebp)
477c29:	74 07                	je     0x477c32
477c2b:	8b c3                	mov    %ebx,%eax
477c2d:	2b c6                	sub    %esi,%eax
477c2f:	03 45 0c             	add    0xc(%ebp),%eax
477c32:	68 40 ea 49 00       	push   $0x49ea40
477c37:	50                   	push   %eax
477c38:	56                   	push   %esi
477c39:	e8 f8 85 ff ff       	call   0x470236
477c3e:	83 c4 0c             	add    $0xc,%esp
477c41:	5b                   	pop    %ebx
477c42:	85 c0                	test   %eax,%eax
477c44:	75 76                	jne    0x477cbc
477c46:	8d 4e 02             	lea    0x2(%esi),%ecx
477c49:	38 45 14             	cmp    %al,0x14(%ebp)
477c4c:	74 03                	je     0x477c51
477c4e:	c6 06 45             	movb   $0x45,(%esi)
477c51:	8b 55 1c             	mov    0x1c(%ebp),%edx
477c54:	8b 42 08             	mov    0x8(%edx),%eax
477c57:	80 38 30             	cmpb   $0x30,(%eax)
477c5a:	74 2f                	je     0x477c8b
477c5c:	8b 52 04             	mov    0x4(%edx),%edx
477c5f:	83 ea 01             	sub    $0x1,%edx
477c62:	79 06                	jns    0x477c6a
477c64:	f7 da                	neg    %edx
477c66:	c6 46 01 2d          	movb   $0x2d,0x1(%esi)
477c6a:	6a 64                	push   $0x64
477c6c:	5f                   	pop    %edi
477c6d:	3b d7                	cmp    %edi,%edx
477c6f:	7c 08                	jl     0x477c79
477c71:	8b c2                	mov    %edx,%eax
477c73:	99                   	cltd
477c74:	f7 ff                	idiv   %edi
477c76:	00 46 02             	add    %al,0x2(%esi)
477c79:	6a 0a                	push   $0xa
477c7b:	5f                   	pop    %edi
477c7c:	3b d7                	cmp    %edi,%edx
477c7e:	7c 08                	jl     0x477c88
477c80:	8b c2                	mov    %edx,%eax
477c82:	99                   	cltd
477c83:	f7 ff                	idiv   %edi
477c85:	00 46 03             	add    %al,0x3(%esi)
477c88:	00 56 04             	add    %dl,0x4(%esi)
477c8b:	83 7d 18 02          	cmpl   $0x2,0x18(%ebp)
477c8f:	75 14                	jne    0x477ca5
477c91:	80 39 30             	cmpb   $0x30,(%ecx)
477c94:	75 0f                	jne    0x477ca5
477c96:	6a 03                	push   $0x3
477c98:	8d 41 01             	lea    0x1(%ecx),%eax
477c9b:	50                   	push   %eax
477c9c:	51                   	push   %ecx
477c9d:	e8 3e bc fc ff       	call   0x4438e0
477ca2:	83 c4 0c             	add    $0xc,%esp
477ca5:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
477ca9:	74 0a                	je     0x477cb5
477cab:	8b 45 f0             	mov    -0x10(%ebp),%eax
477cae:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
477cb5:	33 c0                	xor    %eax,%eax
477cb7:	e9 f2 fe ff ff       	jmp    0x477bae
477cbc:	33 c0                	xor    %eax,%eax
477cbe:	50                   	push   %eax
477cbf:	50                   	push   %eax
477cc0:	50                   	push   %eax
477cc1:	50                   	push   %eax
477cc2:	50                   	push   %eax
477cc3:	e8 3b 50 fd ff       	call   0x44cd03
477cc8:	cc                   	int3
477cc9:	8b ff                	mov    %edi,%edi
477ccb:	55                   	push   %ebp
477ccc:	8b ec                	mov    %esp,%ebp
477cce:	83 ec 0c             	sub    $0xc,%esp
477cd1:	33 c0                	xor    %eax,%eax
477cd3:	56                   	push   %esi
477cd4:	57                   	push   %edi
477cd5:	ff 75 18             	push   0x18(%ebp)
477cd8:	8d 7d f4             	lea    -0xc(%ebp),%edi
477cdb:	ff 75 14             	push   0x14(%ebp)
477cde:	ab                   	stos   %eax,%es:(%edi)
477cdf:	ab                   	stos   %eax,%es:(%edi)
477ce0:	ab                   	stos   %eax,%es:(%edi)
477ce1:	8d 45 f4             	lea    -0xc(%ebp),%eax
477ce4:	8b 7d 1c             	mov    0x1c(%ebp),%edi
477ce7:	50                   	push   %eax
477ce8:	8b 45 08             	mov    0x8(%ebp),%eax
477ceb:	57                   	push   %edi
477cec:	ff 70 04             	push   0x4(%eax)
477cef:	ff 30                	push   (%eax)
477cf1:	e8 f6 d9 00 00       	call   0x4856ec
477cf6:	83 c9 ff             	or     $0xffffffff,%ecx
477cf9:	83 c4 18             	add    $0x18,%esp
477cfc:	39 4d 10             	cmp    %ecx,0x10(%ebp)
477cff:	74 0e                	je     0x477d0f
477d01:	8b 4d 10             	mov    0x10(%ebp),%ecx
477d04:	33 c0                	xor    %eax,%eax
477d06:	83 7d f4 2d          	cmpl   $0x2d,-0xc(%ebp)
477d0a:	0f 94 c0             	sete   %al
477d0d:	2b c8                	sub    %eax,%ecx
477d0f:	8b 75 0c             	mov    0xc(%ebp),%esi
477d12:	8d 45 f4             	lea    -0xc(%ebp),%eax
477d15:	50                   	push   %eax
477d16:	8b 45 f8             	mov    -0x8(%ebp),%eax
477d19:	03 c7                	add    %edi,%eax
477d1b:	50                   	push   %eax
477d1c:	33 c0                	xor    %eax,%eax
477d1e:	83 7d f4 2d          	cmpl   $0x2d,-0xc(%ebp)
477d22:	51                   	push   %ecx
477d23:	0f 94 c0             	sete   %al
477d26:	03 c6                	add    %esi,%eax
477d28:	50                   	push   %eax
477d29:	e8 33 c5 00 00       	call   0x484261
477d2e:	83 c4 10             	add    $0x10,%esp
477d31:	85 c0                	test   %eax,%eax
477d33:	74 05                	je     0x477d3a
477d35:	c6 06 00             	movb   $0x0,(%esi)
477d38:	eb 16                	jmp    0x477d50
477d3a:	ff 75 20             	push   0x20(%ebp)
477d3d:	8d 45 f4             	lea    -0xc(%ebp),%eax
477d40:	6a 00                	push   $0x0
477d42:	50                   	push   %eax
477d43:	57                   	push   %edi
477d44:	ff 75 10             	push   0x10(%ebp)
477d47:	56                   	push   %esi
477d48:	e8 09 00 00 00       	call   0x477d56
477d4d:	83 c4 18             	add    $0x18,%esp
477d50:	5f                   	pop    %edi
477d51:	5e                   	pop    %esi
477d52:	8b e5                	mov    %ebp,%esp
477d54:	5d                   	pop    %ebp
477d55:	c3                   	ret
477d56:	8b ff                	mov    %edi,%edi
477d58:	55                   	push   %ebp
477d59:	8b ec                	mov    %esp,%ebp
477d5b:	83 ec 10             	sub    $0x10,%esp
477d5e:	8d 4d f0             	lea    -0x10(%ebp),%ecx
477d61:	53                   	push   %ebx
477d62:	56                   	push   %esi
477d63:	57                   	push   %edi
477d64:	ff 75 1c             	push   0x1c(%ebp)
477d67:	e8 9c 72 fd ff       	call   0x44f008
477d6c:	8b 55 14             	mov    0x14(%ebp),%edx
477d6f:	8b 7d 10             	mov    0x10(%ebp),%edi
477d72:	8b 5d 08             	mov    0x8(%ebp),%ebx
477d75:	8b 4a 04             	mov    0x4(%edx),%ecx
477d78:	49                   	dec    %ecx
477d79:	80 7d 18 00          	cmpb   $0x0,0x18(%ebp)
477d7d:	74 14                	je     0x477d93
477d7f:	3b cf                	cmp    %edi,%ecx
477d81:	75 10                	jne    0x477d93
477d83:	33 c0                	xor    %eax,%eax
477d85:	83 3a 2d             	cmpl   $0x2d,(%edx)
477d88:	0f 94 c0             	sete   %al
477d8b:	03 c1                	add    %ecx,%eax
477d8d:	66 c7 04 18 30 00    	movw   $0x30,(%eax,%ebx,1)
477d93:	83 3a 2d             	cmpl   $0x2d,(%edx)
477d96:	8b f3                	mov    %ebx,%esi
477d98:	75 06                	jne    0x477da0
477d9a:	c6 03 2d             	movb   $0x2d,(%ebx)
477d9d:	8d 73 01             	lea    0x1(%ebx),%esi
477da0:	8b 42 04             	mov    0x4(%edx),%eax
477da3:	85 c0                	test   %eax,%eax
477da5:	7f 15                	jg     0x477dbc
477da7:	6a 01                	push   $0x1
477da9:	56                   	push   %esi
477daa:	ff 75 0c             	push   0xc(%ebp)
477dad:	53                   	push   %ebx
477dae:	e8 3a 02 00 00       	call   0x477fed
477db3:	83 c4 10             	add    $0x10,%esp
477db6:	c6 06 30             	movb   $0x30,(%esi)
477db9:	46                   	inc    %esi
477dba:	eb 02                	jmp    0x477dbe
477dbc:	03 f0                	add    %eax,%esi
477dbe:	85 ff                	test   %edi,%edi
477dc0:	7e 52                	jle    0x477e14
477dc2:	6a 01                	push   $0x1
477dc4:	56                   	push   %esi
477dc5:	ff 75 0c             	push   0xc(%ebp)
477dc8:	53                   	push   %ebx
477dc9:	e8 1f 02 00 00       	call   0x477fed
477dce:	8b 45 f4             	mov    -0xc(%ebp),%eax
477dd1:	83 c4 10             	add    $0x10,%esp
477dd4:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
477dda:	8b 00                	mov    (%eax),%eax
477ddc:	8a 00                	mov    (%eax),%al
477dde:	88 06                	mov    %al,(%esi)
477de0:	46                   	inc    %esi
477de1:	8b 45 14             	mov    0x14(%ebp),%eax
477de4:	8b 48 04             	mov    0x4(%eax),%ecx
477de7:	85 c9                	test   %ecx,%ecx
477de9:	79 29                	jns    0x477e14
477deb:	80 7d 18 00          	cmpb   $0x0,0x18(%ebp)
477def:	75 08                	jne    0x477df9
477df1:	8b c1                	mov    %ecx,%eax
477df3:	f7 d8                	neg    %eax
477df5:	3b c7                	cmp    %edi,%eax
477df7:	7d 04                	jge    0x477dfd
477df9:	8b f9                	mov    %ecx,%edi
477dfb:	f7 df                	neg    %edi
477dfd:	57                   	push   %edi
477dfe:	56                   	push   %esi
477dff:	ff 75 0c             	push   0xc(%ebp)
477e02:	53                   	push   %ebx
477e03:	e8 e5 01 00 00       	call   0x477fed
477e08:	57                   	push   %edi
477e09:	6a 30                	push   $0x30
477e0b:	56                   	push   %esi
477e0c:	e8 4f c0 fc ff       	call   0x443e60
477e11:	83 c4 1c             	add    $0x1c,%esp
477e14:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
477e18:	5f                   	pop    %edi
477e19:	5e                   	pop    %esi
477e1a:	5b                   	pop    %ebx
477e1b:	74 0a                	je     0x477e27
477e1d:	8b 45 f0             	mov    -0x10(%ebp),%eax
477e20:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
477e27:	33 c0                	xor    %eax,%eax
477e29:	8b e5                	mov    %ebp,%esp
477e2b:	5d                   	pop    %ebp
477e2c:	c3                   	ret
477e2d:	8b ff                	mov    %edi,%edi
477e2f:	55                   	push   %ebp
477e30:	8b ec                	mov    %esp,%ebp
477e32:	83 ec 10             	sub    $0x10,%esp
477e35:	53                   	push   %ebx
477e36:	56                   	push   %esi
477e37:	57                   	push   %edi
477e38:	ff 75 18             	push   0x18(%ebp)
477e3b:	33 c0                	xor    %eax,%eax
477e3d:	8d 7d f0             	lea    -0x10(%ebp),%edi
477e40:	ff 75 14             	push   0x14(%ebp)
477e43:	ab                   	stos   %eax,%es:(%edi)
477e44:	ab                   	stos   %eax,%es:(%edi)
477e45:	ab                   	stos   %eax,%es:(%edi)
477e46:	8d 45 f0             	lea    -0x10(%ebp),%eax
477e49:	8b 7d 1c             	mov    0x1c(%ebp),%edi
477e4c:	50                   	push   %eax
477e4d:	8b 45 08             	mov    0x8(%ebp),%eax
477e50:	57                   	push   %edi
477e51:	ff 70 04             	push   0x4(%eax)
477e54:	ff 30                	push   (%eax)
477e56:	e8 91 d8 00 00       	call   0x4856ec
477e5b:	8b 45 f4             	mov    -0xc(%ebp),%eax
477e5e:	33 c9                	xor    %ecx,%ecx
477e60:	8b 5d 0c             	mov    0xc(%ebp),%ebx
477e63:	83 c4 18             	add    $0x18,%esp
477e66:	83 7d f0 2d          	cmpl   $0x2d,-0x10(%ebp)
477e6a:	0f 94 c1             	sete   %cl
477e6d:	48                   	dec    %eax
477e6e:	89 45 fc             	mov    %eax,-0x4(%ebp)
477e71:	83 c8 ff             	or     $0xffffffff,%eax
477e74:	8d 34 19             	lea    (%ecx,%ebx,1),%esi
477e77:	39 45 10             	cmp    %eax,0x10(%ebp)
477e7a:	74 05                	je     0x477e81
477e7c:	8b 45 10             	mov    0x10(%ebp),%eax
477e7f:	2b c1                	sub    %ecx,%eax
477e81:	8d 4d f0             	lea    -0x10(%ebp),%ecx
477e84:	51                   	push   %ecx
477e85:	57                   	push   %edi
477e86:	50                   	push   %eax
477e87:	56                   	push   %esi
477e88:	e8 d4 c3 00 00       	call   0x484261
477e8d:	83 c4 10             	add    $0x10,%esp
477e90:	85 c0                	test   %eax,%eax
477e92:	74 05                	je     0x477e99
477e94:	c6 03 00             	movb   $0x0,(%ebx)
477e97:	eb 55                	jmp    0x477eee
477e99:	8b 45 f4             	mov    -0xc(%ebp),%eax
477e9c:	48                   	dec    %eax
477e9d:	39 45 fc             	cmp    %eax,-0x4(%ebp)
477ea0:	0f 9c c1             	setl   %cl
477ea3:	83 f8 fc             	cmp    $0xfffffffc,%eax
477ea6:	7c 2a                	jl     0x477ed2
477ea8:	3b c7                	cmp    %edi,%eax
477eaa:	7d 26                	jge    0x477ed2
477eac:	84 c9                	test   %cl,%cl
477eae:	74 0a                	je     0x477eba
477eb0:	8a 06                	mov    (%esi),%al
477eb2:	46                   	inc    %esi
477eb3:	84 c0                	test   %al,%al
477eb5:	75 f9                	jne    0x477eb0
477eb7:	88 46 fe             	mov    %al,-0x2(%esi)
477eba:	ff 75 28             	push   0x28(%ebp)
477ebd:	8d 45 f0             	lea    -0x10(%ebp),%eax
477ec0:	6a 01                	push   $0x1
477ec2:	50                   	push   %eax
477ec3:	57                   	push   %edi
477ec4:	ff 75 10             	push   0x10(%ebp)
477ec7:	53                   	push   %ebx
477ec8:	e8 89 fe ff ff       	call   0x477d56
477ecd:	83 c4 18             	add    $0x18,%esp
477ed0:	eb 1c                	jmp    0x477eee
477ed2:	ff 75 28             	push   0x28(%ebp)
477ed5:	8d 45 f0             	lea    -0x10(%ebp),%eax
477ed8:	6a 01                	push   $0x1
477eda:	50                   	push   %eax
477edb:	ff 75 24             	push   0x24(%ebp)
477ede:	ff 75 20             	push   0x20(%ebp)
477ee1:	57                   	push   %edi
477ee2:	ff 75 10             	push   0x10(%ebp)
477ee5:	53                   	push   %ebx
477ee6:	e8 93 fc ff ff       	call   0x477b7e
477eeb:	83 c4 20             	add    $0x20,%esp
477eee:	5f                   	pop    %edi
477eef:	5e                   	pop    %esi
477ef0:	5b                   	pop    %ebx
477ef1:	8b e5                	mov    %ebp,%esp
477ef3:	5d                   	pop    %ebp
477ef4:	c3                   	ret
477ef5:	8b ff                	mov    %edi,%edi
477ef7:	55                   	push   %ebp
477ef8:	8b ec                	mov    %esp,%ebp
477efa:	83 ec 48             	sub    $0x48,%esp
477efd:	a1 94 80 4b 00       	mov    0x4b8094,%eax
477f02:	33 c5                	xor    %ebp,%eax
477f04:	89 45 fc             	mov    %eax,-0x4(%ebp)
477f07:	8b 55 14             	mov    0x14(%ebp),%edx
477f0a:	8b 4d 10             	mov    0x10(%ebp),%ecx
477f0d:	53                   	push   %ebx
477f0e:	8a 5d 0c             	mov    0xc(%ebp),%bl
477f11:	0f b6 c3             	movzbl %bl,%eax
477f14:	83 c0 04             	add    $0x4,%eax
477f17:	3b d0                	cmp    %eax,%edx
477f19:	73 15                	jae    0x477f30
477f1b:	6a 0c                	push   $0xc
477f1d:	c6 01 00             	movb   $0x0,(%ecx)