485c5f:	e8 4c 5f fe ff       	call   0x46bbb0
485c64:	83 c4 0c             	add    $0xc,%esp
485c67:	03 fe                	add    %esi,%edi
485c69:	8b 45 f4             	mov    -0xc(%ebp),%eax
485c6c:	80 38 00             	cmpb   $0x0,(%eax)
485c6f:	75 02                	jne    0x485c73
485c71:	8b f8                	mov    %eax,%edi
485c73:	8a 45 ff             	mov    -0x1(%ebp),%al
485c76:	b1 34                	mov    $0x34,%cl
485c78:	c0 e0 05             	shl    $0x5,%al
485c7b:	04 50                	add    $0x50,%al
485c7d:	88 07                	mov    %al,(%edi)
485c7f:	8b 03                	mov    (%ebx),%eax
485c81:	8b 53 04             	mov    0x4(%ebx),%edx
485c84:	e8 e7 fd 00 00       	call   0x495a70
485c89:	8b d8                	mov    %eax,%ebx
485c8b:	33 f6                	xor    %esi,%esi
485c8d:	81 e3 ff 07 00 00    	and    $0x7ff,%ebx
485c93:	8d 47 02             	lea    0x2(%edi),%eax
485c96:	2b 5d f0             	sub    -0x10(%ebp),%ebx
485c99:	89 45 f0             	mov    %eax,-0x10(%ebp)
485c9c:	1b f6                	sbb    %esi,%esi
485c9e:	78 0a                	js     0x485caa
485ca0:	7f 04                	jg     0x485ca6
485ca2:	85 db                	test   %ebx,%ebx
485ca4:	72 04                	jb     0x485caa
485ca6:	b1 2b                	mov    $0x2b,%cl
485ca8:	eb 0a                	jmp    0x485cb4
485caa:	f7 db                	neg    %ebx
485cac:	6a 2d                	push   $0x2d
485cae:	83 d6 00             	adc    $0x0,%esi
485cb1:	f7 de                	neg    %esi
485cb3:	59                   	pop    %ecx
485cb4:	88 4f 01             	mov    %cl,0x1(%edi)
485cb7:	8b f8                	mov    %eax,%edi
485cb9:	6a 30                	push   $0x30
485cbb:	59                   	pop    %ecx
485cbc:	88 08                	mov    %cl,(%eax)
485cbe:	85 f6                	test   %esi,%esi
485cc0:	0f 8c 96 00 00 00    	jl     0x485d5c
485cc6:	b8 e8 03 00 00       	mov    $0x3e8,%eax
485ccb:	7f 04                	jg     0x485cd1
485ccd:	3b d8                	cmp    %eax,%ebx
485ccf:	72 2e                	jb     0x485cff
485cd1:	6a 00                	push   $0x0
485cd3:	50                   	push   %eax
485cd4:	56                   	push   %esi
485cd5:	53                   	push   %ebx
485cd6:	e8 b5 fd 00 00       	call   0x495a90
485cdb:	6a 30                	push   $0x30
485cdd:	59                   	pop    %ecx
485cde:	6a 00                	push   $0x0
485ce0:	02 c1                	add    %cl,%al
485ce2:	8b 4d f0             	mov    -0x10(%ebp),%ecx
485ce5:	68 e8 03 00 00       	push   $0x3e8
485cea:	56                   	push   %esi
485ceb:	53                   	push   %ebx
485cec:	88 01                	mov    %al,(%ecx)
485cee:	8d 79 01             	lea    0x1(%ecx),%edi
485cf1:	e8 4a fe 00 00       	call   0x495b40
485cf6:	8b d8                	mov    %eax,%ebx
485cf8:	8b f2                	mov    %edx,%esi
485cfa:	3b 7d f0             	cmp    -0x10(%ebp),%edi
485cfd:	75 0b                	jne    0x485d0a
485cff:	85 f6                	test   %esi,%esi
485d01:	7c 59                	jl     0x485d5c
485d03:	7f 05                	jg     0x485d0a
485d05:	83 fb 64             	cmp    $0x64,%ebx
485d08:	72 27                	jb     0x485d31
485d0a:	6a 00                	push   $0x0
485d0c:	6a 64                	push   $0x64
485d0e:	56                   	push   %esi
485d0f:	53                   	push   %ebx
485d10:	e8 7b fd 00 00       	call   0x495a90
485d15:	6a 30                	push   $0x30
485d17:	59                   	pop    %ecx
485d18:	6a 00                	push   $0x0
485d1a:	6a 64                	push   $0x64
485d1c:	02 c1                	add    %cl,%al
485d1e:	56                   	push   %esi
485d1f:	88 07                	mov    %al,(%edi)
485d21:	47                   	inc    %edi
485d22:	53                   	push   %ebx
485d23:	e8 18 fe 00 00       	call   0x495b40
485d28:	8b d8                	mov    %eax,%ebx
485d2a:	8b f2                	mov    %edx,%esi
485d2c:	3b 7d f0             	cmp    -0x10(%ebp),%edi
485d2f:	75 0b                	jne    0x485d3c
485d31:	85 f6                	test   %esi,%esi
485d33:	7c 27                	jl     0x485d5c
485d35:	7f 05                	jg     0x485d3c
485d37:	83 fb 0a             	cmp    $0xa,%ebx
485d3a:	72 20                	jb     0x485d5c
485d3c:	6a 00                	push   $0x0
485d3e:	6a 0a                	push   $0xa
485d40:	56                   	push   %esi
485d41:	53                   	push   %ebx
485d42:	e8 49 fd 00 00       	call   0x495a90
485d47:	6a 30                	push   $0x30
485d49:	59                   	pop    %ecx
485d4a:	6a 00                	push   $0x0
485d4c:	6a 0a                	push   $0xa
485d4e:	02 c1                	add    %cl,%al
485d50:	56                   	push   %esi
485d51:	88 07                	mov    %al,(%edi)
485d53:	47                   	inc    %edi
485d54:	53                   	push   %ebx
485d55:	e8 e6 fd 00 00       	call   0x495b40
485d5a:	8b d8                	mov    %eax,%ebx
485d5c:	6a 30                	push   $0x30
485d5e:	58                   	pop    %eax
485d5f:	02 d8                	add    %al,%bl
485d61:	88 1f                	mov    %bl,(%edi)
485d63:	c6 47 01 00          	movb   $0x0,0x1(%edi)
485d67:	33 c0                	xor    %eax,%eax
485d69:	5b                   	pop    %ebx
485d6a:	5f                   	pop    %edi
485d6b:	5e                   	pop    %esi
485d6c:	c9                   	leave
485d6d:	c3                   	ret
485d6e:	8b ff                	mov    %edi,%edi
485d70:	55                   	push   %ebp
485d71:	8b ec                	mov    %esp,%ebp
485d73:	83 ec 0c             	sub    $0xc,%esp
485d76:	8d 45 f4             	lea    -0xc(%ebp),%eax
485d79:	56                   	push   %esi
485d7a:	8b 75 1c             	mov    0x1c(%ebp),%esi
485d7d:	57                   	push   %edi
485d7e:	ff 75 18             	push   0x18(%ebp)
485d81:	ff 75 14             	push   0x14(%ebp)
485d84:	8d 7e 01             	lea    0x1(%esi),%edi
485d87:	50                   	push   %eax
485d88:	8b 45 08             	mov    0x8(%ebp),%eax
485d8b:	6a 01                	push   $0x1
485d8d:	57                   	push   %edi
485d8e:	ff 70 04             	push   0x4(%eax)
485d91:	ff 30                	push   (%eax)
485d93:	e8 76 57 00 00       	call   0x48b50e
485d98:	83 c9 ff             	or     $0xffffffff,%ecx
485d9b:	83 c4 1c             	add    $0x1c,%esp
485d9e:	8b d0                	mov    %eax,%edx
485da0:	39 4d 10             	cmp    %ecx,0x10(%ebp)
485da3:	74 17                	je     0x485dbc
485da5:	8b 4d 10             	mov    0x10(%ebp),%ecx
485da8:	33 c0                	xor    %eax,%eax
485daa:	83 7d f4 2d          	cmpl   $0x2d,-0xc(%ebp)
485dae:	0f 94 c0             	sete   %al
485db1:	2b c8                	sub    %eax,%ecx
485db3:	33 c0                	xor    %eax,%eax
485db5:	85 f6                	test   %esi,%esi
485db7:	0f 9f c0             	setg   %al
485dba:	2b c8                	sub    %eax,%ecx
485dbc:	ff 75 2c             	push   0x2c(%ebp)
485dbf:	8d 45 f4             	lea    -0xc(%ebp),%eax
485dc2:	ff 75 28             	push   0x28(%ebp)
485dc5:	52                   	push   %edx
485dc6:	50                   	push   %eax
485dc7:	57                   	push   %edi
485dc8:	8b 7d 0c             	mov    0xc(%ebp),%edi
485dcb:	51                   	push   %ecx
485dcc:	33 c9                	xor    %ecx,%ecx
485dce:	83 7d f4 2d          	cmpl   $0x2d,-0xc(%ebp)
485dd2:	0f 94 c1             	sete   %cl
485dd5:	33 c0                	xor    %eax,%eax
485dd7:	85 f6                	test   %esi,%esi
485dd9:	0f 9f c0             	setg   %al
485ddc:	03 cf                	add    %edi,%ecx
485dde:	03 c1                	add    %ecx,%eax
485de0:	50                   	push   %eax
485de1:	e8 2e 56 00 00       	call   0x48b414
485de6:	83 c4 1c             	add    $0x1c,%esp
485de9:	85 c0                	test   %eax,%eax
485deb:	74 05                	je     0x485df2
485ded:	c6 07 00             	movb   $0x0,(%edi)
485df0:	eb 1c                	jmp    0x485e0e
485df2:	ff 75 2c             	push   0x2c(%ebp)
485df5:	8d 45 f4             	lea    -0xc(%ebp),%eax
485df8:	6a 00                	push   $0x0
485dfa:	50                   	push   %eax
485dfb:	ff 75 24             	push   0x24(%ebp)
485dfe:	ff 75 20             	push   0x20(%ebp)
485e01:	56                   	push   %esi
485e02:	ff 75 10             	push   0x10(%ebp)
485e05:	57                   	push   %edi
485e06:	e8 07 00 00 00       	call   0x485e12
485e0b:	83 c4 20             	add    $0x20,%esp
485e0e:	5f                   	pop    %edi
485e0f:	5e                   	pop    %esi
485e10:	c9                   	leave
485e11:	c3                   	ret
485e12:	8b ff                	mov    %edi,%edi
485e14:	55                   	push   %ebp
485e15:	8b ec                	mov    %esp,%ebp
485e17:	56                   	push   %esi
485e18:	57                   	push   %edi
485e19:	8b 7d 10             	mov    0x10(%ebp),%edi
485e1c:	33 d2                	xor    %edx,%edx
485e1e:	8b c7                	mov    %edi,%eax
485e20:	85 ff                	test   %edi,%edi
485e22:	7f 02                	jg     0x485e26
485e24:	8b c2                	mov    %edx,%eax
485e26:	83 c0 09             	add    $0x9,%eax
485e29:	39 45 0c             	cmp    %eax,0xc(%ebp)
485e2c:	77 21                	ja     0x485e4f
485e2e:	8b 4d 24             	mov    0x24(%ebp),%ecx
485e31:	6a 22                	push   $0x22
485e33:	5e                   	pop    %esi
485e34:	51                   	push   %ecx
485e35:	52                   	push   %edx
485e36:	52                   	push   %edx
485e37:	52                   	push   %edx
485e38:	52                   	push   %edx
485e39:	52                   	push   %edx
485e3a:	c6 41 1c 01          	movb   $0x1,0x1c(%ecx)
485e3e:	89 71 18             	mov    %esi,0x18(%ecx)
485e41:	e8 5e 37 ff ff       	call   0x4795a4
485e46:	83 c4 18             	add    $0x18,%esp
485e49:	8b c6                	mov    %esi,%eax
485e4b:	5f                   	pop    %edi
485e4c:	5e                   	pop    %esi
485e4d:	5d                   	pop    %ebp
485e4e:	c3                   	ret
485e4f:	53                   	push   %ebx
485e50:	8b 5d 08             	mov    0x8(%ebp),%ebx
485e53:	38 55 20             	cmp    %dl,0x20(%ebp)
485e56:	74 22                	je     0x485e7a
485e58:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
485e5b:	33 c0                	xor    %eax,%eax
485e5d:	85 ff                	test   %edi,%edi
485e5f:	0f 9f c0             	setg   %al
485e62:	50                   	push   %eax
485e63:	33 c0                	xor    %eax,%eax
485e65:	83 39 2d             	cmpl   $0x2d,(%ecx)
485e68:	0f 94 c0             	sete   %al
485e6b:	03 c3                	add    %ebx,%eax
485e6d:	50                   	push   %eax
485e6e:	ff 75 0c             	push   0xc(%ebp)
485e71:	53                   	push   %ebx
485e72:	e8 d6 03 00 00       	call   0x48624d
485e77:	83 c4 10             	add    $0x10,%esp
485e7a:	8b 45 1c             	mov    0x1c(%ebp),%eax
485e7d:	8b f3                	mov    %ebx,%esi
485e7f:	83 38 2d             	cmpl   $0x2d,(%eax)
485e82:	75 06                	jne    0x485e8a
485e84:	c6 03 2d             	movb   $0x2d,(%ebx)
485e87:	8d 73 01             	lea    0x1(%ebx),%esi
485e8a:	85 ff                	test   %edi,%edi
485e8c:	7e 28                	jle    0x485eb6
485e8e:	8a 46 01             	mov    0x1(%esi),%al
485e91:	88 06                	mov    %al,(%esi)
485e93:	46                   	inc    %esi
485e94:	8b 45 24             	mov    0x24(%ebp),%eax
485e97:	80 78 14 00          	cmpb   $0x0,0x14(%eax)
485e9b:	75 0a                	jne    0x485ea7
485e9d:	8b c8                	mov    %eax,%ecx
485e9f:	e8 6c 32 ff ff       	call   0x479110
485ea4:	8b 45 24             	mov    0x24(%ebp),%eax
485ea7:	8b 40 0c             	mov    0xc(%eax),%eax
485eaa:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
485eb0:	8b 00                	mov    (%eax),%eax
485eb2:	8a 00                	mov    (%eax),%al
485eb4:	88 06                	mov    %al,(%esi)
485eb6:	0f b6 45 20          	movzbl 0x20(%ebp),%eax
485eba:	83 f0 01             	xor    $0x1,%eax
485ebd:	03 c7                	add    %edi,%eax
485ebf:	03 f0                	add    %eax,%esi
485ec1:	83 c8 ff             	or     $0xffffffff,%eax
485ec4:	39 45 0c             	cmp    %eax,0xc(%ebp)
485ec7:	74 07                	je     0x485ed0
485ec9:	8b c3                	mov    %ebx,%eax
485ecb:	2b c6                	sub    %esi,%eax
485ecd:	03 45 0c             	add    0xc(%ebp),%eax
485ed0:	68 a0 33 4a 00       	push   $0x4a33a0
485ed5:	50                   	push   %eax
485ed6:	56                   	push   %esi
485ed7:	e8 62 b6 ff ff       	call   0x48153e
485edc:	83 c4 0c             	add    $0xc,%esp
485edf:	85 c0                	test   %eax,%eax
485ee1:	75 75                	jne    0x485f58
485ee3:	8d 7e 02             	lea    0x2(%esi),%edi
485ee6:	38 45 14             	cmp    %al,0x14(%ebp)
485ee9:	74 03                	je     0x485eee
485eeb:	c6 06 45             	movb   $0x45,(%esi)
485eee:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
485ef1:	8b 41 08             	mov    0x8(%ecx),%eax
485ef4:	80 38 30             	cmpb   $0x30,(%eax)
485ef7:	74 3d                	je     0x485f36
485ef9:	8b 49 04             	mov    0x4(%ecx),%ecx
485efc:	83 e9 01             	sub    $0x1,%ecx
485eff:	79 06                	jns    0x485f07
485f01:	f7 d9                	neg    %ecx
485f03:	c6 46 01 2d          	movb   $0x2d,0x1(%esi)
485f07:	6a 64                	push   $0x64
485f09:	5b                   	pop    %ebx
485f0a:	3b cb                	cmp    %ebx,%ecx
485f0c:	7c 0f                	jl     0x485f1d
485f0e:	8b c1                	mov    %ecx,%eax
485f10:	99                   	cltd
485f11:	f7 fb                	idiv   %ebx
485f13:	00 46 02             	add    %al,0x2(%esi)
485f16:	8b c1                	mov    %ecx,%eax
485f18:	99                   	cltd
485f19:	f7 fb                	idiv   %ebx
485f1b:	8b ca                	mov    %edx,%ecx
485f1d:	6a 0a                	push   $0xa
485f1f:	5b                   	pop    %ebx
485f20:	3b cb                	cmp    %ebx,%ecx
485f22:	7c 0f                	jl     0x485f33
485f24:	8b c1                	mov    %ecx,%eax
485f26:	99                   	cltd
485f27:	f7 fb                	idiv   %ebx
485f29:	00 46 03             	add    %al,0x3(%esi)
485f2c:	8b c1                	mov    %ecx,%eax
485f2e:	99                   	cltd
485f2f:	f7 fb                	idiv   %ebx
485f31:	8b ca                	mov    %edx,%ecx
485f33:	00 4e 04             	add    %cl,0x4(%esi)
485f36:	83 7d 18 02          	cmpl   $0x2,0x18(%ebp)
485f3a:	5b                   	pop    %ebx
485f3b:	75 14                	jne    0x485f51
485f3d:	80 3f 30             	cmpb   $0x30,(%edi)
485f40:	75 0f                	jne    0x485f51
485f42:	6a 03                	push   $0x3
485f44:	8d 47 01             	lea    0x1(%edi),%eax
485f47:	50                   	push   %eax
485f48:	57                   	push   %edi
485f49:	e8 d2 56 fe ff       	call   0x46b620
485f4e:	83 c4 0c             	add    $0xc,%esp
485f51:	33 c0                	xor    %eax,%eax
485f53:	e9 f3 fe ff ff       	jmp    0x485e4b
485f58:	33 c0                	xor    %eax,%eax
485f5a:	50                   	push   %eax
485f5b:	50                   	push   %eax
485f5c:	50                   	push   %eax
485f5d:	50                   	push   %eax
485f5e:	50                   	push   %eax
485f5f:	e8 ea 36 ff ff       	call   0x47964e
485f64:	cc                   	int3
485f65:	8b ff                	mov    %edi,%edi
485f67:	55                   	push   %ebp
485f68:	8b ec                	mov    %esp,%ebp
485f6a:	83 ec 0c             	sub    $0xc,%esp
485f6d:	56                   	push   %esi
485f6e:	57                   	push   %edi
485f6f:	ff 75 18             	push   0x18(%ebp)
485f72:	33 c0                	xor    %eax,%eax
485f74:	8d 7d f4             	lea    -0xc(%ebp),%edi
485f77:	ff 75 14             	push   0x14(%ebp)
485f7a:	ab                   	stos   %eax,%es:(%edi)
485f7b:	ab                   	stos   %eax,%es:(%edi)