485af1:	8b ce                	mov    %esi,%ecx
485af3:	e8 9f 3e f8 ff       	call   0x409997
485af8:	8b 46 08             	mov    0x8(%esi),%eax
485afb:	8b 75 f4             	mov    -0xc(%ebp),%esi
485afe:	8b 38                	mov    (%eax),%edi
485b00:	8b 45 08             	mov    0x8(%ebp),%eax
485b03:	8b 40 04             	mov    0x4(%eax),%eax
485b06:	8b 74 b0 fc          	mov    -0x4(%eax,%esi,4),%esi
485b0a:	8b ce                	mov    %esi,%ecx
485b0c:	e8 86 3e f8 ff       	call   0x409997
485b11:	8b 46 08             	mov    0x8(%esi),%eax
485b14:	57                   	push   %edi
485b15:	8b 30                	mov    (%eax),%esi
485b17:	e8 20 d3 f9 ff       	call   0x422e3c
485b1c:	50                   	push   %eax
485b1d:	ff 75 dc             	push   -0x24(%ebp)
485b20:	56                   	push   %esi
485b21:	e8 7c dd f9 ff       	call   0x4238a2
485b26:	83 c4 10             	add    $0x10,%esp
485b29:	85 c0                	test   %eax,%eax
485b2b:	74 14                	je     0x485b41
485b2d:	8b 45 fc             	mov    -0x4(%ebp),%eax
485b30:	40                   	inc    %eax
485b31:	89 45 fc             	mov    %eax,-0x4(%ebp)
485b34:	3b 45 e8             	cmp    -0x18(%ebp),%eax
485b37:	77 49                	ja     0x485b82
485b39:	8b 75 f8             	mov    -0x8(%ebp),%esi
485b3c:	8b 7d f4             	mov    -0xc(%ebp),%edi
485b3f:	eb 91                	jmp    0x485ad2
485b41:	8b 7d f4             	mov    -0xc(%ebp),%edi
485b44:	ff 75 fc             	push   -0x4(%ebp)
485b47:	3b 7d f0             	cmp    -0x10(%ebp),%edi
485b4a:	75 0f                	jne    0x485b5b
485b4c:	8b 75 f8             	mov    -0x8(%ebp),%esi
485b4f:	56                   	push   %esi
485b50:	ff 15 c8 f5 48 00    	call   *0x48f5c8
485b56:	89 45 ec             	mov    %eax,-0x14(%ebp)
485b59:	eb 15                	jmp    0x485b70
485b5b:	ff 75 f8             	push   -0x8(%ebp)
485b5e:	ff 15 fc f4 48 00    	call   *0x48f4fc
485b64:	8b f0                	mov    %eax,%esi
485b66:	89 75 f8             	mov    %esi,-0x8(%ebp)
485b69:	85 f6                	test   %esi,%esi
485b6b:	74 15                	je     0x485b82
485b6d:	8b 45 ec             	mov    -0x14(%ebp),%eax
485b70:	47                   	inc    %edi
485b71:	89 7d f4             	mov    %edi,-0xc(%ebp)
485b74:	3b 7d f0             	cmp    -0x10(%ebp),%edi
485b77:	0f 86 3b ff ff ff    	jbe    0x485ab8
485b7d:	83 f8 ff             	cmp    $0xffffffff,%eax
485b80:	75 16                	jne    0x485b98
485b82:	8b 75 0c             	mov    0xc(%ebp),%esi
485b85:	8b ce                	mov    %esi,%ecx
485b87:	e8 94 3e f8 ff       	call   0x409a20
485b8c:	83 26 00             	andl   $0x0,(%esi)
485b8f:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
485b96:	eb 31                	jmp    0x485bc9
485b98:	8b 75 e4             	mov    -0x1c(%ebp),%esi
485b9b:	b2 01                	mov    $0x1,%dl
485b9d:	8b ce                	mov    %esi,%ecx
485b9f:	e8 d9 dc fd ff       	call   0x46387d
485ba4:	6a 00                	push   $0x0
485ba6:	ff 75 ec             	push   -0x14(%ebp)
485ba9:	68 11 01 00 00       	push   $0x111
485bae:	56                   	push   %esi
485baf:	ff 15 90 f6 48 00    	call   *0x48f690
485bb5:	32 d2                	xor    %dl,%dl
485bb7:	8b ce                	mov    %esi,%ecx
485bb9:	e8 bf dc fd ff       	call   0x46387d
485bbe:	8b 8b f4 02 00 00    	mov    0x2f4(%ebx),%ecx
485bc4:	e8 1d f9 fd ff       	call   0x4654e6
485bc9:	8b 45 e0             	mov    -0x20(%ebp),%eax
485bcc:	5f                   	pop    %edi
485bcd:	5e                   	pop    %esi
485bce:	5b                   	pop    %ebx
485bcf:	ff 08                	decl   (%eax)
485bd1:	75 10                	jne    0x485be3
485bd3:	50                   	push   %eax
485bd4:	e8 93 b4 f9 ff       	call   0x42106c
485bd9:	ff 75 dc             	push   -0x24(%ebp)
485bdc:	e8 8b b4 f9 ff       	call   0x42106c
485be1:	59                   	pop    %ecx
485be2:	59                   	pop    %ecx
485be3:	33 c0                	xor    %eax,%eax
485be5:	8b e5                	mov    %ebp,%esp
485be7:	5d                   	pop    %ebp
485be8:	c2 08 00             	ret    $0x8
485beb:	56                   	push   %esi
485bec:	6a 00                	push   $0x0
485bee:	68 94 a1 4b 00       	push   $0x4ba194
485bf3:	8b f1                	mov    %ecx,%esi
485bf5:	ff 15 e0 f5 48 00    	call   *0x48f5e0
485bfb:	6a 00                	push   $0x0
485bfd:	68 97 01 00 00       	push   $0x197
485c02:	68 11 01 00 00       	push   $0x111
485c07:	50                   	push   %eax
485c08:	ff 15 90 f6 48 00    	call   *0x48f690
485c0e:	8b 8e f4 02 00 00    	mov    0x2f4(%esi),%ecx
485c14:	e8 cd f8 fd ff       	call   0x4654e6
485c19:	33 c0                	xor    %eax,%eax
485c1b:	5e                   	pop    %esi
485c1c:	c2 08 00             	ret    $0x8
485c1f:	56                   	push   %esi
485c20:	6a 00                	push   $0x0
485c22:	68 a0 01 00 00       	push   $0x1a0
485c27:	68 11 01 00 00       	push   $0x111
485c2c:	6a 00                	push   $0x0
485c2e:	68 94 a1 4b 00       	push   $0x4ba194
485c33:	8b f1                	mov    %ecx,%esi
485c35:	ff 15 e0 f5 48 00    	call   *0x48f5e0
485c3b:	50                   	push   %eax
485c3c:	ff 15 90 f6 48 00    	call   *0x48f690
485c42:	8b 8e f4 02 00 00    	mov    0x2f4(%esi),%ecx
485c48:	e8 99 f8 fd ff       	call   0x4654e6
485c4d:	33 c0                	xor    %eax,%eax
485c4f:	5e                   	pop    %esi
485c50:	c2 08 00             	ret    $0x8
485c53:	55                   	push   %ebp
485c54:	8b ec                	mov    %esp,%ebp
485c56:	83 e4 f8             	and    $0xfffffff8,%esp
485c59:	83 ec 24             	sub    $0x24,%esp
485c5c:	53                   	push   %ebx
485c5d:	56                   	push   %esi
485c5e:	57                   	push   %edi
485c5f:	8b 7d 08             	mov    0x8(%ebp),%edi
485c62:	8b f1                	mov    %ecx,%esi
485c64:	57                   	push   %edi
485c65:	8b 5f 08             	mov    0x8(%edi),%ebx
485c68:	89 5c 24 18          	mov    %ebx,0x18(%esp)
485c6c:	e8 3c 5d f8 ff       	call   0x40b9ad
485c71:	6a 01                	push   $0x1
485c73:	8b ce                	mov    %esi,%ecx
485c75:	e8 c3 5c f8 ff       	call   0x40b93d
485c7a:	85 c0                	test   %eax,%eax
485c7c:	7f 2c                	jg     0x485caa
485c7e:	79 11                	jns    0x485c91
485c80:	f7 d8                	neg    %eax
485c82:	6a 00                	push   $0x0
485c84:	50                   	push   %eax
485c85:	8b 06                	mov    (%esi),%eax
485c87:	8b 48 04             	mov    0x4(%eax),%ecx
485c8a:	03 ce                	add    %esi,%ecx
485c8c:	e8 12 0e fd ff       	call   0x456aa3
485c91:	8b 75 0c             	mov    0xc(%ebp),%esi
485c94:	8b ce                	mov    %esi,%ecx
485c96:	e8 85 3d f8 ff       	call   0x409a20
485c9b:	83 26 00             	andl   $0x0,(%esi)
485c9e:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
485ca5:	e9 a7 01 00 00       	jmp    0x485e51
485caa:	8b 86 f0 01 00 00    	mov    0x1f0(%esi),%eax
485cb0:	6a f0                	push   $0xfffffff0
485cb2:	ff 30                	push   (%eax)
485cb4:	ff 15 5c f6 48 00    	call   *0x48f65c
485cba:	8b 8e f0 01 00 00    	mov    0x1f0(%esi),%ecx
485cc0:	a9 00 00 00 40       	test   $0x40000000,%eax
485cc5:	8d 44 24 20          	lea    0x20(%esp),%eax
485cc9:	74 04                	je     0x485ccf
485ccb:	6a 01                	push   $0x1
485ccd:	eb 02                	jmp    0x485cd1
485ccf:	6a 00                	push   $0x0
485cd1:	50                   	push   %eax
485cd2:	e8 93 52 fd ff       	call   0x45af6a
485cd7:	83 fb 05             	cmp    $0x5,%ebx
485cda:	72 1e                	jb     0x485cfa
485cdc:	8b 47 04             	mov    0x4(%edi),%eax
485cdf:	6a 29                	push   $0x29
485ce1:	8b 58 10             	mov    0x10(%eax),%ebx
485ce4:	8b cb                	mov    %ebx,%ecx
485ce6:	e8 c3 40 f8 ff       	call   0x409dae
485ceb:	84 c0                	test   %al,%al
485ced:	75 0b                	jne    0x485cfa
485cef:	8b cb                	mov    %ebx,%ecx
485cf1:	e8 a6 3f f8 ff       	call   0x409c9c
485cf6:	8b d8                	mov    %eax,%ebx
485cf8:	eb 08                	jmp    0x485d02
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