458aec:	ff 75 08             	push   0x8(%ebp)
458aef:	8b cf                	mov    %edi,%ecx
458af1:	89 75 f8             	mov    %esi,-0x8(%ebp)
458af4:	89 45 fc             	mov    %eax,-0x4(%ebp)
458af7:	e8 fc f9 ff ff       	call   0x4584f8
458afc:	53                   	push   %ebx
458afd:	ff 75 08             	push   0x8(%ebp)
458b00:	8d 45 e8             	lea    -0x18(%ebp),%eax
458b03:	50                   	push   %eax
458b04:	8b cf                	mov    %edi,%ecx
458b06:	e8 fb fd ff ff       	call   0x458906
458b0b:	8b 18                	mov    (%eax),%ebx
458b0d:	3b f3                	cmp    %ebx,%esi
458b0f:	8b 40 04             	mov    0x4(%eax),%eax
458b12:	89 5d f0             	mov    %ebx,-0x10(%ebp)
458b15:	89 45 f4             	mov    %eax,-0xc(%ebp)
458b18:	0f 8d 8f 00 00 00    	jge    0x458bad
458b1e:	eb 03                	jmp    0x458b23
458b20:	8b 75 f8             	mov    -0x8(%ebp),%esi
458b23:	8d 04 1e             	lea    (%esi,%ebx,1),%eax
458b26:	99                   	cltd
458b27:	2b c2                	sub    %edx,%eax
458b29:	d1 f8                	sar    $1,%eax
458b2b:	50                   	push   %eax
458b2c:	ff 75 0c             	push   0xc(%ebp)
458b2f:	8b cf                	mov    %edi,%ecx
458b31:	ff 75 08             	push   0x8(%ebp)
458b34:	e8 bf f9 ff ff       	call   0x4584f8
458b39:	ff 75 0c             	push   0xc(%ebp)
458b3c:	8d 45 e8             	lea    -0x18(%ebp),%eax
458b3f:	ff 75 08             	push   0x8(%ebp)
458b42:	8b cf                	mov    %edi,%ecx
458b44:	50                   	push   %eax
458b45:	e8 bc fd ff ff       	call   0x458906
458b4a:	8b f0                	mov    %eax,%esi
458b4c:	8b 06                	mov    (%esi),%eax
458b4e:	89 45 e0             	mov    %eax,-0x20(%ebp)
458b51:	8b 46 04             	mov    0x4(%esi),%eax
458b54:	39 45 10             	cmp    %eax,0x10(%ebp)
458b57:	7d 1c                	jge    0x458b75
458b59:	50                   	push   %eax
458b5a:	ff 36                	push   (%esi)
458b5c:	8d 4d f8             	lea    -0x8(%ebp),%ecx
458b5f:	e8 51 ca fb ff       	call   0x4155b5
458b64:	85 c0                	test   %eax,%eax
458b66:	75 32                	jne    0x458b9a
458b68:	8b 06                	mov    (%esi),%eax
458b6a:	89 45 f8             	mov    %eax,-0x8(%ebp)
458b6d:	8b 46 04             	mov    0x4(%esi),%eax
458b70:	89 45 fc             	mov    %eax,-0x4(%ebp)
458b73:	eb 1e                	jmp    0x458b93
458b75:	7e 36                	jle    0x458bad
458b77:	ff 76 04             	push   0x4(%esi)
458b7a:	8d 4d f0             	lea    -0x10(%ebp),%ecx
458b7d:	ff 36                	push   (%esi)
458b7f:	e8 31 ca fb ff       	call   0x4155b5
458b84:	85 c0                	test   %eax,%eax
458b86:	75 15                	jne    0x458b9d
458b88:	8b 1e                	mov    (%esi),%ebx
458b8a:	8b 46 04             	mov    0x4(%esi),%eax
458b8d:	89 5d f0             	mov    %ebx,-0x10(%ebp)
458b90:	89 45 f4             	mov    %eax,-0xc(%ebp)
458b93:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
458b96:	7c 88                	jl     0x458b20
458b98:	eb 13                	jmp    0x458bad
458b9a:	53                   	push   %ebx
458b9b:	eb 03                	jmp    0x458ba0
458b9d:	ff 75 f8             	push   -0x8(%ebp)
458ba0:	ff 75 0c             	push   0xc(%ebp)
458ba3:	8b cf                	mov    %edi,%ecx
458ba5:	ff 75 08             	push   0x8(%ebp)
458ba8:	e8 4b f9 ff ff       	call   0x4584f8
458bad:	5f                   	pop    %edi
458bae:	5e                   	pop    %esi
458baf:	5b                   	pop    %ebx
458bb0:	c9                   	leave
458bb1:	c2 10 00             	ret    $0x10
458bb4:	8b c1                	mov    %ecx,%eax
458bb6:	c3                   	ret
458bb7:	55                   	push   %ebp
458bb8:	8b ec                	mov    %esp,%ebp
458bba:	83 ec 2c             	sub    $0x2c,%esp
458bbd:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
458bc2:	56                   	push   %esi
458bc3:	89 45 fc             	mov    %eax,-0x4(%ebp)
458bc6:	8d 45 e8             	lea    -0x18(%ebp),%eax
458bc9:	50                   	push   %eax
458bca:	ff 75 08             	push   0x8(%ebp)
458bcd:	8b f1                	mov    %ecx,%esi
458bcf:	e8 4f f8 ff ff       	call   0x458423
458bd4:	6a 14                	push   $0x14
458bd6:	8d 45 e8             	lea    -0x18(%ebp),%eax
458bd9:	50                   	push   %eax
458bda:	8d 45 d4             	lea    -0x2c(%ebp),%eax
458bdd:	50                   	push   %eax
458bde:	e8 8d ec fb ff       	call   0x417870
458be3:	8b 45 0c             	mov    0xc(%ebp),%eax
458be6:	89 45 ec             	mov    %eax,-0x14(%ebp)
458be9:	8b 45 14             	mov    0x14(%ebp),%eax
458bec:	89 45 e8             	mov    %eax,-0x18(%ebp)
458bef:	8b 45 10             	mov    0x10(%ebp),%eax
458bf2:	88 45 f1             	mov    %al,-0xf(%ebp)
458bf5:	c1 e8 10             	shr    $0x10,%eax
458bf8:	88 45 f0             	mov    %al,-0x10(%ebp)
458bfb:	6a 14                	push   $0x14
458bfd:	8d 45 e8             	lea    -0x18(%ebp),%eax
458c00:	50                   	push   %eax
458c01:	8d 45 d4             	lea    -0x2c(%ebp),%eax
458c04:	50                   	push   %eax
458c05:	e8 96 fd fb ff       	call   0x4189a0
458c0a:	83 c4 18             	add    $0x18,%esp
458c0d:	85 c0                	test   %eax,%eax
458c0f:	74 18                	je     0x458c29
458c11:	8d 45 e8             	lea    -0x18(%ebp),%eax
458c14:	50                   	push   %eax
458c15:	ff 75 08             	push   0x8(%ebp)
458c18:	8b ce                	mov    %esi,%ecx
458c1a:	e8 0d fb ff ff       	call   0x45872c
458c1f:	c7 86 9c 00 00 00 01 	movl   $0x1,0x9c(%esi)
458c26:	00 00 00
458c29:	8b 4d fc             	mov    -0x4(%ebp),%ecx
458c2c:	5e                   	pop    %esi
458c2d:	e8 ac ef fb ff       	call   0x417bde
458c32:	c9                   	leave
458c33:	c2 10 00             	ret    $0x10
458c36:	55                   	push   %ebp
458c37:	8b ec                	mov    %esp,%ebp
458c39:	83 ec 28             	sub    $0x28,%esp
458c3c:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
458c41:	53                   	push   %ebx
458c42:	8b 5d 10             	mov    0x10(%ebp),%ebx
458c45:	56                   	push   %esi
458c46:	53                   	push   %ebx
458c47:	ff 75 0c             	push   0xc(%ebp)
458c4a:	89 45 fc             	mov    %eax,-0x4(%ebp)
458c4d:	ff 75 08             	push   0x8(%ebp)
458c50:	8b f1                	mov    %ecx,%esi
458c52:	e8 e7 a5 fe ff       	call   0x44323e
458c57:	83 f8 ff             	cmp    $0xffffffff,%eax
458c5a:	0f 85 a7 00 00 00    	jne    0x458d07
458c60:	8b 06                	mov    (%esi),%eax
458c62:	57                   	push   %edi
458c63:	33 ff                	xor    %edi,%edi
458c65:	57                   	push   %edi
458c66:	57                   	push   %edi
458c67:	68 18 04 00 00       	push   $0x418
458c6c:	8b ce                	mov    %esi,%ecx
458c6e:	ff 90 10 01 00 00    	call   *0x110(%eax)
458c74:	85 c0                	test   %eax,%eax
458c76:	89 45 10             	mov    %eax,0x10(%ebp)
458c79:	0f 8e 84 00 00 00    	jle    0x458d03
458c7f:	8b 06                	mov    (%esi),%eax
458c81:	8d 4d d8             	lea    -0x28(%ebp),%ecx
458c84:	51                   	push   %ecx
458c85:	57                   	push   %edi
458c86:	68 1d 04 00 00       	push   $0x41d
458c8b:	8b ce                	mov    %esi,%ecx
458c8d:	ff 90 10 01 00 00    	call   *0x110(%eax)
458c93:	85 c0                	test   %eax,%eax
458c95:	74 38                	je     0x458ccf
458c97:	ff 75 0c             	push   0xc(%ebp)
458c9a:	ff 45 e4             	incl   -0x1c(%ebp)
458c9d:	ff 75 08             	push   0x8(%ebp)
458ca0:	ff 45 e0             	incl   -0x20(%ebp)
458ca3:	8d 45 d8             	lea    -0x28(%ebp),%eax
458ca6:	50                   	push   %eax
458ca7:	ff 15 48 07 4b 00    	call   *0x4b0748
458cad:	85 c0                	test   %eax,%eax
458caf:	74 1e                	je     0x458ccf
458cb1:	8b 06                	mov    (%esi),%eax
458cb3:	8d 4d e8             	lea    -0x18(%ebp),%ecx
458cb6:	51                   	push   %ecx
458cb7:	57                   	push   %edi
458cb8:	68 17 04 00 00       	push   $0x417
458cbd:	8b ce                	mov    %esi,%ecx
458cbf:	ff 90 10 01 00 00    	call   *0x110(%eax)
458cc5:	85 c0                	test   %eax,%eax
458cc7:	74 06                	je     0x458ccf
458cc9:	f6 45 f1 01          	testb  $0x1,-0xf(%ebp)
458ccd:	74 08                	je     0x458cd7
458ccf:	47                   	inc    %edi
458cd0:	3b 7d 10             	cmp    0x10(%ebp),%edi
458cd3:	7c aa                	jl     0x458c7f
458cd5:	eb 2c                	jmp    0x458d03
458cd7:	57                   	push   %edi
458cd8:	8b ce                	mov    %esi,%ecx
458cda:	e8 79 f7 ff ff       	call   0x458458
458cdf:	85 db                	test   %ebx,%ebx
458ce1:	74 1c                	je     0x458cff
458ce3:	83 3b 28             	cmpl   $0x28,(%ebx)
458ce6:	72 17                	jb     0x458cff
458ce8:	8b 4e 1c             	mov    0x1c(%esi),%ecx
458ceb:	83 4b 24 ff          	orl    $0xffffffff,0x24(%ebx)
458cef:	8d 7b 10             	lea    0x10(%ebx),%edi
458cf2:	8d 75 d8             	lea    -0x28(%ebp),%esi
458cf5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
458cf6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
458cf7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
458cf8:	89 4b 08             	mov    %ecx,0x8(%ebx)
458cfb:	a5                   	movsl  %ds:(%esi),%es:(%edi)
458cfc:	89 43 0c             	mov    %eax,0xc(%ebx)
458cff:	85 c0                	test   %eax,%eax
458d01:	75 03                	jne    0x458d06
458d03:	83 c8 ff             	or     $0xffffffff,%eax
458d06:	5f                   	pop    %edi
458d07:	8b 4d fc             	mov    -0x4(%ebp),%ecx
458d0a:	5e                   	pop    %esi
458d0b:	5b                   	pop    %ebx
458d0c:	e8 cd ee fb ff       	call   0x417bde
458d11:	c9                   	leave
458d12:	c2 0c 00             	ret    $0xc
458d15:	55                   	push   %ebp
458d16:	8b ec                	mov    %esp,%ebp
458d18:	83 ec 10             	sub    $0x10,%esp
458d1b:	56                   	push   %esi
458d1c:	8d 45 f0             	lea    -0x10(%ebp),%eax
458d1f:	50                   	push   %eax
458d20:	8b f1                	mov    %ecx,%esi
458d22:	ff 15 3c 08 4b 00    	call   *0x4b083c
458d28:	8b 46 7c             	mov    0x7c(%esi),%eax
458d2b:	25 00 a0 00 00       	and    $0xa000,%eax
458d30:	f7 d8                	neg    %eax
458d32:	1b c0                	sbb    %eax,%eax
458d34:	f7 d8                	neg    %eax
458d36:	50                   	push   %eax
458d37:	8d 45 f0             	lea    -0x10(%ebp),%eax
458d3a:	50                   	push   %eax
458d3b:	8b ce                	mov    %esi,%ecx
458d3d:	e8 b5 10 00 00       	call   0x459df7
458d42:	8b 45 0c             	mov    0xc(%ebp),%eax
458d45:	8b 4d f0             	mov    -0x10(%ebp),%ecx
458d48:	01 08                	add    %ecx,(%eax)
458d4a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
458d4d:	01 48 04             	add    %ecx,0x4(%eax)
458d50:	81 3d 58 85 4a 00 47 	cmpl   $0x40047,0x4a8558
458d57:	00 04 00
458d5a:	8b 48 04             	mov    0x4(%eax),%ecx
458d5d:	5e                   	pop    %esi
458d5e:	7d 06                	jge    0x458d66
458d60:	83 c1 fe             	add    $0xfffffffe,%ecx
458d63:	89 48 04             	mov    %ecx,0x4(%eax)
458d66:	8b 4d f8             	mov    -0x8(%ebp),%ecx
458d69:	01 48 08             	add    %ecx,0x8(%eax)
458d6c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
458d6f:	01 48 0c             	add    %ecx,0xc(%eax)
458d72:	c9                   	leave
458d73:	c2 08 00             	ret    $0x8
458d76:	53                   	push   %ebx
458d77:	56                   	push   %esi
458d78:	8b f1                	mov    %ecx,%esi
458d7a:	8b 5e 7c             	mov    0x7c(%esi),%ebx
458d7d:	57                   	push   %edi
458d7e:	8b 7c 24 10          	mov    0x10(%esp),%edi
458d82:	8b c3                	mov    %ebx,%eax
458d84:	25 ff f0 ff ff       	and    $0xfffff0ff,%eax
458d89:	57                   	push   %edi
458d8a:	89 46 7c             	mov    %eax,0x7c(%esi)
458d8d:	e8 a0 13 00 00       	call   0x45a132
458d92:	f6 c3 04             	test   $0x4,%bl
458d95:	89 5e 7c             	mov    %ebx,0x7c(%esi)
458d98:	74 13                	je     0x458dad
458d9a:	f6 47 18 01          	testb  $0x1,0x18(%edi)
458d9e:	75 0d                	jne    0x458dad
458da0:	6a 01                	push   $0x1
458da2:	6a 00                	push   $0x0
458da4:	ff 76 1c             	push   0x1c(%esi)
458da7:	ff 15 14 06 4b 00    	call   *0x4b0614
458dad:	5f                   	pop    %edi
458dae:	5e                   	pop    %esi
458daf:	5b                   	pop    %ebx
458db0:	c2 04 00             	ret    $0x4
458db3:	55                   	push   %ebp
458db4:	8b ec                	mov    %esp,%ebp
458db6:	51                   	push   %ecx
458db7:	53                   	push   %ebx
458db8:	56                   	push   %esi
458db9:	57                   	push   %edi
458dba:	33 ff                	xor    %edi,%edi
458dbc:	33 db                	xor    %ebx,%ebx
458dbe:	81 3d 58 85 4a 00 47 	cmpl   $0x40047,0x4a8558
458dc5:	00 04 00
458dc8:	8b f1                	mov    %ecx,%esi
458dca:	7c 17                	jl     0x458de3
458dcc:	e8 75 7e fe ff       	call   0x440c46
458dd1:	57                   	push   %edi
458dd2:	68 00 88 00 00       	push   $0x8800
458dd7:	57                   	push   %edi
458dd8:	8b ce                	mov    %esi,%ecx
458dda:	8b d8                	mov    %eax,%ebx
458ddc:	e8 99 7e fe ff       	call   0x440c7a
458de1:	8b f8                	mov    %eax,%edi
458de3:	8b ce                	mov    %esi,%ecx
458de5:	e8 15 be fe ff       	call   0x444bff
458dea:	85 c0                	test   %eax,%eax
458dec:	89 45 fc             	mov    %eax,-0x4(%ebp)
458def:	74 14                	je     0x458e05
458df1:	8b 45 0c             	mov    0xc(%ebp),%eax
458df4:	8b 55 08             	mov    0x8(%ebp),%edx
458df7:	0f bf c8             	movswl %ax,%ecx
458dfa:	c1 e8 10             	shr    $0x10,%eax
458dfd:	0f bf c0             	movswl %ax,%eax
458e00:	89 0a                	mov    %ecx,(%edx)
458e02:	89 42 04             	mov    %eax,0x4(%edx)
458e05:	85 ff                	test   %edi,%edi
458e07:	74 0c                	je     0x458e15
458e09:	53                   	push   %ebx
458e0a:	6a f0                	push   $0xfffffff0
458e0c:	ff 76 1c             	push   0x1c(%esi)
458e0f:	ff 15 08 08 4b 00    	call   *0x4b0808
458e15:	8b 45 fc             	mov    -0x4(%ebp),%eax
458e18:	5f                   	pop    %edi
458e19:	5e                   	pop    %esi
458e1a:	5b                   	pop    %ebx
458e1b:	c9                   	leave
458e1c:	c2 08 00             	ret    $0x8
458e1f:	56                   	push   %esi
458e20:	8b f1                	mov    %ecx,%esi
458e22:	57                   	push   %edi
458e23:	8b 7e 14             	mov    0x14(%esi),%edi
458e26:	ff 76 08             	push   0x8(%esi)
458e29:	8b cf                	mov    %edi,%ecx
458e2b:	c7 46 18 01 00 00 00 	movl   $0x1,0x18(%esi)
458e32:	e8 8e f6 ff ff       	call   0x4584c5
458e37:	25 ff ff fb ff       	and    $0xfffbffff,%eax
458e3c:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
458e41:	75 0a                	jne    0x458e4d
458e43:	25 ff ff fd ff       	and    $0xfffdffff,%eax
458e48:	0d 00 00 04 00       	or     $0x40000,%eax
458e4d:	50                   	push   %eax
458e4e:	ff 76 08             	push   0x8(%esi)
458e51:	8b cf                	mov    %edi,%ecx
458e53:	e8 51 fa ff ff       	call   0x4588a9
458e58:	5f                   	pop    %edi
458e59:	5e                   	pop    %esi
458e5a:	c2 04 00             	ret    $0x4
458e5d:	56                   	push   %esi
458e5e:	8b f1                	mov    %ecx,%esi
458e60:	57                   	push   %edi
458e61:	8b 7e 14             	mov    0x14(%esi),%edi
458e64:	ff 76 08             	push   0x8(%esi)
458e67:	8b cf                	mov    %edi,%ecx
458e69:	e8 57 f6 ff ff       	call   0x4584c5
458e6e:	25 ff ff ee ff       	and    $0xffeeffff,%eax
458e73:	83 7c 24 0c 01       	cmpl   $0x1,0xc(%esp)
458e78:	75 07                	jne    0x458e81
458e7a:	0d 00 00 01 00       	or     $0x10000,%eax
458e7f:	eb 0c                	jmp    0x458e8d
458e81:	83 7c 24 0c 02       	cmpl   $0x2,0xc(%esp)
458e86:	75 05                	jne    0x458e8d
458e88:	0d 00 00 10 00       	or     $0x100000,%eax