538a02:	8b 46 0c             	mov    0xc(%esi),%eax
538a05:	85 c0                	test   %eax,%eax
538a07:	74 1e                	je     0x538a27
538a09:	3b 50 04             	cmp    0x4(%eax),%edx
538a0c:	7f 0f                	jg     0x538a1d
538a0e:	7c 04                	jl     0x538a14
538a10:	3b 38                	cmp    (%eax),%edi
538a12:	77 09                	ja     0x538a1d
538a14:	ba fe ff 00 00       	mov    $0xfffe,%edx
538a19:	66 21 56 1a          	and    %dx,0x1a(%esi)
538a1d:	89 48 08             	mov    %ecx,0x8(%eax)
538a20:	5f                   	pop    %edi
538a21:	89 4e 0c             	mov    %ecx,0xc(%esi)
538a24:	5e                   	pop    %esi
538a25:	5d                   	pop    %ebp
538a26:	c3                   	ret
538a27:	89 4e 08             	mov    %ecx,0x8(%esi)
538a2a:	89 4e 0c             	mov    %ecx,0xc(%esi)
538a2d:	5f                   	pop    %edi
538a2e:	5e                   	pop    %esi
538a2f:	5d                   	pop    %ebp
538a30:	c3                   	ret
538a31:	cc                   	int3
538a32:	cc                   	int3
538a33:	cc                   	int3
538a34:	cc                   	int3
538a35:	cc                   	int3
538a36:	cc                   	int3
538a37:	cc                   	int3
538a38:	cc                   	int3
538a39:	cc                   	int3
538a3a:	cc                   	int3
538a3b:	cc                   	int3
538a3c:	cc                   	int3
538a3d:	cc                   	int3
538a3e:	cc                   	int3
538a3f:	cc                   	int3
538a40:	55                   	push   %ebp
538a41:	8b ec                	mov    %esp,%ebp
538a43:	56                   	push   %esi
538a44:	8b 75 08             	mov    0x8(%ebp),%esi
538a47:	0f b7 46 1a          	movzwl 0x1a(%esi),%eax
538a4b:	a8 02                	test   $0x2,%al
538a4d:	75 17                	jne    0x538a66
538a4f:	a8 01                	test   $0x1,%al
538a51:	75 0e                	jne    0x538a61
538a53:	ff 76 08             	push   0x8(%esi)
538a56:	e8 55 c3 fd ff       	call   0x514db0
538a5b:	83 c4 04             	add    $0x4,%esp
538a5e:	89 46 08             	mov    %eax,0x8(%esi)
538a61:	66 83 4e 1a 03       	orw    $0x3,0x1a(%esi)
538a66:	8b 56 08             	mov    0x8(%esi),%edx
538a69:	85 d2                	test   %edx,%edx
538a6b:	74 2b                	je     0x538a98
538a6d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
538a70:	8b 02                	mov    (%edx),%eax
538a72:	89 01                	mov    %eax,(%ecx)
538a74:	8b 42 04             	mov    0x4(%edx),%eax
538a77:	89 41 04             	mov    %eax,0x4(%ecx)
538a7a:	8b 46 08             	mov    0x8(%esi),%eax
538a7d:	8b 40 08             	mov    0x8(%eax),%eax
538a80:	89 46 08             	mov    %eax,0x8(%esi)
538a83:	85 c0                	test   %eax,%eax
538a85:	75 09                	jne    0x538a90
538a87:	56                   	push   %esi
538a88:	e8 43 fd ff ff       	call   0x5387d0
538a8d:	83 c4 04             	add    $0x4,%esp
538a90:	b8 01 00 00 00       	mov    $0x1,%eax
538a95:	5e                   	pop    %esi
538a96:	5d                   	pop    %ebp
538a97:	c3                   	ret
538a98:	33 c0                	xor    %eax,%eax
538a9a:	5e                   	pop    %esi
538a9b:	5d                   	pop    %ebp
538a9c:	c3                   	ret
538a9d:	cc                   	int3
538a9e:	cc                   	int3
538a9f:	cc                   	int3
538aa0:	55                   	push   %ebp
538aa1:	8b ec                	mov    %esp,%ebp
538aa3:	83 ec 10             	sub    $0x10,%esp
538aa6:	a1 d4 89 72 00       	mov    0x7289d4,%eax
538aab:	33 c5                	xor    %ebp,%eax
538aad:	89 45 fc             	mov    %eax,-0x4(%ebp)
538ab0:	8b 45 0c             	mov    0xc(%ebp),%eax
538ab3:	53                   	push   %ebx
538ab4:	56                   	push   %esi
538ab5:	8b 75 08             	mov    0x8(%ebp),%esi
538ab8:	57                   	push   %edi
538ab9:	3b 46 1c             	cmp    0x1c(%esi),%eax
538abc:	0f 84 f4 00 00 00    	je     0x538bb6
538ac2:	8b 4e 08             	mov    0x8(%esi),%ecx
538ac5:	89 4d f0             	mov    %ecx,-0x10(%ebp)
538ac8:	85 c9                	test   %ecx,%ecx
538aca:	0f 84 e3 00 00 00    	je     0x538bb3
538ad0:	f6 46 1a 01          	testb  $0x1,0x1a(%esi)
538ad4:	8d 5e 14             	lea    0x14(%esi),%ebx
538ad7:	75 0e                	jne    0x538ae7
538ad9:	51                   	push   %ecx
538ada:	e8 d1 c2 fd ff       	call   0x514db0
538adf:	83 c4 04             	add    $0x4,%esp
538ae2:	89 45 f0             	mov    %eax,-0x10(%ebp)
538ae5:	8b c8                	mov    %eax,%ecx
538ae7:	8b 3b                	mov    (%ebx),%edi
538ae9:	85 ff                	test   %edi,%edi
538aeb:	74 3b                	je     0x538b28
538aed:	0f 1f 00             	nopl   (%eax)
538af0:	8b 47 0c             	mov    0xc(%edi),%eax
538af3:	8d 5f 08             	lea    0x8(%edi),%ebx
538af6:	85 c0                	test   %eax,%eax
538af8:	74 51                	je     0x538b4b
538afa:	8d 4d f4             	lea    -0xc(%ebp),%ecx
538afd:	51                   	push   %ecx
538afe:	8d 4d f8             	lea    -0x8(%ebp),%ecx
538b01:	51                   	push   %ecx
538b02:	50                   	push   %eax
538b03:	e8 28 c5 fd ff       	call   0x515030
538b08:	ff 75 f0             	push   -0x10(%ebp)
538b0b:	c7 47 0c 00 00 00 00 	movl   $0x0,0xc(%edi)
538b12:	ff 75 f8             	push   -0x8(%ebp)
538b15:	e8 06 c2 fd ff       	call   0x514d20
538b1a:	8b 3b                	mov    (%ebx),%edi
538b1c:	83 c4 14             	add    $0x14,%esp
538b1f:	8b c8                	mov    %eax,%ecx
538b21:	89 4d f0             	mov    %ecx,-0x10(%ebp)
538b24:	85 ff                	test   %edi,%edi
538b26:	75 c8                	jne    0x538af0
538b28:	66 83 7e 18 00       	cmpw   $0x0,0x18(%esi)
538b2d:	75 34                	jne    0x538b63
538b2f:	6a 00                	push   $0x0
538b31:	68 f8 03 00 00       	push   $0x3f8
538b36:	ff 76 04             	push   0x4(%esi)
538b39:	e8 a2 88 fe ff       	call   0x5213e0
538b3e:	8b c8                	mov    %eax,%ecx
538b40:	83 c4 0c             	add    $0xc,%esp
538b43:	85 c9                	test   %ecx,%ecx
538b45:	75 07                	jne    0x538b4e
538b47:	89 03                	mov    %eax,(%ebx)
538b49:	eb 52                	jmp    0x538b9d
538b4b:	51                   	push   %ecx
538b4c:	eb 44                	jmp    0x538b92
538b4e:	8b 06                	mov    (%esi),%eax
538b50:	89 01                	mov    %eax,(%ecx)
538b52:	8d 41 08             	lea    0x8(%ecx),%eax
538b55:	89 46 10             	mov    %eax,0x10(%esi)
538b58:	b8 3f 00 00 00       	mov    $0x3f,%eax
538b5d:	89 0e                	mov    %ecx,(%esi)
538b5f:	66 89 46 18          	mov    %ax,0x18(%esi)
538b63:	8b 7e 10             	mov    0x10(%esi),%edi
538b66:	b8 ff ff 00 00       	mov    $0xffff,%eax
538b6b:	66 01 46 18          	add    %ax,0x18(%esi)
538b6f:	8d 47 10             	lea    0x10(%edi),%eax
538b72:	89 46 10             	mov    %eax,0x10(%esi)
538b75:	89 3b                	mov    %edi,(%ebx)
538b77:	85 ff                	test   %edi,%edi
538b79:	74 22                	je     0x538b9d
538b7b:	ff 75 f0             	push   -0x10(%ebp)
538b7e:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
538b84:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
538b8b:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
538b92:	e8 69 c3 fd ff       	call   0x514f00
538b97:	89 47 0c             	mov    %eax,0xc(%edi)
538b9a:	83 c4 04             	add    $0x4,%esp
538b9d:	66 83 4e 1a 01       	orw    $0x1,0x1a(%esi)
538ba2:	8b 45 0c             	mov    0xc(%ebp),%eax
538ba5:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
538bac:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
538bb3:	89 46 1c             	mov    %eax,0x1c(%esi)
538bb6:	8b 5e 14             	mov    0x14(%esi),%ebx
538bb9:	85 db                	test   %ebx,%ebx
538bbb:	74 3f                	je     0x538bfc
538bbd:	8b 7d 14             	mov    0x14(%ebp),%edi
538bc0:	8b 75 10             	mov    0x10(%ebp),%esi
538bc3:	8b 43 0c             	mov    0xc(%ebx),%eax
538bc6:	85 c0                	test   %eax,%eax
538bc8:	74 2b                	je     0x538bf5
538bca:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
538bd0:	8b 50 04             	mov    0x4(%eax),%edx
538bd3:	8b 08                	mov    (%eax),%ecx
538bd5:	3b d7                	cmp    %edi,%edx
538bd7:	7f 15                	jg     0x538bee
538bd9:	7c 04                	jl     0x538bdf
538bdb:	3b ce                	cmp    %esi,%ecx
538bdd:	73 05                	jae    0x538be4
538bdf:	8b 40 08             	mov    0x8(%eax),%eax
538be2:	eb 0d                	jmp    0x538bf1
538be4:	3b d7                	cmp    %edi,%edx
538be6:	7c 27                	jl     0x538c0f
538be8:	7f 04                	jg     0x538bee
538bea:	3b ce                	cmp    %esi,%ecx
538bec:	76 21                	jbe    0x538c0f
538bee:	8b 40 0c             	mov    0xc(%eax),%eax
538bf1:	85 c0                	test   %eax,%eax
538bf3:	75 db                	jne    0x538bd0
538bf5:	8b 5b 08             	mov    0x8(%ebx),%ebx
538bf8:	85 db                	test   %ebx,%ebx
538bfa:	75 c7                	jne    0x538bc3
538bfc:	5f                   	pop    %edi
538bfd:	5e                   	pop    %esi
538bfe:	33 c0                	xor    %eax,%eax
538c00:	5b                   	pop    %ebx
538c01:	8b 4d fc             	mov    -0x4(%ebp),%ecx
538c04:	33 cd                	xor    %ebp,%ecx
538c06:	e8 cf 88 0a 00       	call   0x5e14da
538c0b:	8b e5                	mov    %ebp,%esp
538c0d:	5d                   	pop    %ebp
538c0e:	c3                   	ret
538c0f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
538c12:	b8 01 00 00 00       	mov    $0x1,%eax
538c17:	5f                   	pop    %edi
538c18:	5e                   	pop    %esi
538c19:	33 cd                	xor    %ebp,%ecx
538c1b:	5b                   	pop    %ebx
538c1c:	e8 b9 88 0a 00       	call   0x5e14da
538c21:	8b e5                	mov    %ebp,%esp
538c23:	5d                   	pop    %ebp
538c24:	c3                   	ret
538c25:	cc                   	int3
538c26:	cc                   	int3
538c27:	cc                   	int3
538c28:	cc                   	int3
538c29:	cc                   	int3
538c2a:	cc                   	int3
538c2b:	cc                   	int3
538c2c:	cc                   	int3
538c2d:	cc                   	int3
538c2e:	cc                   	int3
538c2f:	cc                   	int3
538c30:	55                   	push   %ebp
538c31:	8b ec                	mov    %esp,%ebp
538c33:	8b 55 10             	mov    0x10(%ebp),%edx
538c36:	56                   	push   %esi
538c37:	8b 75 08             	mov    0x8(%ebp),%esi
538c3a:	0f b7 42 28          	movzwl 0x28(%edx),%eax
538c3e:	66 85 c0             	test   %ax,%ax
538c41:	78 22                	js     0x538c65
538c43:	98                   	cwtl
538c44:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
538c47:	8b 42 04             	mov    0x4(%edx),%eax
538c4a:	ff 34 88             	push   (%eax,%ecx,4)
538c4d:	ff 32                	push   (%edx)
538c4f:	68 24 9d 6b 00       	push   $0x6b9d24
538c54:	ff 36                	push   (%esi)
538c56:	e8 e5 82 ff ff       	call   0x530f40
538c5b:	83 c4 10             	add    $0x10,%esp
538c5e:	b9 13 06 00 00       	mov    $0x613,%ecx
538c63:	eb 16                	jmp    0x538c7b
538c65:	ff 32                	push   (%edx)
538c67:	68 08 a7 6b 00       	push   $0x6ba708
538c6c:	ff 36                	push   (%esi)
538c6e:	e8 cd 82 ff ff       	call   0x530f40
538c73:	83 c4 0c             	add    $0xc,%esp
538c76:	b9 13 0a 00 00       	mov    $0xa13,%ecx
538c7b:	6a 02                	push   $0x2
538c7d:	6a f9                	push   $0xfffffff9
538c7f:	50                   	push   %eax
538c80:	ff 75 0c             	push   0xc(%ebp)
538c83:	51                   	push   %ecx
538c84:	56                   	push   %esi
538c85:	e8 76 4c ff ff       	call   0x52d900
538c8a:	83 c4 18             	add    $0x18,%esp
538c8d:	5e                   	pop    %esi
538c8e:	5d                   	pop    %ebp
538c8f:	c3                   	ret
538c90:	55                   	push   %ebp
538c91:	8b ec                	mov    %esp,%ebp
538c93:	81 ec e8 04 00 00    	sub    $0x4e8,%esp
538c99:	a1 d4 89 72 00       	mov    0x7289d4,%eax
538c9e:	33 c5                	xor    %ebp,%eax
538ca0:	89 45 fc             	mov    %eax,-0x4(%ebp)
538ca3:	8b 45 10             	mov    0x10(%ebp),%eax
538ca6:	53                   	push   %ebx
538ca7:	56                   	push   %esi
538ca8:	8b 75 0c             	mov    0xc(%ebp),%esi
538cab:	57                   	push   %edi
538cac:	8b 7d 08             	mov    0x8(%ebp),%edi
538caf:	89 85 18 fb ff ff    	mov    %eax,-0x4e8(%ebp)
538cb5:	89 b5 2c fb ff ff    	mov    %esi,-0x4d4(%ebp)
538cbb:	c7 85 1c fb ff ff 00 	movl   $0x0,-0x4e4(%ebp)
538cc2:	00 00 00
538cc5:	8b 1f                	mov    (%edi),%ebx
538cc7:	c7 85 24 fb ff ff ff 	movl   $0xffffffff,-0x4dc(%ebp)
538cce:	ff ff ff
538cd1:	83 bb b0 00 00 00 00 	cmpl   $0x0,0xb0(%ebx)
538cd8:	8b 43 70             	mov    0x70(%ebx),%eax
538cdb:	89 85 20 fb ff ff    	mov    %eax,-0x4e0(%ebp)
538ce1:	75 0a                	jne    0x538ced
538ce3:	c7 83 10 01 00 00 00 	movl   $0x0,0x110(%ebx)
538cea:	00 00 00
538ced:	8d 85 48 fb ff ff    	lea    -0x4b8(%ebp),%eax
538cf3:	c7 47 0c 00 00 00 00 	movl   $0x0,0xc(%edi)
538cfa:	89 85 40 fb ff ff    	mov    %eax,-0x4c0(%ebp)
538d00:	33 c0                	xor    %eax,%eax
538d02:	89 85 48 fb ff ff    	mov    %eax,-0x4b8(%ebp)
538d08:	8d 45 ec             	lea    -0x14(%ebp),%eax
538d0b:	89 45 f8             	mov    %eax,-0x8(%ebp)
538d0e:	89 b7 e0 00 00 00    	mov    %esi,0xe0(%edi)
538d14:	89 bd 44 fb ff ff    	mov    %edi,-0x4bc(%ebp)
538d1a:	8b 83 f4 00 00 00    	mov    0xf4(%ebx),%eax
538d20:	89 47 7c             	mov    %eax,0x7c(%edi)
538d23:	8d 85 30 fb ff ff    	lea    -0x4d0(%ebp),%eax
538d29:	50                   	push   %eax
538d2a:	56                   	push   %esi
538d2b:	89 bb f4 00 00 00    	mov    %edi,0xf4(%ebx)
538d31:	e8 7a 42 ff ff       	call   0x52cfb0
538d36:	83 c4 08             	add    $0x8,%esp
538d39:	89 85 28 fb ff ff    	mov    %eax,-0x4d8(%ebp)
538d3f:	29 85 20 fb ff ff    	sub    %eax,-0x4e0(%ebp)
538d45:	0f 88 b3 01 00 00    	js     0x538efe
538d4b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
538d50:	8b b5 30 fb ff ff    	mov    -0x4d0(%ebp),%esi
538d56:	81 fe a1 00 00 00    	cmp    $0xa1,%esi
538d5c:	0f 8c 2d 01 00 00    	jl     0x538e8f
538d62:	83 bb 10 01 00 00 00 	cmpl   $0x0,0x110(%ebx)
538d69:	8b b5 2c fb ff ff    	mov    -0x4d4(%ebp),%esi
538d6f:	0f 85 4d 03 00 00    	jne    0x5390c2
538d75:	8b 85 30 fb ff ff    	mov    -0x4d0(%ebp),%eax
538d7b:	3d b3 00 00 00       	cmp    $0xb3,%eax
538d80:	75 11                	jne    0x538d93
538d82:	03 b5 28 fb ff ff    	add    -0x4d8(%ebp),%esi
538d88:	89 b5 2c fb ff ff    	mov    %esi,-0x4d4(%ebp)
538d8e:	e9 49 01 00 00       	jmp    0x538edc
538d93:	80 3e 00             	cmpb   $0x0,(%esi)
538d96:	75 34                	jne    0x538dcc
538d98:	8b 85 24 fb ff ff    	mov    -0x4dc(%ebp),%eax
538d9e:	83 f8 01             	cmp    $0x1,%eax
538da1:	75 0d                	jne    0x538db0
538da3:	33 f6                	xor    %esi,%esi
538da5:	89 b5 28 fb ff ff    	mov    %esi,-0x4d8(%ebp)
538dab:	e9 d9 00 00 00       	jmp    0x538e89
538db0:	85 c0                	test   %eax,%eax
538db2:	0f 84 4d 01 00 00    	je     0x538f05
538db8:	be 01 00 00 00       	mov    $0x1,%esi
538dbd:	c7 85 28 fb ff ff 00 	movl   $0x0,-0x4d8(%ebp)
538dc4:	00 00 00
538dc7:	e9 bd 00 00 00       	jmp    0x538e89
538dcc:	3d a1 00 00 00       	cmp    $0xa1,%eax
538dd1:	75 42                	jne    0x538e15
538dd3:	8d 46 06             	lea    0x6(%esi),%eax
538dd6:	89 85 3c fb ff ff    	mov    %eax,-0x4c4(%ebp)
538ddc:	8d 85 3c fb ff ff    	lea    -0x4c4(%ebp),%eax
538de2:	50                   	push   %eax
538de3:	e8 b8 d6 fc ff       	call   0x5064a0
538de8:	83 c4 04             	add    $0x4,%esp
538deb:	83 f8 3b             	cmp    $0x3b,%eax
538dee:	0f 85 90 00 00 00    	jne    0x538e84
538df4:	8d 85 3c fb ff ff    	lea    -0x4c4(%ebp),%eax
538dfa:	50                   	push   %eax
538dfb:	e8 a0 d6 fc ff       	call   0x5064a0
538e00:	83 c4 04             	add    $0x4,%esp