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)
485f7c:	ab                   	stos   %eax,%es:(%edi)
485f7d:	8d 45 f4             	lea    -0xc(%ebp),%eax
485f80:	8b 7d 1c             	mov    0x1c(%ebp),%edi
485f83:	50                   	push   %eax
485f84:	8b 45 08             	mov    0x8(%ebp),%eax
485f87:	6a 00                	push   $0x0
485f89:	57                   	push   %edi
485f8a:	ff 70 04             	push   0x4(%eax)
485f8d:	ff 30                	push   (%eax)
485f8f:	e8 7a 55 00 00       	call   0x48b50e
485f94:	8b 75 f8             	mov    -0x8(%ebp),%esi
485f97:	83 c9 ff             	or     $0xffffffff,%ecx
485f9a:	83 c4 1c             	add    $0x1c,%esp
485f9d:	03 f7                	add    %edi,%esi
485f9f:	8b d0                	mov    %eax,%edx
485fa1:	39 4d 10             	cmp    %ecx,0x10(%ebp)
485fa4:	74 0e                	je     0x485fb4
485fa6:	8b 4d 10             	mov    0x10(%ebp),%ecx
485fa9:	33 c0                	xor    %eax,%eax
485fab:	83 7d f4 2d          	cmpl   $0x2d,-0xc(%ebp)
485faf:	0f 94 c0             	sete   %al
485fb2:	2b c8                	sub    %eax,%ecx
485fb4:	ff 75 24             	push   0x24(%ebp)
485fb7:	8d 45 f4             	lea    -0xc(%ebp),%eax
485fba:	ff 75 20             	push   0x20(%ebp)
485fbd:	52                   	push   %edx
485fbe:	50                   	push   %eax
485fbf:	33 c0                	xor    %eax,%eax
485fc1:	83 7d f4 2d          	cmpl   $0x2d,-0xc(%ebp)
485fc5:	56                   	push   %esi
485fc6:	8b 75 0c             	mov    0xc(%ebp),%esi
485fc9:	0f 94 c0             	sete   %al
485fcc:	51                   	push   %ecx
485fcd:	03 c6                	add    %esi,%eax
485fcf:	50                   	push   %eax
485fd0:	e8 3f 54 00 00       	call   0x48b414
485fd5:	83 c4 1c             	add    $0x1c,%esp
485fd8:	85 c0                	test   %eax,%eax
485fda:	74 05                	je     0x485fe1
485fdc:	c6 06 00             	movb   $0x0,(%esi)
485fdf:	eb 16                	jmp    0x485ff7
485fe1:	ff 75 24             	push   0x24(%ebp)
485fe4:	8d 45 f4             	lea    -0xc(%ebp),%eax
485fe7:	6a 00                	push   $0x0
485fe9:	50                   	push   %eax
485fea:	57                   	push   %edi
485feb:	ff 75 10             	push   0x10(%ebp)
485fee:	56                   	push   %esi
485fef:	e8 07 00 00 00       	call   0x485ffb
485ff4:	83 c4 18             	add    $0x18,%esp
485ff7:	5f                   	pop    %edi
485ff8:	5e                   	pop    %esi
485ff9:	c9                   	leave
485ffa:	c3                   	ret
485ffb:	8b ff                	mov    %edi,%edi
485ffd:	55                   	push   %ebp
485ffe:	8b ec                	mov    %esp,%ebp
486000:	51                   	push   %ecx
486001:	53                   	push   %ebx
486002:	8b 5d 14             	mov    0x14(%ebp),%ebx
486005:	33 d2                	xor    %edx,%edx
486007:	56                   	push   %esi
486008:	8b 75 08             	mov    0x8(%ebp),%esi
48600b:	57                   	push   %edi
48600c:	8b 4b 04             	mov    0x4(%ebx),%ecx
48600f:	8b 7d 10             	mov    0x10(%ebp),%edi
486012:	49                   	dec    %ecx
486013:	38 55 18             	cmp    %dl,0x18(%ebp)
486016:	74 14                	je     0x48602c
486018:	3b cf                	cmp    %edi,%ecx
48601a:	75 10                	jne    0x48602c
48601c:	33 c0                	xor    %eax,%eax
48601e:	83 3b 2d             	cmpl   $0x2d,(%ebx)
486021:	0f 94 c0             	sete   %al
486024:	03 c1                	add    %ecx,%eax
486026:	66 c7 04 30 30 00    	movw   $0x30,(%eax,%esi,1)
48602c:	83 3b 2d             	cmpl   $0x2d,(%ebx)
48602f:	8b ce                	mov    %esi,%ecx
486031:	89 75 fc             	mov    %esi,-0x4(%ebp)
486034:	75 09                	jne    0x48603f
486036:	8d 4e 01             	lea    0x1(%esi),%ecx
486039:	c6 06 2d             	movb   $0x2d,(%esi)
48603c:	89 4d fc             	mov    %ecx,-0x4(%ebp)
48603f:	8b 43 04             	mov    0x4(%ebx),%eax
486042:	85 c0                	test   %eax,%eax
486044:	7f 2e                	jg     0x486074
486046:	75 0a                	jne    0x486052
486048:	8b 43 08             	mov    0x8(%ebx),%eax
48604b:	80 38 30             	cmpb   $0x30,(%eax)
48604e:	75 02                	jne    0x486052
486050:	b2 01                	mov    $0x1,%dl
486052:	80 7d 18 00          	cmpb   $0x0,0x18(%ebp)
486056:	74 04                	je     0x48605c
486058:	84 d2                	test   %dl,%dl
48605a:	75 12                	jne    0x48606e
48605c:	6a 01                	push   $0x1
48605e:	51                   	push   %ecx
48605f:	ff 75 0c             	push   0xc(%ebp)
486062:	56                   	push   %esi
486063:	e8 e5 01 00 00       	call   0x48624d
486068:	8b 4d fc             	mov    -0x4(%ebp),%ecx
48606b:	83 c4 10             	add    $0x10,%esp
48606e:	33 c0                	xor    %eax,%eax
486070:	c6 01 30             	movb   $0x30,(%ecx)
486073:	40                   	inc    %eax
486074:	03 c1                	add    %ecx,%eax
486076:	89 45 fc             	mov    %eax,-0x4(%ebp)
486079:	85 ff                	test   %edi,%edi
48607b:	7e 65                	jle    0x4860e2
48607d:	6a 01                	push   $0x1
48607f:	50                   	push   %eax
486080:	ff 75 0c             	push   0xc(%ebp)
486083:	56                   	push   %esi
486084:	e8 c4 01 00 00       	call   0x48624d
486089:	8b 45 1c             	mov    0x1c(%ebp),%eax
48608c:	83 c4 10             	add    $0x10,%esp
48608f:	80 78 14 00          	cmpb   $0x0,0x14(%eax)
486093:	75 0a                	jne    0x48609f
486095:	8b c8                	mov    %eax,%ecx
486097:	e8 74 30 ff ff       	call   0x479110
48609c:	8b 45 1c             	mov    0x1c(%ebp),%eax
48609f:	8b 40 0c             	mov    0xc(%eax),%eax
4860a2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4860a5:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
4860ab:	8b 00                	mov    (%eax),%eax
4860ad:	8a 00                	mov    (%eax),%al
4860af:	88 01                	mov    %al,(%ecx)
4860b1:	41                   	inc    %ecx
4860b2:	8b 43 04             	mov    0x4(%ebx),%eax
4860b5:	85 c0                	test   %eax,%eax
4860b7:	79 29                	jns    0x4860e2
4860b9:	f7 d8                	neg    %eax
4860bb:	80 7d 18 00          	cmpb   $0x0,0x18(%ebp)
4860bf:	75 04                	jne    0x4860c5
4860c1:	3b c7                	cmp    %edi,%eax
4860c3:	7d 02                	jge    0x4860c7
4860c5:	8b f8                	mov    %eax,%edi
4860c7:	57                   	push   %edi
4860c8:	51                   	push   %ecx
4860c9:	ff 75 0c             	push   0xc(%ebp)
4860cc:	56                   	push   %esi
4860cd:	e8 7b 01 00 00       	call   0x48624d
4860d2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4860d5:	57                   	push   %edi
4860d6:	40                   	inc    %eax
4860d7:	6a 30                	push   $0x30
4860d9:	50                   	push   %eax
4860da:	e8 d1 5a fe ff       	call   0x46bbb0
4860df:	83 c4 1c             	add    $0x1c,%esp
4860e2:	5f                   	pop    %edi
4860e3:	5e                   	pop    %esi
4860e4:	33 c0                	xor    %eax,%eax
4860e6:	5b                   	pop    %ebx
4860e7:	c9                   	leave
4860e8:	c3                   	ret
4860e9:	8b ff                	mov    %edi,%edi
4860eb:	55                   	push   %ebp
4860ec:	8b ec                	mov    %esp,%ebp
4860ee:	83 ec 14             	sub    $0x14,%esp
4860f1:	53                   	push   %ebx
4860f2:	56                   	push   %esi
4860f3:	57                   	push   %edi
4860f4:	ff 75 18             	push   0x18(%ebp)
4860f7:	33 c0                	xor    %eax,%eax
4860f9:	8d 7d ec             	lea    -0x14(%ebp),%edi
4860fc:	ff 75 14             	push   0x14(%ebp)
4860ff:	ab                   	stos   %eax,%es:(%edi)
486100:	ab                   	stos   %eax,%es:(%edi)
486101:	ab                   	stos   %eax,%es:(%edi)
486102:	8d 45 ec             	lea    -0x14(%ebp),%eax
486105:	8b 7d 1c             	mov    0x1c(%ebp),%edi
486108:	50                   	push   %eax
486109:	8b 45 08             	mov    0x8(%ebp),%eax
48610c:	6a 00                	push   $0x0
48610e:	57                   	push   %edi