423b1d:	ff 15 d8 98 43 00    	call   *0x4398d8
423b23:	0f b7 c0             	movzwl %ax,%eax
423b26:	3d 00 e8 00 00       	cmp    $0xe800,%eax
423b2b:	89 44 24 14          	mov    %eax,0x14(%esp)
423b2f:	72 56                	jb     0x423b87
423b31:	3d 1f e8 00 00       	cmp    $0xe81f,%eax
423b36:	77 4f                	ja     0x423b87
423b38:	6a 01                	push   $0x1
423b3a:	8d 88 00 18 ff ff    	lea    -0xe800(%eax),%ecx
423b40:	58                   	pop    %eax
423b41:	d3 e0                	shl    %cl,%eax
423b43:	8b cb                	mov    %ebx,%ecx
423b45:	89 44 24 24          	mov    %eax,0x24(%esp)
423b49:	8b 03                	mov    (%ebx),%eax
423b4b:	ff 90 d0 00 00 00    	call   *0xd0(%eax)
423b51:	85 c0                	test   %eax,%eax
423b53:	74 08                	je     0x423b5d
423b55:	8b 44 24 24          	mov    0x24(%esp),%eax
423b59:	09 44 24 10          	or     %eax,0x10(%esp)
423b5d:	8b 03                	mov    (%ebx),%eax
423b5f:	8b cb                	mov    %ebx,%ecx
423b61:	ff 90 d8 00 00 00    	call   *0xd8(%eax)
423b67:	85 c0                	test   %eax,%eax
423b69:	74 0a                	je     0x423b75
423b6b:	81 7c 24 14 1f e8 00 	cmpl   $0xe81f,0x14(%esp)
423b72:	00
423b73:	74 12                	je     0x423b87
423b75:	8b 47 08             	mov    0x8(%edi),%eax
423b78:	6a 01                	push   $0x1
423b7a:	23 44 24 28          	and    0x28(%esp),%eax
423b7e:	8b ce                	mov    %esi,%ecx
423b80:	50                   	push   %eax
423b81:	53                   	push   %ebx
423b82:	e8 92 f6 ff ff       	call   0x423219
423b87:	85 ed                	test   %ebp,%ebp
423b89:	75 87                	jne    0x423b12
423b8b:	33 db                	xor    %ebx,%ebx
423b8d:	8b 44 24 10          	mov    0x10(%esp),%eax
423b91:	39 5c 24 20          	cmp    %ebx,0x20(%esp)
423b95:	89 47 08             	mov    %eax,0x8(%edi)
423b98:	0f 84 9c 00 00 00    	je     0x423c3a
423b9e:	8b 47 10             	mov    0x10(%edi),%eax
423ba1:	53                   	push   %ebx
423ba2:	8b ce                	mov    %esi,%ecx
423ba4:	89 86 9c 00 00 00    	mov    %eax,0x9c(%esi)
423baa:	e8 cf e9 ff ff       	call   0x42257e
423baf:	ff 37                	push   (%edi)
423bb1:	8b 2d d0 98 43 00    	mov    0x4398d0,%ebp
423bb7:	ff 76 1c             	push   0x1c(%esi)
423bba:	ff d5                	call   *%ebp
423bbc:	53                   	push   %ebx
423bbd:	50                   	push   %eax
423bbe:	89 44 24 28          	mov    %eax,0x28(%esp)
423bc2:	ff 15 04 98 43 00    	call   *0x439804
423bc8:	ff 76 1c             	push   0x1c(%esi)
423bcb:	ff 15 cc 98 43 00    	call   *0x4398cc
423bd1:	3b c3                	cmp    %ebx,%eax
423bd3:	89 47 04             	mov    %eax,0x4(%edi)
423bd6:	74 1d                	je     0x423bf5
423bd8:	6a 01                	push   $0x1
423bda:	53                   	push   %ebx
423bdb:	ff 76 1c             	push   0x1c(%esi)
423bde:	ff 15 54 99 43 00    	call   *0x439954
423be4:	53                   	push   %ebx
423be5:	ff 76 1c             	push   0x1c(%esi)
423be8:	ff 15 00 98 43 00    	call   *0x439800
423bee:	83 a6 b8 00 00 00 fe 	andl   $0xfffffffe,0xb8(%esi)
423bf5:	8b 46 48             	mov    0x48(%esi),%eax
423bf8:	68 15 79 00 00       	push   $0x7915
423bfd:	89 47 14             	mov    %eax,0x14(%edi)
423c00:	8b ce                	mov    %esi,%ecx
423c02:	89 5e 48             	mov    %ebx,0x48(%esi)
423c05:	e8 38 e5 ff ff       	call   0x422142
423c0a:	bb 00 e9 00 00       	mov    $0xe900,%ebx
423c0f:	39 1f                	cmp    %ebx,(%edi)
423c11:	74 08                	je     0x423c1b
423c13:	53                   	push   %ebx
423c14:	ff 76 1c             	push   0x1c(%esi)
423c17:	ff d5                	call   *%ebp
423c19:	eb 04                	jmp    0x423c1f
423c1b:	8b 44 24 20          	mov    0x20(%esp),%eax
423c1f:	85 c0                	test   %eax,%eax
423c21:	0f 84 c3 00 00 00    	je     0x423cea
423c27:	68 21 ea 00 00       	push   $0xea21
423c2c:	6a f4                	push   $0xfffffff4
423c2e:	50                   	push   %eax
423c2f:	ff 15 28 99 43 00    	call   *0x439928
423c35:	e9 b0 00 00 00       	jmp    0x423cea
423c3a:	8b 2d d0 98 43 00    	mov    0x4398d0,%ebp
423c40:	68 21 ea 00 00       	push   $0xea21
423c45:	ff 76 1c             	push   0x1c(%esi)
423c48:	89 9e 9c 00 00 00    	mov    %ebx,0x9c(%esi)
423c4e:	ff d5                	call   *%ebp
423c50:	85 c0                	test   %eax,%eax
423c52:	89 44 24 20          	mov    %eax,0x20(%esp)
423c56:	bb 00 e9 00 00       	mov    $0xe900,%ebx
423c5b:	74 25                	je     0x423c82
423c5d:	53                   	push   %ebx
423c5e:	ff 76 1c             	push   0x1c(%esi)
423c61:	ff d5                	call   *%ebp
423c63:	85 c0                	test   %eax,%eax
423c65:	74 0e                	je     0x423c75
423c67:	68 21 ea 00 00       	push   $0xea21
423c6c:	6a f4                	push   $0xfffffff4
423c6e:	50                   	push   %eax
423c6f:	ff 15 28 99 43 00    	call   *0x439928
423c75:	53                   	push   %ebx
423c76:	6a f4                	push   $0xfffffff4
423c78:	ff 74 24 28          	push   0x28(%esp)
423c7c:	ff 15 28 99 43 00    	call   *0x439928
423c82:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
423c86:	74 19                	je     0x423ca1
423c88:	6a 01                	push   $0x1
423c8a:	6a 00                	push   $0x0
423c8c:	ff 76 1c             	push   0x1c(%esi)
423c8f:	ff 15 54 99 43 00    	call   *0x439954
423c95:	ff 77 04             	push   0x4(%edi)
423c98:	ff 76 1c             	push   0x1c(%esi)
423c9b:	ff 15 00 98 43 00    	call   *0x439800
423ca1:	8b 44 24 18          	mov    0x18(%esp),%eax
423ca5:	8b 48 68             	mov    0x68(%eax),%ecx
423ca8:	85 c9                	test   %ecx,%ecx
423caa:	74 07                	je     0x423cb3
423cac:	8b 01                	mov    (%ecx),%eax
423cae:	6a 01                	push   $0x1
423cb0:	ff 50 64             	call   *0x64(%eax)
423cb3:	8b 06                	mov    (%esi),%eax
423cb5:	6a 01                	push   $0x1
423cb7:	8b ce                	mov    %esi,%ecx
423cb9:	ff 90 d0 00 00 00    	call   *0xd0(%eax)
423cbf:	8b 07                	mov    (%edi),%eax
423cc1:	3b c3                	cmp    %ebx,%eax
423cc3:	74 0a                	je     0x423ccf
423cc5:	50                   	push   %eax
423cc6:	ff 76 1c             	push   0x1c(%esi)
423cc9:	ff d5                	call   *%ebp
423ccb:	89 44 24 20          	mov    %eax,0x20(%esp)
423ccf:	6a 05                	push   $0x5
423cd1:	ff 74 24 24          	push   0x24(%esp)
423cd5:	ff 15 04 98 43 00    	call   *0x439804
423cdb:	8b 47 14             	mov    0x14(%edi),%eax
423cde:	6a 01                	push   $0x1
423ce0:	8b ce                	mov    %esi,%ecx
423ce2:	89 46 48             	mov    %eax,0x48(%esi)
423ce5:	e8 94 e8 ff ff       	call   0x42257e
423cea:	5f                   	pop    %edi
423ceb:	5e                   	pop    %esi
423cec:	5d                   	pop    %ebp
423ced:	5b                   	pop    %ebx
423cee:	83 c4 0c             	add    $0xc,%esp
423cf1:	c2 08 00             	ret    $0x8
423cf4:	8b 44 24 04          	mov    0x4(%esp),%eax
423cf8:	83 89 b8 00 00 00 01 	orl    $0x1,0xb8(%ecx)
423cff:	89 81 a8 00 00 00    	mov    %eax,0xa8(%ecx)
423d05:	c2 04 00             	ret    $0x4
423d08:	56                   	push   %esi
423d09:	8b f1                	mov    %ecx,%esi
423d0b:	f6 86 b8 00 00 00 01 	testb  $0x1,0xb8(%esi)
423d12:	74 0e                	je     0x423d22
423d14:	8b 06                	mov    (%esi),%eax
423d16:	ff b6 a8 00 00 00    	push   0xa8(%esi)
423d1c:	ff 90 ec 00 00 00    	call   *0xec(%eax)
423d22:	f6 86 b8 00 00 00 02 	testb  $0x2,0xb8(%esi)
423d29:	74 0c                	je     0x423d37
423d2b:	8b 06                	mov    (%esi),%eax
423d2d:	6a 01                	push   $0x1
423d2f:	8b ce                	mov    %esi,%ecx
423d31:	ff 90 e8 00 00 00    	call   *0xe8(%eax)
423d37:	8b 86 b8 00 00 00    	mov    0xb8(%esi),%eax
423d3d:	a8 08                	test   $0x8,%al
423d3f:	74 17                	je     0x423d58
423d41:	8b 16                	mov    (%esi),%edx
423d43:	83 e0 04             	and    $0x4,%eax
423d46:	50                   	push   %eax
423d47:	8b ce                	mov    %esi,%ecx
423d49:	ff 92 d0 00 00 00    	call   *0xd0(%edx)
423d4f:	ff 76 1c             	push   0x1c(%esi)
423d52:	ff 15 3c 99 43 00    	call   *0x43993c
423d58:	8b 86 90 00 00 00    	mov    0x90(%esi),%eax
423d5e:	3b 86 94 00 00 00    	cmp    0x94(%esi),%eax
423d64:	74 08                	je     0x423d6e
423d66:	50                   	push   %eax
423d67:	8b ce                	mov    %esi,%ecx
423d69:	e8 77 f9 ff ff       	call   0x4236e5
423d6e:	83 a6 b8 00 00 00 00 	andl   $0x0,0xb8(%esi)
423d75:	5e                   	pop    %esi
423d76:	c3                   	ret
423d77:	8b c1                	mov    %ecx,%eax
423d79:	c3                   	ret
423d7a:	55                   	push   %ebp
423d7b:	8b ec                	mov    %esp,%ebp
423d7d:	83 ec 10             	sub    $0x10,%esp
423d80:	56                   	push   %esi
423d81:	57                   	push   %edi
423d82:	8b f1                	mov    %ecx,%esi
423d84:	33 ff                	xor    %edi,%edi
423d86:	39 be b0 00 00 00    	cmp    %edi,0xb0(%esi)
423d8c:	0f 85 cf 00 00 00    	jne    0x423e61
423d92:	8b 86 b8 00 00 00    	mov    0xb8(%esi),%eax
423d98:	8d 8e b8 00 00 00    	lea    0xb8(%esi),%ecx
423d9e:	53                   	push   %ebx
423d9f:	6a 01                	push   $0x1
423da1:	5b                   	pop    %ebx
423da2:	a8 04                	test   $0x4,%al
423da4:	89 9e b0 00 00 00    	mov    %ebx,0xb0(%esi)
423daa:	74 03                	je     0x423daf
423dac:	89 5d 08             	mov    %ebx,0x8(%ebp)
423daf:	24 f3                	and    $0xf3,%al
423db1:	39 7d 08             	cmp    %edi,0x8(%ebp)
423db4:	89 01                	mov    %eax,(%ecx)
423db6:	74 0c                	je     0x423dc4
423db8:	8b 4e 68             	mov    0x68(%esi),%ecx
423dbb:	3b cf                	cmp    %edi,%ecx
423dbd:	74 05                	je     0x423dc4
423dbf:	8b 01                	mov    (%ecx),%eax
423dc1:	ff 50 58             	call   *0x58(%eax)
423dc4:	8b ce                	mov    %esi,%ecx
423dc6:	e8 0d 99 ff ff       	call   0x41d6d8
423dcb:	f6 c4 20             	test   $0x20,%ah
423dce:	74 70                	je     0x423e40
423dd0:	b8 ff 7f 00 00       	mov    $0x7fff,%eax
423dd5:	57                   	push   %edi
423dd6:	89 45 f8             	mov    %eax,-0x8(%ebp)
423dd9:	89 45 fc             	mov    %eax,-0x4(%ebp)
423ddc:	8d 45 f0             	lea    -0x10(%ebp),%eax
423ddf:	8b ce                	mov    %esi,%ecx
423de1:	50                   	push   %eax
423de2:	8d 45 f0             	lea    -0x10(%ebp),%eax
423de5:	50                   	push   %eax
423de6:	53                   	push   %ebx
423de7:	bb ff ff 00 00       	mov    $0xffff,%ebx
423dec:	68 00 e9 00 00       	push   $0xe900
423df1:	53                   	push   %ebx
423df2:	57                   	push   %edi
423df3:	89 7d f0             	mov    %edi,-0x10(%ebp)
423df6:	89 7d f4             	mov    %edi,-0xc(%ebp)
423df9:	e8 bc 7e ff ff       	call   0x41bcba
423dfe:	8d 45 f0             	lea    -0x10(%ebp),%eax
423e01:	6a 01                	push   $0x1
423e03:	50                   	push   %eax
423e04:	8d 46 58             	lea    0x58(%esi),%eax
423e07:	50                   	push   %eax
423e08:	6a 02                	push   $0x2
423e0a:	68 00 e9 00 00       	push   $0xe900
423e0f:	53                   	push   %ebx
423e10:	57                   	push   %edi
423e11:	8b ce                	mov    %esi,%ecx
423e13:	e8 a2 7e ff ff       	call   0x41bcba
423e18:	8b 06                	mov    (%esi),%eax
423e1a:	8d 4d f0             	lea    -0x10(%ebp),%ecx
423e1d:	57                   	push   %edi
423e1e:	51                   	push   %ecx
423e1f:	8b ce                	mov    %esi,%ecx
423e21:	ff 50 68             	call   *0x68(%eax)
423e24:	8b 45 fc             	mov    -0x4(%ebp),%eax
423e27:	6a 16                	push   $0x16
423e29:	2b 45 f4             	sub    -0xc(%ebp),%eax
423e2c:	8b ce                	mov    %esi,%ecx
423e2e:	50                   	push   %eax
423e2f:	8b 45 f8             	mov    -0x8(%ebp),%eax
423e32:	2b 45 f0             	sub    -0x10(%ebp),%eax
423e35:	50                   	push   %eax
423e36:	57                   	push   %edi
423e37:	57                   	push   %edi
423e38:	57                   	push   %edi
423e39:	e8 5d 99 ff ff       	call   0x41d79b
423e3e:	eb 1a                	jmp    0x423e5a
423e40:	53                   	push   %ebx
423e41:	8d 46 58             	lea    0x58(%esi),%eax
423e44:	57                   	push   %edi
423e45:	50                   	push   %eax
423e46:	6a 02                	push   $0x2
423e48:	68 00 e9 00 00       	push   $0xe900
423e4d:	68 ff ff 00 00       	push   $0xffff
423e52:	57                   	push   %edi
423e53:	8b ce                	mov    %esi,%ecx
423e55:	e8 60 7e ff ff       	call   0x41bcba
423e5a:	89 be b0 00 00 00    	mov    %edi,0xb0(%esi)
423e60:	5b                   	pop    %ebx
423e61:	5f                   	pop    %edi
423e62:	5e                   	pop    %esi
423e63:	c9                   	leave
423e64:	c2 04 00             	ret    $0x4
423e67:	55                   	push   %ebp
423e68:	8b ec                	mov    %esp,%ebp
423e6a:	8b 45 08             	mov    0x8(%ebp),%eax
423e6d:	56                   	push   %esi
423e6e:	48                   	dec    %eax
423e6f:	74 4e                	je     0x423ebf
423e71:	48                   	dec    %eax
423e72:	74 65                	je     0x423ed9
423e74:	48                   	dec    %eax
423e75:	75 62                	jne    0x423ed9
423e77:	33 d2                	xor    %edx,%edx
423e79:	39 55 0c             	cmp    %edx,0xc(%ebp)
423e7c:	75 20                	jne    0x423e9e
423e7e:	39 51 58             	cmp    %edx,0x58(%ecx)
423e81:	8d 41 58             	lea    0x58(%ecx),%eax
423e84:	75 0f                	jne    0x423e95
423e86:	39 50 08             	cmp    %edx,0x8(%eax)
423e89:	75 0a                	jne    0x423e95
423e8b:	39 50 04             	cmp    %edx,0x4(%eax)
423e8e:	75 05                	jne    0x423e95
423e90:	39 50 0c             	cmp    %edx,0xc(%eax)
423e93:	74 26                	je     0x423ebb
423e95:	50                   	push   %eax
423e96:	ff 15 18 98 43 00    	call   *0x439818
423e9c:	eb 3b                	jmp    0x423ed9
423e9e:	ff 75 0c             	push   0xc(%ebp)
423ea1:	8d 71 58             	lea    0x58(%ecx),%esi
423ea4:	56                   	push   %esi
423ea5:	ff 15 6c 98 43 00    	call   *0x43986c
423eab:	85 c0                	test   %eax,%eax
423ead:	75 0c                	jne    0x423ebb
423eaf:	ff 75 0c             	push   0xc(%ebp)
423eb2:	56                   	push   %esi
423eb3:	ff 15 78 98 43 00    	call   *0x439878
423eb9:	eb 1e                	jmp    0x423ed9
423ebb:	33 c0                	xor    %eax,%eax
423ebd:	eb 1d                	jmp    0x423edc
423ebf:	33 d2                	xor    %edx,%edx
423ec1:	6a 01                	push   $0x1
423ec3:	52                   	push   %edx
423ec4:	ff 75 0c             	push   0xc(%ebp)
423ec7:	6a 01                	push   $0x1
423ec9:	68 00 e9 00 00       	push   $0xe900
423ece:	68 ff ff 00 00       	push   $0xffff
423ed3:	52                   	push   %edx
423ed4:	e8 e1 7d ff ff       	call   0x41bcba
423ed9:	6a 01                	push   $0x1
423edb:	58                   	pop    %eax
423edc:	5e                   	pop    %esi
423edd:	5d                   	pop    %ebp
423ede:	c2 08 00             	ret    $0x8
423ee1:	56                   	push   %esi
423ee2:	8b f1                	mov    %ecx,%esi
423ee4:	e8 2c 63 ff ff       	call   0x41a215
423ee9:	83 7c 24 08 01       	cmpl   $0x1,0x8(%esp)
423eee:	74 0c                	je     0x423efc
423ef0:	8b 06                	mov    (%esi),%eax
423ef2:	6a 01                	push   $0x1
423ef4:	8b ce                	mov    %esi,%ecx
423ef6:	ff 90 d0 00 00 00    	call   *0xd0(%eax)
423efc:	5e                   	pop    %esi
423efd:	c2 0c 00             	ret    $0xc
423f00:	83 b9 98 00 00 00 00 	cmpl   $0x0,0x98(%ecx)
423f07:	74 05                	je     0x423f0e
423f09:	6a 01                	push   $0x1
423f0b:	58                   	pop    %eax
423f0c:	eb 05                	jmp    0x423f13