485cfa:	8b 5c 24 28          	mov    0x28(%esp),%ebx
485cfe:	2b 5c 24 20          	sub    0x20(%esp),%ebx
485d02:	83 7c 24 14 06       	cmpl   $0x6,0x14(%esp)
485d07:	72 1e                	jb     0x485d27
485d09:	8b 47 04             	mov    0x4(%edi),%eax
485d0c:	6a 29                	push   $0x29
485d0e:	8b 78 14             	mov    0x14(%eax),%edi
485d11:	8b cf                	mov    %edi,%ecx
485d13:	e8 96 40 f8 ff       	call   0x409dae
485d18:	84 c0                	test   %al,%al
485d1a:	75 0b                	jne    0x485d27
485d1c:	8b cf                	mov    %edi,%ecx
485d1e:	e8 79 3f f8 ff       	call   0x409c9c
485d23:	8b f8                	mov    %eax,%edi
485d25:	eb 08                	jmp    0x485d2f
485d27:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
485d2b:	2b 7c 24 24          	sub    0x24(%esp),%edi
485d2f:	8b 45 08             	mov    0x8(%ebp),%eax
485d32:	6a 29                	push   $0x29
485d34:	8b 40 04             	mov    0x4(%eax),%eax
485d37:	8b 40 08             	mov    0x8(%eax),%eax
485d3a:	8b c8                	mov    %eax,%ecx
485d3c:	89 44 24 20          	mov    %eax,0x20(%esp)
485d40:	e8 69 40 f8 ff       	call   0x409dae
485d45:	84 c0                	test   %al,%al
485d47:	74 06                	je     0x485d4f
485d49:	8b 44 24 20          	mov    0x20(%esp),%eax
485d4d:	eb 09                	jmp    0x485d58
485d4f:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
485d53:	e8 44 3f f8 ff       	call   0x409c9c
485d58:	89 44 24 10          	mov    %eax,0x10(%esp)
485d5c:	8b 45 08             	mov    0x8(%ebp),%eax
485d5f:	6a 29                	push   $0x29
485d61:	8b 48 04             	mov    0x4(%eax),%ecx
485d64:	8b 41 0c             	mov    0xc(%ecx),%eax
485d67:	8b c8                	mov    %eax,%ecx
485d69:	89 44 24 20          	mov    %eax,0x20(%esp)
485d6d:	e8 3c 40 f8 ff       	call   0x409dae
485d72:	84 c0                	test   %al,%al
485d74:	74 06                	je     0x485d7c
485d76:	8b 44 24 24          	mov    0x24(%esp),%eax
485d7a:	eb 09                	jmp    0x485d85
485d7c:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
485d80:	e8 17 3f f8 ff       	call   0x409c9c
485d85:	83 7c 24 14 07       	cmpl   $0x7,0x14(%esp)
485d8a:	89 44 24 0c          	mov    %eax,0xc(%esp)
485d8e:	0f 82 8d 00 00 00    	jb     0x485e21
485d94:	8b 45 08             	mov    0x8(%ebp),%eax
485d97:	8b 48 04             	mov    0x4(%eax),%ecx
485d9a:	8b 49 18             	mov    0x18(%ecx),%ecx
485d9d:	e8 fa 3e f8 ff       	call   0x409c9c
485da2:	89 44 24 1c          	mov    %eax,0x1c(%esp)
485da6:	83 f8 ff             	cmp    $0xffffffff,%eax
485da9:	74 76                	je     0x485e21
485dab:	85 c0                	test   %eax,%eax
485dad:	7e 05                	jle    0x485db4
485daf:	83 f8 64             	cmp    $0x64,%eax
485db2:	7e 07                	jle    0x485dbb
485db4:	6a 0a                	push   $0xa
485db6:	58                   	pop    %eax
485db7:	89 44 24 1c          	mov    %eax,0x1c(%esp)
485dbb:	8b 54 24 20          	mov    0x20(%esp),%edx
485dbf:	8b 4c 24 24          	mov    0x24(%esp),%ecx
485dc3:	89 54 24 18          	mov    %edx,0x18(%esp)
485dc7:	89 4c 24 14          	mov    %ecx,0x14(%esp)
485dcb:	39 54 24 10          	cmp    %edx,0x10(%esp)
485dcf:	75 0c                	jne    0x485ddd
485dd1:	39 4c 24 0c          	cmp    %ecx,0xc(%esp)
485dd5:	75 06                	jne    0x485ddd
485dd7:	57                   	push   %edi
485dd8:	53                   	push   %ebx
485dd9:	51                   	push   %ecx
485dda:	52                   	push   %edx
485ddb:	eb 4e                	jmp    0x485e2b
485ddd:	8b 54 24 0c          	mov    0xc(%esp),%edx
485de1:	8d 4c 24 14          	lea    0x14(%esp),%ecx
485de5:	51                   	push   %ecx
485de6:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
485dea:	51                   	push   %ecx
485deb:	8b 4c 24 18          	mov    0x18(%esp),%ecx
485def:	6a 01                	push   $0x1
485df1:	50                   	push   %eax
485df2:	e8 19 f5 fd ff       	call   0x465310
485df7:	83 c4 10             	add    $0x10,%esp
485dfa:	84 c0                	test   %al,%al
485dfc:	74 38                	je     0x485e36
485dfe:	8b 8e f0 01 00 00    	mov    0x1f0(%esi),%ecx
485e04:	57                   	push   %edi
485e05:	53                   	push   %ebx
485e06:	ff 74 24 1c          	push   0x1c(%esp)
485e0a:	ff 74 24 24          	push   0x24(%esp)
485e0e:	e8 0f 53 fd ff       	call   0x45b122
485e13:	6a 32                	push   $0x32
485e15:	59                   	pop    %ecx
485e16:	e8 cb f6 fd ff       	call   0x4654e6
485e1b:	8b 44 24 1c          	mov    0x1c(%esp),%eax
485e1f:	eb bc                	jmp    0x485ddd
485e21:	57                   	push   %edi
485e22:	53                   	push   %ebx
485e23:	ff 74 24 14          	push   0x14(%esp)
485e27:	ff 74 24 1c          	push   0x1c(%esp)
485e2b:	8b 8e f0 01 00 00    	mov    0x1f0(%esi),%ecx
485e31:	e8 ec 52 fd ff       	call   0x45b122
485e36:	8b 86 f0 01 00 00    	mov    0x1f0(%esi),%eax
485e3c:	8b 75 0c             	mov    0xc(%ebp),%esi
485e3f:	8b ce                	mov    %esi,%ecx
485e41:	8b 38                	mov    (%eax),%edi
485e43:	e8 d8 3b f8 ff       	call   0x409a20
485e48:	c7 46 0c 07 00 00 00 	movl   $0x7,0xc(%esi)
485e4f:	89 3e                	mov    %edi,(%esi)
485e51:	5f                   	pop    %edi
485e52:	5e                   	pop    %esi
485e53:	33 c0                	xor    %eax,%eax
485e55:	5b                   	pop    %ebx
485e56:	8b e5                	mov    %ebp,%esp
485e58:	5d                   	pop    %ebp
485e59:	c2 08 00             	ret    $0x8
485e5c:	55                   	push   %ebp
485e5d:	8b ec                	mov    %esp,%ebp
485e5f:	53                   	push   %ebx
485e60:	56                   	push   %esi
485e61:	57                   	push   %edi
485e62:	8b 7d 08             	mov    0x8(%ebp),%edi
485e65:	8b f1                	mov    %ecx,%esi
485e67:	57                   	push   %edi
485e68:	e8 40 5b f8 ff       	call   0x40b9ad
485e6d:	33 db                	xor    %ebx,%ebx
485e6f:	8b ce                	mov    %esi,%ecx
485e71:	43                   	inc    %ebx
485e72:	53                   	push   %ebx
485e73:	e8 c5 5a f8 ff       	call   0x40b93d
485e78:	85 c0                	test   %eax,%eax
485e7a:	7f 27                	jg     0x485ea3
485e7c:	33 ff                	xor    %edi,%edi
485e7e:	85 c0                	test   %eax,%eax
485e80:	79 10                	jns    0x485e92
485e82:	f7 d8                	neg    %eax
485e84:	57                   	push   %edi
485e85:	50                   	push   %eax
485e86:	8b 06                	mov    (%esi),%eax
485e88:	8b 48 04             	mov    0x4(%eax),%ecx
485e8b:	03 ce                	add    %esi,%ecx
485e8d:	e8 11 0c fd ff       	call   0x456aa3
485e92:	8b 75 0c             	mov    0xc(%ebp),%esi
485e95:	8b ce                	mov    %esi,%ecx
485e97:	e8 84 3b f8 ff       	call   0x409a20
485e9c:	89 5e 0c             	mov    %ebx,0xc(%esi)
485e9f:	89 3e                	mov    %edi,(%esi)
485ea1:	eb 4f                	jmp    0x485ef2
485ea3:	8b 86 f0 01 00 00    	mov    0x1f0(%esi),%eax
485ea9:	ff 30                	push   (%eax)
485eab:	e8 ea 02 f9 ff       	call   0x41619a
485eb0:	84 c0                	test   %al,%al
485eb2:	74 12                	je     0x485ec6
485eb4:	8b 75 0c             	mov    0xc(%ebp),%esi
485eb7:	8b ce                	mov    %esi,%ecx
485eb9:	e8 62 3b f8 ff       	call   0x409a20
485ebe:	83 26 00             	andl   $0x0,(%esi)
485ec1:	89 5e 0c             	mov    %ebx,0xc(%esi)
485ec4:	eb 2c                	jmp    0x485ef2
485ec6:	8b 86 f0 01 00 00    	mov    0x1f0(%esi),%eax
485ecc:	8b 30                	mov    (%eax),%esi
485ece:	8b 47 04             	mov    0x4(%edi),%eax
485ed1:	8b 48 08             	mov    0x8(%eax),%ecx
485ed4:	e8 c3 3d f8 ff       	call   0x409c9c
485ed9:	33 ff                	xor    %edi,%edi
485edb:	6a 13                	push   $0x13
485edd:	57                   	push   %edi
485ede:	57                   	push   %edi
485edf:	57                   	push   %edi
485ee0:	57                   	push   %edi
485ee1:	3b c3                	cmp    %ebx,%eax
485ee3:	75 04                	jne    0x485ee9
485ee5:	6a ff                	push   $0xffffffff
485ee7:	eb 02                	jmp    0x485eeb
485ee9:	6a fe                	push   $0xfffffffe
485eeb:	56                   	push   %esi
485eec:	ff 15 d4 f4 48 00    	call   *0x48f4d4
485ef2:	5f                   	pop    %edi
485ef3:	5e                   	pop    %esi
485ef4:	33 c0                	xor    %eax,%eax
485ef6:	5b                   	pop    %ebx
485ef7:	5d                   	pop    %ebp
485ef8:	c2 08 00             	ret    $0x8
485efb:	55                   	push   %ebp
485efc:	8b ec                	mov    %esp,%ebp
485efe:	53                   	push   %ebx
485eff:	56                   	push   %esi
485f00:	57                   	push   %edi
485f01:	8b 7d 08             	mov    0x8(%ebp),%edi
485f04:	8b f1                	mov    %ecx,%esi
485f06:	57                   	push   %edi
485f07:	e8 a1 5a f8 ff       	call   0x40b9ad
485f0c:	33 db                	xor    %ebx,%ebx
485f0e:	8b ce                	mov    %esi,%ecx
485f10:	43                   	inc    %ebx
485f11:	53                   	push   %ebx
485f12:	e8 26 5a f8 ff       	call   0x40b93d
485f17:	85 c0                	test   %eax,%eax
485f19:	7f 25                	jg     0x485f40
485f1b:	79 11                	jns    0x485f2e
485f1d:	f7 d8                	neg    %eax
485f1f:	6a 00                	push   $0x0
485f21:	50                   	push   %eax
485f22:	8b 06                	mov    (%esi),%eax
485f24:	8b 48 04             	mov    0x4(%eax),%ecx
485f27:	03 ce                	add    %esi,%ecx
485f29:	e8 75 0b fd ff       	call   0x456aa3
485f2e:	8b 75 0c             	mov    0xc(%ebp),%esi
485f31:	8b ce                	mov    %esi,%ecx
485f33:	e8 e8 3a f8 ff       	call   0x409a20
485f38:	83 26 00             	andl   $0x0,(%esi)
485f3b:	89 5e 0c             	mov    %ebx,0xc(%esi)
485f3e:	eb 4f                	jmp    0x485f8f
485f40:	8b 47 04             	mov    0x4(%edi),%eax
485f43:	8b 48 08             	mov    0x8(%eax),%ecx
485f46:	e8 51 3d f8 ff       	call   0x409c9c
485f4b:	83 f8 40             	cmp    $0x40,%eax
485f4e:	75 0e                	jne    0x485f5e
485f50:	8b 8e f0 01 00 00    	mov    0x1f0(%esi),%ecx
485f56:	53                   	push   %ebx
485f57:	e8 33 4f fd ff       	call   0x45ae8f
485f5c:	eb 31                	jmp    0x485f8f
485f5e:	83 f8 41             	cmp    $0x41,%eax
485f61:	75 12                	jne    0x485f75
485f63:	8b 86 f0 01 00 00    	mov    0x1f0(%esi),%eax
485f69:	6a 00                	push   $0x0
485f6b:	ff 30                	push   (%eax)
485f6d:	ff 15 54 f6 48 00    	call   *0x48f654
485f73:	eb 1a                	jmp    0x485f8f
485f75:	50                   	push   %eax
485f76:	8b 86 f0 01 00 00    	mov    0x1f0(%esi),%eax
485f7c:	ff 30                	push   (%eax)
485f7e:	ff 15 1c f7 48 00    	call   *0x48f71c
485f84:	8b 8e f4 02 00 00    	mov    0x2f4(%esi),%ecx
485f8a:	e8 57 f5 fd ff       	call   0x4654e6
485f8f:	5f                   	pop    %edi
485f90:	5e                   	pop    %esi
485f91:	33 c0                	xor    %eax,%eax
485f93:	5b                   	pop    %ebx
485f94:	5d                   	pop    %ebp
485f95:	c2 08 00             	ret    $0x8
485f98:	55                   	push   %ebp
485f99:	8b ec                	mov    %esp,%ebp
485f9b:	53                   	push   %ebx
485f9c:	56                   	push   %esi
485f9d:	8b 75 08             	mov    0x8(%ebp),%esi
485fa0:	57                   	push   %edi
485fa1:	8b f9                	mov    %ecx,%edi
485fa3:	8b 46 04             	mov    0x4(%esi),%eax
485fa6:	8b 48 08             	mov    0x8(%eax),%ecx
485fa9:	e8 ee 3c f8 ff       	call   0x409c9c
485fae:	8b 46 04             	mov    0x4(%esi),%eax
485fb1:	8b 48 08             	mov    0x8(%eax),%ecx
485fb4:	e8 e3 3c f8 ff       	call   0x409c9c
485fb9:	8a d8                	mov    %al,%bl
485fbb:	8b cf                	mov    %edi,%ecx
485fbd:	56                   	push   %esi
485fbe:	88 5d 08             	mov    %bl,0x8(%ebp)
485fc1:	e8 e7 59 f8 ff       	call   0x40b9ad
485fc6:	6a 01                	push   $0x1
485fc8:	8b cf                	mov    %edi,%ecx
485fca:	e8 6e 59 f8 ff       	call   0x40b93d
485fcf:	85 c0                	test   %eax,%eax
485fd1:	7f 29                	jg     0x485ffc
485fd3:	79 11                	jns    0x485fe6
485fd5:	f7 d8                	neg    %eax
485fd7:	6a 00                	push   $0x0
485fd9:	50                   	push   %eax
485fda:	8b 07                	mov    (%edi),%eax
485fdc:	8b 48 04             	mov    0x4(%eax),%ecx
485fdf:	03 cf                	add    %edi,%ecx
485fe1:	e8 bd 0a fd ff       	call   0x456aa3
485fe6:	8b 75 0c             	mov    0xc(%ebp),%esi
485fe9:	8b ce                	mov    %esi,%ecx
485feb:	e8 30 3a f8 ff       	call   0x409a20
485ff0:	83 26 00             	andl   $0x0,(%esi)
485ff3:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
485ffa:	eb 47                	jmp    0x486043
485ffc:	8b 87 f0 01 00 00    	mov    0x1f0(%edi),%eax
486002:	6a ec                	push   $0xffffffec
486004:	8b 30                	mov    (%eax),%esi
486006:	56                   	push   %esi
486007:	ff 15 5c f6 48 00    	call   *0x48f65c
48600d:	b9 00 00 08 00       	mov    $0x80000,%ecx
486012:	80 fb ff             	cmp    $0xff,%bl
486015:	72 12                	jb     0x486029
486017:	85 c1                	test   %eax,%ecx
486019:	74 0e                	je     0x486029
48601b:	33 c1                	xor    %ecx,%eax
48601d:	50                   	push   %eax
48601e:	6a ec                	push   $0xffffffec
486020:	56                   	push   %esi
486021:	ff 15 10 f5 48 00    	call   *0x48f510
486027:	eb 1a                	jmp    0x486043
486029:	0b c1                	or     %ecx,%eax
48602b:	50                   	push   %eax
48602c:	6a ec                	push   $0xffffffec
48602e:	56                   	push   %esi
48602f:	ff 15 10 f5 48 00    	call   *0x48f510
486035:	6a 02                	push   $0x2
486037:	ff 75 08             	push   0x8(%ebp)
48603a:	6a 00                	push   $0x0
48603c:	56                   	push   %esi
48603d:	ff 15 14 f5 48 00    	call   *0x48f514
486043:	5f                   	pop    %edi
486044:	5e                   	pop    %esi
486045:	33 c0                	xor    %eax,%eax
486047:	5b                   	pop    %ebx
486048:	5d                   	pop    %ebp
486049:	c2 08 00             	ret    $0x8
48604c:	55                   	push   %ebp
48604d:	8b ec                	mov    %esp,%ebp
48604f:	56                   	push   %esi
486050:	ff 75 08             	push   0x8(%ebp)
486053:	8b f1                	mov    %ecx,%esi
486055:	e8 b1 01 00 00       	call   0x48620b
48605a:	51                   	push   %ecx
48605b:	8d 45 08             	lea    0x8(%ebp),%eax
48605e:	c7 45 08 01 00 00 00 	movl   $0x1,0x8(%ebp)
486065:	50                   	push   %eax
486066:	8b 06                	mov    (%esi),%eax
486068:	8b 48 04             	mov    0x4(%eax),%ecx
48606b:	03 ce                	add    %esi,%ecx
48606d:	e8 a1 9e f9 ff       	call   0x41ff13
486072:	6a 00                	push   $0x0
486074:	8b ce                	mov    %esi,%ecx
486076:	c7 86 f8 00 00 00 03 	movl   $0x3,0xf8(%esi)
48607d:	00 00 00
486080:	e8 ab aa f8 ff       	call   0x410b30
486085:	8b 06                	mov    (%esi),%eax
486087:	8d 4e 04             	lea    0x4(%esi),%ecx
48608a:	8b 40 04             	mov    0x4(%eax),%eax
48608d:	03 c8                	add    %eax,%ecx
48608f:	e8 06 9f f9 ff       	call   0x41ff9a
486094:	8b 4d 0c             	mov    0xc(%ebp),%ecx
486097:	50                   	push   %eax
486098:	e8 ff 3d f8 ff       	call   0x409e9c
48609d:	33 c0                	xor    %eax,%eax
48609f:	5e                   	pop    %esi
4860a0:	5d                   	pop    %ebp
4860a1:	c2 08 00             	ret    $0x8
4860a4:	55                   	push   %ebp
4860a5:	8b ec                	mov    %esp,%ebp
4860a7:	56                   	push   %esi
4860a8:	ff 75 08             	push   0x8(%ebp)
4860ab:	8b f1                	mov    %ecx,%esi
4860ad:	e8 59 01 00 00       	call   0x48620b
4860b2:	51                   	push   %ecx
4860b3:	8d 45 08             	lea    0x8(%ebp),%eax