459aca:	89 75 fc             	mov    %esi,-0x4(%ebp)
459acd:	e8 0e c8 fb ff       	call   0x4162e0
459ad2:	33 db                	xor    %ebx,%ebx
459ad4:	53                   	push   %ebx
459ad5:	53                   	push   %ebx
459ad6:	68 06 04 00 00       	push   $0x406
459adb:	ff 36                	push   (%esi)
459add:	ff 15 88 f6 48 00    	call   *0x48f688
459ae3:	39 5d 08             	cmp    %ebx,0x8(%ebp)
459ae6:	7c 53                	jl     0x459b3b
459ae8:	39 45 08             	cmp    %eax,0x8(%ebp)
459aeb:	7d 4e                	jge    0x459b3b
459aed:	ff 36                	push   (%esi)
459aef:	bb 00 08 00 00       	mov    $0x800,%ebx
459af4:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
459afa:	53                   	push   %ebx
459afb:	e8 ee 7d 00 00       	call   0x4618ee
459b00:	8b f0                	mov    %eax,%esi
459b02:	8b 45 fc             	mov    -0x4(%ebp),%eax
459b05:	56                   	push   %esi
459b06:	ff 75 08             	push   0x8(%ebp)
459b09:	68 0d 04 00 00       	push   $0x40d
459b0e:	ff 30                	push   (%eax)
459b10:	ff 15 88 f6 48 00    	call   *0x48f688
459b16:	53                   	push   %ebx
459b17:	8d 85 78 f7 ff ff    	lea    -0x888(%ebp),%eax
459b1d:	50                   	push   %eax
459b1e:	56                   	push   %esi
459b1f:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
459b25:	e8 6d 7e 00 00       	call   0x461997
459b2a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
459b2d:	8d 85 78 f7 ff ff    	lea    -0x888(%ebp),%eax
459b33:	50                   	push   %eax
459b34:	e8 f3 e1 fa ff       	call   0x407d2c
459b39:	b3 01                	mov    $0x1,%bl
459b3b:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
459b41:	e8 7f c7 fb ff       	call   0x4162c5
459b46:	5e                   	pop    %esi
459b47:	8a c3                	mov    %bl,%al
459b49:	5b                   	pop    %ebx
459b4a:	8b e5                	mov    %ebp,%esp
459b4c:	5d                   	pop    %ebp
459b4d:	c2 08 00             	ret    $0x8
459b50:	55                   	push   %ebp
459b51:	8b ec                	mov    %esp,%ebp
459b53:	51                   	push   %ecx
459b54:	53                   	push   %ebx
459b55:	56                   	push   %esi
459b56:	8b f1                	mov    %ecx,%esi
459b58:	57                   	push   %edi
459b59:	6a 01                	push   $0x1
459b5b:	89 75 fc             	mov    %esi,-0x4(%ebp)
459b5e:	ff 36                	push   (%esi)
459b60:	e8 f2 12 00 00       	call   0x45ae57
459b65:	8b 3d 8c f6 48 00    	mov    0x48f68c,%edi
459b6b:	33 db                	xor    %ebx,%ebx
459b6d:	53                   	push   %ebx
459b6e:	6a 25                	push   $0x25
459b70:	ff d7                	call   *%edi
459b72:	c1 e0 10             	shl    $0x10,%eax
459b75:	83 c8 01             	or     $0x1,%eax
459b78:	50                   	push   %eax
459b79:	39 5d 08             	cmp    %ebx,0x8(%ebp)
459b7c:	7d 2a                	jge    0x459ba8
459b7e:	6a 25                	push   $0x25
459b80:	68 00 01 00 00       	push   $0x100
459b85:	ff 36                	push   (%esi)
459b87:	8b 35 90 f6 48 00    	mov    0x48f690,%esi
459b8d:	ff d6                	call   *%esi
459b8f:	53                   	push   %ebx
459b90:	ff 15 7c f1 48 00    	call   *0x48f17c
459b96:	53                   	push   %ebx
459b97:	6a 25                	push   $0x25
459b99:	ff d7                	call   *%edi
459b9b:	c1 e0 10             	shl    $0x10,%eax
459b9e:	0d 01 00 00 c0       	or     $0xc0000001,%eax
459ba3:	50                   	push   %eax
459ba4:	6a 25                	push   $0x25
459ba6:	eb 28                	jmp    0x459bd0
459ba8:	6a 27                	push   $0x27
459baa:	68 00 01 00 00       	push   $0x100
459baf:	ff 36                	push   (%esi)
459bb1:	8b 35 90 f6 48 00    	mov    0x48f690,%esi
459bb7:	ff d6                	call   *%esi
459bb9:	53                   	push   %ebx
459bba:	ff 15 7c f1 48 00    	call   *0x48f17c
459bc0:	53                   	push   %ebx
459bc1:	6a 25                	push   $0x25
459bc3:	ff d7                	call   *%edi
459bc5:	c1 e0 10             	shl    $0x10,%eax
459bc8:	0d 01 00 00 c0       	or     $0xc0000001,%eax
459bcd:	50                   	push   %eax
459bce:	6a 27                	push   $0x27
459bd0:	8b 7d fc             	mov    -0x4(%ebp),%edi
459bd3:	68 01 01 00 00       	push   $0x101
459bd8:	ff 37                	push   (%edi)
459bda:	ff d6                	call   *%esi
459bdc:	53                   	push   %ebx
459bdd:	ff 15 7c f1 48 00    	call   *0x48f17c
459be3:	53                   	push   %ebx
459be4:	ff 37                	push   (%edi)
459be6:	e8 6c 12 00 00       	call   0x45ae57
459beb:	5f                   	pop    %edi
459bec:	5e                   	pop    %esi
459bed:	b0 01                	mov    $0x1,%al
459bef:	5b                   	pop    %ebx
459bf0:	8b e5                	mov    %ebp,%esp
459bf2:	5d                   	pop    %ebp
459bf3:	c2 04 00             	ret    $0x4
459bf6:	55                   	push   %ebp
459bf7:	8b ec                	mov    %esp,%ebp
459bf9:	6a 00                	push   $0x0
459bfb:	6a 00                	push   $0x0
459bfd:	68 0b 13 00 00       	push   $0x130b
459c02:	ff 31                	push   (%ecx)
459c04:	ff 15 88 f6 48 00    	call   *0x48f688
459c0a:	8b 4d 08             	mov    0x8(%ebp),%ecx
459c0d:	89 01                	mov    %eax,(%ecx)
459c0f:	83 f8 ff             	cmp    $0xffffffff,%eax
459c12:	75 04                	jne    0x459c18
459c14:	32 c0                	xor    %al,%al
459c16:	eb 05                	jmp    0x459c1d
459c18:	40                   	inc    %eax
459c19:	89 01                	mov    %eax,(%ecx)
459c1b:	b0 01                	mov    $0x1,%al
459c1d:	5d                   	pop    %ebp
459c1e:	c2 04 00             	ret    $0x4
459c21:	55                   	push   %ebp
459c22:	8b ec                	mov    %esp,%ebp
459c24:	51                   	push   %ecx
459c25:	51                   	push   %ecx
459c26:	56                   	push   %esi
459c27:	57                   	push   %edi
459c28:	ff 75 08             	push   0x8(%ebp)
459c2b:	8b f1                	mov    %ecx,%esi
459c2d:	e8 fc 01 00 00       	call   0x459e2e
459c32:	8b f8                	mov    %eax,%edi
459c34:	85 ff                	test   %edi,%edi
459c36:	74 56                	je     0x459c8e
459c38:	68 00 f0 00 00       	push   $0xf000
459c3d:	57                   	push   %edi
459c3e:	68 27 11 00 00       	push   $0x1127
459c43:	ff 36                	push   (%esi)
459c45:	ff 15 88 f6 48 00    	call   *0x48f688
459c4b:	c1 e8 0c             	shr    $0xc,%eax
459c4e:	48                   	dec    %eax
459c4f:	83 f8 ff             	cmp    $0xffffffff,%eax
459c52:	74 3a                	je     0x459c8e
459c54:	8a 4d 0c             	mov    0xc(%ebp),%cl
459c57:	84 c9                	test   %cl,%cl
459c59:	75 04                	jne    0x459c5f
459c5b:	85 c0                	test   %eax,%eax
459c5d:	74 2f                	je     0x459c8e
459c5f:	80 f9 01             	cmp    $0x1,%cl
459c62:	75 05                	jne    0x459c69
459c64:	83 f8 01             	cmp    $0x1,%eax
459c67:	74 25                	je     0x459c8e
459c69:	8d 45 f8             	lea    -0x8(%ebp),%eax
459c6c:	8b ce                	mov    %esi,%ecx
459c6e:	50                   	push   %eax
459c6f:	57                   	push   %edi
459c70:	e8 62 00 00 00       	call   0x459cd7
459c75:	84 c0                	test   %al,%al
459c77:	74 15                	je     0x459c8e
459c79:	ff 75 fc             	push   -0x4(%ebp)
459c7c:	8b ce                	mov    %esi,%ecx
459c7e:	ff 75 f8             	push   -0x8(%ebp)
459c81:	6a 01                	push   $0x1
459c83:	6a 00                	push   $0x0
459c85:	e8 77 f2 ff ff       	call   0x458f01
459c8a:	b0 01                	mov    $0x1,%al
459c8c:	eb 02                	jmp    0x459c90
459c8e:	32 c0                	xor    %al,%al
459c90:	5f                   	pop    %edi
459c91:	5e                   	pop    %esi
459c92:	8b e5                	mov    %ebp,%esp
459c94:	5d                   	pop    %ebp
459c95:	c2 08 00             	ret    $0x8
459c98:	55                   	push   %ebp
459c99:	8b ec                	mov    %esp,%ebp
459c9b:	51                   	push   %ecx
459c9c:	56                   	push   %esi
459c9d:	ff 75 08             	push   0x8(%ebp)
459ca0:	8b f1                	mov    %ecx,%esi
459ca2:	e8 87 01 00 00       	call   0x459e2e
459ca7:	8b c8                	mov    %eax,%ecx
459ca9:	85 c9                	test   %ecx,%ecx
459cab:	75 04                	jne    0x459cb1
459cad:	32 c0                	xor    %al,%al
459caf:	eb 20                	jmp    0x459cd1
459cb1:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
459cb5:	6a 02                	push   $0x2
459cb7:	58                   	pop    %eax
459cb8:	75 03                	jne    0x459cbd
459cba:	33 c0                	xor    %eax,%eax
459cbc:	40                   	inc    %eax
459cbd:	51                   	push   %ecx
459cbe:	50                   	push   %eax
459cbf:	68 02 11 00 00       	push   $0x1102
459cc4:	ff 36                	push   (%esi)
459cc6:	ff 15 88 f6 48 00    	call   *0x48f688
459ccc:	85 c0                	test   %eax,%eax
459cce:	0f 95 c0             	setne  %al
459cd1:	5e                   	pop    %esi
459cd2:	59                   	pop    %ecx
459cd3:	5d                   	pop    %ebp
459cd4:	c2 08 00             	ret    $0x8
459cd7:	55                   	push   %ebp
459cd8:	8b ec                	mov    %esp,%ebp
459cda:	81 ec ac 00 00 00    	sub    $0xac,%esp
459ce0:	53                   	push   %ebx
459ce1:	56                   	push   %esi
459ce2:	57                   	push   %edi
459ce3:	8b f9                	mov    %ecx,%edi
459ce5:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
459ceb:	89 7d fc             	mov    %edi,-0x4(%ebp)
459cee:	e8 ed c5 fb ff       	call   0x4162e0
459cf3:	ff 37                	push   (%edi)
459cf5:	8b 45 08             	mov    0x8(%ebp),%eax
459cf8:	6a 10                	push   $0x10
459cfa:	89 45 ec             	mov    %eax,-0x14(%ebp)
459cfd:	e8 ec 7b 00 00       	call   0x4618ee
459d02:	8b f0                	mov    %eax,%esi
459d04:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
459d0a:	6a 10                	push   $0x10
459d0c:	56                   	push   %esi
459d0d:	8d 45 ec             	lea    -0x14(%ebp),%eax
459d10:	50                   	push   %eax
459d11:	e8 b6 7c 00 00       	call   0x4619cc
459d16:	56                   	push   %esi
459d17:	33 db                	xor    %ebx,%ebx
459d19:	53                   	push   %ebx
459d1a:	68 04 11 00 00       	push   $0x1104
459d1f:	ff 37                	push   (%edi)
459d21:	ff 15 88 f6 48 00    	call   *0x48f688
459d27:	6a 10                	push   $0x10
459d29:	8d 45 ec             	lea    -0x14(%ebp),%eax
459d2c:	50                   	push   %eax
459d2d:	56                   	push   %esi
459d2e:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
459d34:	e8 5e 7c 00 00       	call   0x461997
459d39:	8b 45 f8             	mov    -0x8(%ebp),%eax
459d3c:	2b 45 f0             	sub    -0x10(%ebp),%eax
459d3f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
459d42:	ff 37                	push   (%edi)
459d44:	8b 75 ec             	mov    -0x14(%ebp),%esi
459d47:	99                   	cltd
459d48:	2b c2                	sub    %edx,%eax
459d4a:	d1 f8                	sar    $1,%eax
459d4c:	03 45 f0             	add    -0x10(%ebp),%eax
459d4f:	89 41 04             	mov    %eax,0x4(%ecx)
459d52:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
459d58:	6a 10                	push   $0x10
459d5a:	89 45 e0             	mov    %eax,-0x20(%ebp)
459d5d:	e8 8c 7b 00 00       	call   0x4618ee
459d62:	8b f8                	mov    %eax,%edi
459d64:	3b 75 f4             	cmp    -0xc(%ebp),%esi
459d67:	0f 8f ab 00 00 00    	jg     0x459e18
459d6d:	6a 10                	push   $0x10
459d6f:	57                   	push   %edi
459d70:	8d 45 dc             	lea    -0x24(%ebp),%eax
459d73:	89 75 dc             	mov    %esi,-0x24(%ebp)
459d76:	50                   	push   %eax
459d77:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
459d7d:	e8 4a 7c 00 00       	call   0x4619cc
459d82:	8b 45 fc             	mov    -0x4(%ebp),%eax
459d85:	57                   	push   %edi
459d86:	53                   	push   %ebx
459d87:	68 11 11 00 00       	push   $0x1111
459d8c:	ff 30                	push   (%eax)
459d8e:	ff 15 88 f6 48 00    	call   *0x48f688
459d94:	6a 10                	push   $0x10
459d96:	8d 45 dc             	lea    -0x24(%ebp),%eax
459d99:	50                   	push   %eax
459d9a:	57                   	push   %edi
459d9b:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
459da1:	e8 f1 7b 00 00       	call   0x461997
459da6:	f6 45 e4 40          	testb  $0x40,-0x1c(%ebp)
459daa:	75 06                	jne    0x459db2
459dac:	46                   	inc    %esi
459dad:	3b 75 f4             	cmp    -0xc(%ebp),%esi
459db0:	7e bb                	jle    0x459d6d
459db2:	3b 75 f4             	cmp    -0xc(%ebp),%esi
459db5:	7f 61                	jg     0x459e18
459db7:	89 75 08             	mov    %esi,0x8(%ebp)
459dba:	6a 10                	push   $0x10
459dbc:	57                   	push   %edi
459dbd:	8d 45 dc             	lea    -0x24(%ebp),%eax
459dc0:	89 75 dc             	mov    %esi,-0x24(%ebp)
459dc3:	50                   	push   %eax
459dc4:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
459dca:	e8 fd 7b 00 00       	call   0x4619cc
459dcf:	8b 45 fc             	mov    -0x4(%ebp),%eax
459dd2:	57                   	push   %edi
459dd3:	53                   	push   %ebx
459dd4:	68 11 11 00 00       	push   $0x1111
459dd9:	ff 30                	push   (%eax)
459ddb:	ff 15 88 f6 48 00    	call   *0x48f688
459de1:	6a 10                	push   $0x10
459de3:	8d 45 dc             	lea    -0x24(%ebp),%eax
459de6:	50                   	push   %eax
459de7:	57                   	push   %edi
459de8:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
459dee:	e8 a4 7b 00 00       	call   0x461997
459df3:	f6 45 e4 40          	testb  $0x40,-0x1c(%ebp)
459df7:	74 06                	je     0x459dff
459df9:	46                   	inc    %esi
459dfa:	3b 75 f4             	cmp    -0xc(%ebp),%esi
459dfd:	7e bb                	jle    0x459dba
459dff:	3b 75 f4             	cmp    -0xc(%ebp),%esi
459e02:	7f 14                	jg     0x459e18
459e04:	2b 75 08             	sub    0x8(%ebp),%esi
459e07:	b3 01                	mov    $0x1,%bl
459e09:	8b 4d 0c             	mov    0xc(%ebp),%ecx
459e0c:	8b c6                	mov    %esi,%eax
459e0e:	99                   	cltd
459e0f:	2b c2                	sub    %edx,%eax
459e11:	d1 f8                	sar    $1,%eax
459e13:	03 45 08             	add    0x8(%ebp),%eax
459e16:	89 01                	mov    %eax,(%ecx)
459e18:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
459e1e:	e8 a2 c4 fb ff       	call   0x4162c5
459e23:	5f                   	pop    %edi
459e24:	5e                   	pop    %esi
459e25:	8a c3                	mov    %bl,%al
459e27:	5b                   	pop    %ebx
459e28:	8b e5                	mov    %ebp,%esp
459e2a:	5d                   	pop    %ebp
459e2b:	c2 08 00             	ret    $0x8
459e2e:	55                   	push   %ebp
459e2f:	8b ec                	mov    %esp,%ebp
459e31:	83 ec 20             	sub    $0x20,%esp
459e34:	53                   	push   %ebx
459e35:	56                   	push   %esi
459e36:	57                   	push   %edi
459e37:	33 f6                	xor    %esi,%esi
459e39:	8b c1                	mov    %ecx,%eax
459e3b:	56                   	push   %esi
459e3c:	56                   	push   %esi
459e3d:	68 0a 11 00 00       	push   $0x110a
459e42:	ff 30                	push   (%eax)
459e44:	89 45 f4             	mov    %eax,-0xc(%ebp)
459e47:	ff 15 88 f6 48 00    	call   *0x48f688
459e4d:	8b f8                	mov    %eax,%edi
459e4f:	89 7d f8             	mov    %edi,-0x8(%ebp)
459e52:	85 ff                	test   %edi,%edi
459e54:	0f 84 be 00 00 00    	je     0x459f18
459e5a:	8b 5d 08             	mov    0x8(%ebp),%ebx
459e5d:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
459e60:	8b 5b 04             	mov    0x4(%ebx),%ebx