459a0b:	c1 e9 03             	shr    $0x3,%ecx
459a0e:	f7 d1                	not    %ecx
459a10:	83 e1 01             	and    $0x1,%ecx
459a13:	3b c1                	cmp    %ecx,%eax
459a15:	74 11                	je     0x459a28
459a17:	8b 16                	mov    (%esi),%edx
459a19:	50                   	push   %eax
459a1a:	57                   	push   %edi
459a1b:	68 23 04 00 00       	push   $0x423
459a20:	8b ce                	mov    %esi,%ecx
459a22:	ff 92 10 01 00 00    	call   *0x110(%edx)
459a28:	85 ff                	test   %edi,%edi
459a2a:	75 8a                	jne    0x4599b6
459a2c:	8b 3d 3c 08 4b 00    	mov    0x4b083c,%edi
459a32:	8d 45 f0             	lea    -0x10(%ebp),%eax
459a35:	50                   	push   %eax
459a36:	ff d7                	call   *%edi
459a38:	eb 45                	jmp    0x459a7f
459a3a:	8b 06                	mov    (%esi),%eax
459a3c:	8d 4d 90             	lea    -0x70(%ebp),%ecx
459a3f:	51                   	push   %ecx
459a40:	4b                   	dec    %ebx
459a41:	53                   	push   %ebx
459a42:	68 1d 04 00 00       	push   $0x41d
459a47:	8b ce                	mov    %esi,%ecx
459a49:	c7 45 94 01 00 00 00 	movl   $0x1,-0x6c(%ebp)
459a50:	ff 90 10 01 00 00    	call   *0x110(%eax)
459a56:	f6 45 98 08          	testb  $0x8,-0x68(%ebp)
459a5a:	75 23                	jne    0x459a7f
459a5c:	8b 06                	mov    (%esi),%eax
459a5e:	8d 4d e0             	lea    -0x20(%ebp),%ecx
459a61:	51                   	push   %ecx
459a62:	53                   	push   %ebx
459a63:	68 09 04 00 00       	push   $0x409
459a68:	8b ce                	mov    %esi,%ecx
459a6a:	ff 90 10 01 00 00    	call   *0x110(%eax)
459a70:	8d 45 e0             	lea    -0x20(%ebp),%eax
459a73:	50                   	push   %eax
459a74:	8d 45 f0             	lea    -0x10(%ebp),%eax
459a77:	50                   	push   %eax
459a78:	50                   	push   %eax
459a79:	ff 15 e4 05 4b 00    	call   *0x4b05e4
459a7f:	85 db                	test   %ebx,%ebx
459a81:	75 b7                	jne    0x459a3a
459a83:	8d 45 f0             	lea    -0x10(%ebp),%eax
459a86:	50                   	push   %eax
459a87:	ff 15 20 06 4b 00    	call   *0x4b0620
459a8d:	85 c0                	test   %eax,%eax
459a8f:	75 2f                	jne    0x459ac0
459a91:	8d 45 e0             	lea    -0x20(%ebp),%eax
459a94:	50                   	push   %eax
459a95:	ff d7                	call   *%edi
459a97:	ff 75 10             	push   0x10(%ebp)
459a9a:	8b 06                	mov    (%esi),%eax
459a9c:	8d 4d e0             	lea    -0x20(%ebp),%ecx
459a9f:	51                   	push   %ecx
459aa0:	8b ce                	mov    %esi,%ecx
459aa2:	ff 90 3c 01 00 00    	call   *0x13c(%eax)
459aa8:	8b 45 e0             	mov    -0x20(%ebp),%eax
459aab:	2b 45 e8             	sub    -0x18(%ebp),%eax
459aae:	8b 4d f8             	mov    -0x8(%ebp),%ecx
459ab1:	8b 55 e4             	mov    -0x1c(%ebp),%edx
459ab4:	2b 55 ec             	sub    -0x14(%ebp),%edx
459ab7:	03 c8                	add    %eax,%ecx
459ab9:	8b 45 fc             	mov    -0x4(%ebp),%eax
459abc:	03 c2                	add    %edx,%eax
459abe:	eb 06                	jmp    0x459ac6
459ac0:	8b 45 fc             	mov    -0x4(%ebp),%eax
459ac3:	8b 4d f8             	mov    -0x8(%ebp),%ecx
459ac6:	33 f6                	xor    %esi,%esi
459ac8:	39 75 10             	cmp    %esi,0x10(%ebp)
459acb:	75 1c                	jne    0x459ae9
459acd:	39 75 0c             	cmp    %esi,0xc(%ebp)
459ad0:	74 17                	je     0x459ae9
459ad2:	ba ff 7f 00 00       	mov    $0x7fff,%edx
459ad7:	2b 4d f0             	sub    -0x10(%ebp),%ecx
459ada:	8b 45 08             	mov    0x8(%ebp),%eax
459add:	5f                   	pop    %edi
459ade:	5e                   	pop    %esi
459adf:	89 08                	mov    %ecx,(%eax)
459ae1:	89 50 04             	mov    %edx,0x4(%eax)
459ae4:	5b                   	pop    %ebx
459ae5:	c9                   	leave
459ae6:	c2 0c 00             	ret    $0xc
459ae9:	2b 45 f4             	sub    -0xc(%ebp),%eax
459aec:	39 75 10             	cmp    %esi,0x10(%ebp)
459aef:	8b d0                	mov    %eax,%edx
459af1:	74 e4                	je     0x459ad7
459af3:	39 75 0c             	cmp    %esi,0xc(%ebp)
459af6:	74 df                	je     0x459ad7
459af8:	b9 ff 7f 00 00       	mov    $0x7fff,%ecx
459afd:	eb db                	jmp    0x459ada
459aff:	55                   	push   %ebp
459b00:	8b ec                	mov    %esp,%ebp
459b02:	83 ec 10             	sub    $0x10,%esp
459b05:	56                   	push   %esi
459b06:	8b 75 10             	mov    0x10(%ebp),%esi
459b09:	8b c6                	mov    %esi,%eax
459b0b:	57                   	push   %edi
459b0c:	25 ff ff 40 00       	and    $0x40ffff,%eax
459b11:	81 7d 14 04 e8 00 00 	cmpl   $0xe804,0x14(%ebp)
459b18:	8b f9                	mov    %ecx,%edi
459b1a:	89 47 7c             	mov    %eax,0x7c(%edi)
459b1d:	75 06                	jne    0x459b25
459b1f:	83 c8 08             	or     $0x8,%eax
459b22:	89 47 7c             	mov    %eax,0x7c(%edi)
459b25:	68 00 80 00 00       	push   $0x8000
459b2a:	e8 cc ad fe ff       	call   0x4448fb
459b2f:	e8 51 61 01 00       	call   0x46fc85
459b34:	8d 45 f0             	lea    -0x10(%ebp),%eax
459b37:	50                   	push   %eax
459b38:	ff 15 3c 08 4b 00    	call   *0x4b083c
459b3e:	6a 00                	push   $0x0
459b40:	ff 75 14             	push   0x14(%ebp)
459b43:	81 e6 4e 02 bf ff    	and    $0xffbf024e,%esi
459b49:	ff 75 08             	push   0x8(%ebp)
459b4c:	0b 75 0c             	or     0xc(%ebp),%esi
459b4f:	8d 45 f0             	lea    -0x10(%ebp),%eax
459b52:	50                   	push   %eax
459b53:	81 ce 4e 02 00 00    	or     $0x24e,%esi
459b59:	56                   	push   %esi
459b5a:	6a 00                	push   $0x0
459b5c:	68 94 d0 48 00       	push   $0x48d094
459b61:	8b cf                	mov    %edi,%ecx
459b63:	e8 80 a3 fe ff       	call   0x443ee8
459b68:	f7 d8                	neg    %eax
459b6a:	1b c0                	sbb    %eax,%eax
459b6c:	5f                   	pop    %edi
459b6d:	f7 d8                	neg    %eax
459b6f:	5e                   	pop    %esi
459b70:	c9                   	leave
459b71:	c2 10 00             	ret    $0x10
459b74:	56                   	push   %esi
459b75:	8b f1                	mov    %ecx,%esi
459b77:	e8 83 b0 fe ff       	call   0x444bff
459b7c:	85 c0                	test   %eax,%eax
459b7e:	74 1c                	je     0x459b9c
459b80:	8b 46 34             	mov    0x34(%esi),%eax
459b83:	85 c0                	test   %eax,%eax
459b85:	74 12                	je     0x459b99
459b87:	8b 16                	mov    (%esi),%edx
459b89:	6a 00                	push   $0x0
459b8b:	50                   	push   %eax
459b8c:	68 07 04 00 00       	push   $0x407
459b91:	8b ce                	mov    %esi,%ecx
459b93:	ff 92 10 01 00 00    	call   *0x110(%edx)
459b99:	33 c0                	xor    %eax,%eax
459b9b:	40                   	inc    %eax
459b9c:	5e                   	pop    %esi
459b9d:	c2 04 00             	ret    $0x4
459ba0:	55                   	push   %ebp
459ba1:	8b ec                	mov    %esp,%ebp
459ba3:	83 ec 10             	sub    $0x10,%esp
459ba6:	56                   	push   %esi
459ba7:	8d 45 f0             	lea    -0x10(%ebp),%eax
459baa:	50                   	push   %eax
459bab:	8b f1                	mov    %ecx,%esi
459bad:	ff 15 3c 08 4b 00    	call   *0x4b083c
459bb3:	8b 46 7c             	mov    0x7c(%esi),%eax
459bb6:	25 00 a0 00 00       	and    $0xa000,%eax
459bbb:	f7 d8                	neg    %eax
459bbd:	1b c0                	sbb    %eax,%eax
459bbf:	f7 d8                	neg    %eax
459bc1:	50                   	push   %eax
459bc2:	8d 45 f0             	lea    -0x10(%ebp),%eax
459bc5:	50                   	push   %eax
459bc6:	8b ce                	mov    %esi,%ecx
459bc8:	e8 2a 02 00 00       	call   0x459df7
459bcd:	8b 45 0c             	mov    0xc(%ebp),%eax
459bd0:	8b 4d f0             	mov    -0x10(%ebp),%ecx
459bd3:	01 08                	add    %ecx,(%eax)
459bd5:	8b 4d f4             	mov    -0xc(%ebp),%ecx
459bd8:	01 48 04             	add    %ecx,0x4(%eax)
459bdb:	8b 4d f8             	mov    -0x8(%ebp),%ecx
459bde:	01 48 08             	add    %ecx,0x8(%eax)
459be1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
459be4:	01 48 0c             	add    %ecx,0xc(%eax)
459be7:	5e                   	pop    %esi
459be8:	c9                   	leave
459be9:	c2 08 00             	ret    $0x8
459bec:	55                   	push   %ebp
459bed:	8b ec                	mov    %esp,%ebp
459bef:	8b 45 08             	mov    0x8(%ebp),%eax
459bf2:	2d 62 03 00 00       	sub    $0x362,%eax
459bf7:	74 0b                	je     0x459c04
459bf9:	83 e8 13             	sub    $0x13,%eax
459bfc:	74 06                	je     0x459c04
459bfe:	5d                   	pop    %ebp
459bff:	e9 99 0e 00 00       	jmp    0x45aa9d
459c04:	e8 49 f4 fa ff       	call   0x409052
459c09:	ff 75 10             	push   0x10(%ebp)
459c0c:	ff 75 0c             	push   0xc(%ebp)
459c0f:	ff 75 08             	push   0x8(%ebp)
459c12:	ff 70 1c             	push   0x1c(%eax)
459c15:	ff 15 98 08 4b 00    	call   *0x4b0898
459c1b:	5d                   	pop    %ebp
459c1c:	c2 0c 00             	ret    $0xc
459c1f:	b8 5c fc 48 00       	mov    $0x48fc5c,%eax
459c24:	c3                   	ret
459c25:	56                   	push   %esi
459c26:	8b f1                	mov    %ecx,%esi
459c28:	e8 16 10 00 00       	call   0x45ac43
459c2d:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
459c32:	74 07                	je     0x459c3b
459c34:	56                   	push   %esi
459c35:	e8 46 64 fe ff       	call   0x440080
459c3a:	59                   	pop    %ecx
459c3b:	8b c6                	mov    %esi,%eax
459c3d:	5e                   	pop    %esi
459c3e:	c2 04 00             	ret    $0x4
459c41:	83 79 54 00          	cmpl   $0x0,0x54(%ecx)
459c45:	74 07                	je     0x459c4e
459c47:	8b 01                	mov    (%ecx),%eax
459c49:	6a 01                	push   $0x1
459c4b:	ff 50 04             	call   *0x4(%eax)
459c4e:	c3                   	ret
459c4f:	8b 44 24 0c          	mov    0xc(%esp),%eax
459c53:	8b 11                	mov    (%ecx),%edx
459c55:	56                   	push   %esi
459c56:	8b f0                	mov    %eax,%esi
459c58:	83 e6 02             	and    $0x2,%esi
459c5b:	56                   	push   %esi
459c5c:	83 e0 01             	and    $0x1,%eax
459c5f:	50                   	push   %eax
459c60:	ff 74 24 10          	push   0x10(%esp)
459c64:	ff 92 30 01 00 00    	call   *0x130(%edx)
459c6a:	8b 44 24 08          	mov    0x8(%esp),%eax
459c6e:	5e                   	pop    %esi
459c6f:	c2 0c 00             	ret    $0xc
459c72:	33 c0                	xor    %eax,%eax
459c74:	c3                   	ret
459c75:	56                   	push   %esi
459c76:	57                   	push   %edi
459c77:	8b f9                	mov    %ecx,%edi
459c79:	e8 a9 3c 01 00       	call   0x46d927
459c7e:	39 78 7c             	cmp    %edi,0x7c(%eax)
459c81:	75 0c                	jne    0x459c8f
459c83:	8b 07                	mov    (%edi),%eax
459c85:	6a ff                	push   $0xffffffff
459c87:	8b cf                	mov    %edi,%ecx
459c89:	ff 90 60 01 00 00    	call   *0x160(%eax)
459c8f:	8d b7 84 00 00 00    	lea    0x84(%edi),%esi
459c95:	8b 0e                	mov    (%esi),%ecx
459c97:	85 c9                	test   %ecx,%ecx
459c99:	74 09                	je     0x459ca4
459c9b:	57                   	push   %edi
459c9c:	e8 65 6a 00 00       	call   0x460706
459ca1:	83 26 00             	andl   $0x0,(%esi)
459ca4:	8b cf                	mov    %edi,%ecx
459ca6:	5f                   	pop    %edi
459ca7:	5e                   	pop    %esi
459ca8:	e9 ff b0 fe ff       	jmp    0x444dac
459cad:	56                   	push   %esi
459cae:	8b f1                	mov    %ecx,%esi
459cb0:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
459cb4:	74 18                	je     0x459cce
459cb6:	e8 bb 6b 00 00       	call   0x460876
459cbb:	85 c0                	test   %eax,%eax
459cbd:	74 0f                	je     0x459cce
459cbf:	8b ce                	mov    %esi,%ecx
459cc1:	e8 9c 6b 00 00       	call   0x460862
459cc6:	8b 10                	mov    (%eax),%edx
459cc8:	8b c8                	mov    %eax,%ecx
459cca:	5e                   	pop    %esi
459ccb:	ff 62 60             	jmp    *0x60(%edx)
459cce:	8b ce                	mov    %esi,%ecx
459cd0:	5e                   	pop    %esi
459cd1:	e9 22 b2 fe ff       	jmp    0x444ef8
459cd6:	b8 e2 3f 48 00       	mov    $0x483fe2,%eax
459cdb:	e8 9c df fb ff       	call   0x417c7c
459ce0:	83 ec 58             	sub    $0x58,%esp
459ce3:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
459ce8:	56                   	push   %esi
459ce9:	8b f1                	mov    %ecx,%esi
459ceb:	56                   	push   %esi
459cec:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
459cef:	89 45 f0             	mov    %eax,-0x10(%ebp)
459cf2:	e8 41 58 ff ff       	call   0x44f538
459cf7:	8b 06                	mov    (%esi),%eax
459cf9:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
459cfd:	8b ce                	mov    %esi,%ecx
459cff:	ff 90 50 01 00 00    	call   *0x150(%eax)
459d05:	85 c0                	test   %eax,%eax
459d07:	74 0e                	je     0x459d17
459d09:	8b 06                	mov    (%esi),%eax
459d0b:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
459d0e:	51                   	push   %ecx
459d0f:	8b ce                	mov    %esi,%ecx
459d11:	ff 90 40 01 00 00    	call   *0x140(%eax)
459d17:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
459d1b:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
459d1e:	e8 70 58 ff ff       	call   0x44f593
459d23:	8b 4d f4             	mov    -0xc(%ebp),%ecx
459d26:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
459d2d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
459d30:	5e                   	pop    %esi
459d31:	e8 a8 de fb ff       	call   0x417bde
459d36:	c9                   	leave
459d37:	c3                   	ret
459d38:	53                   	push   %ebx
459d39:	56                   	push   %esi
459d3a:	57                   	push   %edi
459d3b:	8b f1                	mov    %ecx,%esi
459d3d:	e8 04 6f fe ff       	call   0x440c46
459d42:	8b f8                	mov    %eax,%edi
459d44:	8b 46 7c             	mov    0x7c(%esi),%eax
459d47:	ba 00 00 00 10       	mov    $0x10000000,%edx
459d4c:	25 00 ff 00 00       	and    $0xff00,%eax
459d51:	23 fa                	and    %edx,%edi
459d53:	0b f8                	or     %eax,%edi
459d55:	8b 46 78             	mov    0x78(%esi),%eax
459d58:	a8 03                	test   $0x3,%al
459d5a:	74 46                	je     0x459da2
459d5c:	a8 01                	test   $0x1,%al
459d5e:	74 0b                	je     0x459d6b
459d60:	85 fa                	test   %edi,%edx
459d62:	74 38                	je     0x459d9c
459d64:	b9 80 00 00 00       	mov    $0x80,%ecx
459d69:	eb 07                	jmp    0x459d72
459d6b:	85 fa                	test   %edi,%edx
459d6d:	75 2d                	jne    0x459d9c
459d6f:	6a 40                	push   $0x40
459d71:	59                   	pop    %ecx
459d72:	8b 5c 24 10          	mov    0x10(%esp),%ebx
459d76:	33 fa                	xor    %edx,%edi
459d78:	33 d2                	xor    %edx,%edx
459d7a:	39 13                	cmp    %edx,(%ebx)
459d7c:	74 24                	je     0x459da2
459d7e:	83 c9 17             	or     $0x17,%ecx
459d81:	51                   	push   %ecx
459d82:	52                   	push   %edx
459d83:	52                   	push   %edx
459d84:	52                   	push   %edx
459d85:	52                   	push   %edx
459d86:	52                   	push   %edx
459d87:	ff 76 1c             	push   0x1c(%esi)
459d8a:	83 e0 fc             	and    $0xfffffffc,%eax
459d8d:	89 46 78             	mov    %eax,0x78(%esi)
459d90:	ff 33                	push   (%ebx)
459d92:	ff 15 10 07 4b 00    	call   *0x4b0710
459d98:	89 03                	mov    %eax,(%ebx)
459d9a:	eb 06                	jmp    0x459da2
459d9c:	83 e0 fc             	and    $0xfffffffc,%eax
459d9f:	89 46 78             	mov    %eax,0x78(%esi)
459da2:	8b c7                	mov    %edi,%eax
459da4:	5f                   	pop    %edi
459da5:	5e                   	pop    %esi
459da6:	5b                   	pop    %ebx
459da7:	c2 04 00             	ret    $0x4
459daa:	56                   	push   %esi