517a1a:	8b 52 04             	mov    0x4(%edx),%edx
517a1d:	8d 04 88             	lea    (%eax,%ecx,4),%eax
517a20:	89 45 f8             	mov    %eax,-0x8(%ebp)
517a23:	85 d2                	test   %edx,%edx
517a25:	75 08                	jne    0x517a2f
517a27:	66 c7 40 0d 41 01    	movw   $0x141,0xd(%eax)
517a2d:	eb 47                	jmp    0x517a76
517a2f:	8b cb                	mov    %ebx,%ecx
517a31:	8d 71 01             	lea    0x1(%ecx),%esi
517a34:	8a 01                	mov    (%ecx),%al
517a36:	41                   	inc    %ecx
517a37:	84 c0                	test   %al,%al
517a39:	75 f9                	jne    0x517a34
517a3b:	2b ce                	sub    %esi,%ecx
517a3d:	8d 73 01             	lea    0x1(%ebx),%esi
517a40:	8b 5d 10             	mov    0x10(%ebp),%ebx
517a43:	81 e1 ff ff ff 3f    	and    $0x3fffffff,%ecx
517a49:	52                   	push   %edx
517a4a:	03 f1                	add    %ecx,%esi
517a4c:	ff 33                	push   (%ebx)
517a4e:	56                   	push   %esi
517a4f:	e8 ac b4 0c 00       	call   0x5e2f00
517a54:	8b 43 04             	mov    0x4(%ebx),%eax
517a57:	56                   	push   %esi
517a58:	c6 04 06 00          	movb   $0x0,(%esi,%eax,1)
517a5c:	e8 7f aa 00 00       	call   0x5224e0
517a61:	8b 5d f8             	mov    -0x8(%ebp),%ebx
517a64:	53                   	push   %ebx
517a65:	56                   	push   %esi
517a66:	e8 55 06 00 00       	call   0x5180c0
517a6b:	83 c4 18             	add    $0x18,%esp
517a6e:	88 43 0d             	mov    %al,0xd(%ebx)
517a71:	66 83 4b 10 04       	orw    $0x4,0x10(%ebx)
517a76:	8b 45 08             	mov    0x8(%ebp),%eax
517a79:	66 ff 47 2a          	incw   0x2a(%edi)
517a7d:	66 ff 47 2c          	incw   0x2c(%edi)
517a81:	c7 40 4c 00 00 00 00 	movl   $0x0,0x4c(%eax)
517a88:	5b                   	pop    %ebx
517a89:	5f                   	pop    %edi
517a8a:	5e                   	pop    %esi
517a8b:	8b e5                	mov    %ebp,%esp
517a8d:	5d                   	pop    %ebp
517a8e:	c3                   	ret
517a8f:	cc                   	int3
517a90:	55                   	push   %ebp
517a91:	8b ec                	mov    %esp,%ebp
517a93:	83 ec 68             	sub    $0x68,%esp
517a96:	a1 d4 89 72 00       	mov    0x7289d4,%eax
517a9b:	33 c5                	xor    %ebp,%eax
517a9d:	89 45 fc             	mov    %eax,-0x4(%ebp)
517aa0:	8b 45 10             	mov    0x10(%ebp),%eax
517aa3:	53                   	push   %ebx
517aa4:	8b 5d 0c             	mov    0xc(%ebp),%ebx
517aa7:	56                   	push   %esi
517aa8:	8b 75 08             	mov    0x8(%ebp),%esi
517aab:	89 45 cc             	mov    %eax,-0x34(%ebp)
517aae:	8b 45 14             	mov    0x14(%ebp),%eax
517ab1:	57                   	push   %edi
517ab2:	8b 96 e4 00 00 00    	mov    0xe4(%esi),%edx
517ab8:	8b 3e                	mov    (%esi),%edi
517aba:	89 45 d0             	mov    %eax,-0x30(%ebp)
517abd:	85 d2                	test   %edx,%edx
517abf:	0f 84 fb 00 00 00    	je     0x517bc0
517ac5:	80 bf a5 00 00 00 00 	cmpb   $0x0,0xa5(%edi)
517acc:	74 10                	je     0x517ade
517ace:	80 bf a4 00 00 00 01 	cmpb   $0x1,0xa4(%edi)
517ad5:	c7 45 d8 01 00 00 00 	movl   $0x1,-0x28(%ebp)
517adc:	75 07                	jne    0x517ae5
517ade:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
517ae5:	0f bf 42 2a          	movswl 0x2a(%edx),%eax
517ae9:	c7 45 e4 c0 12 50 00 	movl   $0x5012c0,-0x1c(%ebp)
517af0:	c7 45 e8 f0 c7 53 00 	movl   $0x53c7f0,-0x18(%ebp)
517af7:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
517afe:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
517b01:	8b 42 04             	mov    0x4(%edx),%eax
517b04:	8d 04 88             	lea    (%eax,%ecx,4),%eax
517b07:	8b 4d d8             	mov    -0x28(%ebp),%ecx
517b0a:	0f b6 c9             	movzbl %cl,%ecx
517b0d:	83 c0 ec             	add    $0xffffffec,%eax
517b10:	66 83 c1 04          	add    $0x4,%cx
517b14:	89 45 d4             	mov    %eax,-0x2c(%ebp)
517b17:	66 89 4d f4          	mov    %cx,-0xc(%ebp)
517b1b:	85 db                	test   %ebx,%ebx
517b1d:	74 14                	je     0x517b33
517b1f:	8d 45 e0             	lea    -0x20(%ebp),%eax
517b22:	53                   	push   %ebx
517b23:	50                   	push   %eax
517b24:	e8 87 84 04 00       	call   0x55ffb0
517b29:	66 8b 4d f4          	mov    -0xc(%ebp),%cx
517b2d:	83 c4 08             	add    $0x8,%esp
517b30:	8b 45 d4             	mov    -0x2c(%ebp),%eax
517b33:	66 85 c9             	test   %cx,%cx
517b36:	75 12                	jne    0x517b4a
517b38:	ff 30                	push   (%eax)
517b3a:	68 94 9e 6b 00       	push   $0x6b9e94
517b3f:	56                   	push   %esi
517b40:	e8 1b b7 00 00       	call   0x523260
517b45:	83 c4 0c             	add    $0xc,%esp
517b48:	eb 76                	jmp    0x517bc0
517b4a:	f6 40 10 60          	testb  $0x60,0x10(%eax)
517b4e:	74 0d                	je     0x517b5d
517b50:	68 c4 9e 6b 00       	push   $0x6b9ec4
517b55:	56                   	push   %esi
517b56:	e8 05 b7 00 00       	call   0x523260
517b5b:	eb 60                	jmp    0x517bbd
517b5d:	8b 40 04             	mov    0x4(%eax),%eax
517b60:	85 c0                	test   %eax,%eax
517b62:	74 0a                	je     0x517b6e
517b64:	50                   	push   %eax
517b65:	57                   	push   %edi
517b66:	e8 45 ec 00 00       	call   0x5267b0
517b6b:	83 c4 08             	add    $0x8,%esp
517b6e:	6a 34                	push   $0x34
517b70:	8d 45 98             	lea    -0x68(%ebp),%eax
517b73:	6a 00                	push   $0x0
517b75:	50                   	push   %eax
517b76:	e8 85 be 0c 00       	call   0x5e3a00
517b7b:	ff 75 d0             	push   -0x30(%ebp)
517b7e:	c6 45 98 b2          	movb   $0xb2,-0x68(%ebp)
517b82:	ff 75 cc             	push   -0x34(%ebp)
517b85:	57                   	push   %edi
517b86:	e8 95 9a 00 00       	call   0x521620
517b8b:	6a 00                	push   $0x0
517b8d:	89 45 a0             	mov    %eax,-0x60(%ebp)
517b90:	8d 45 98             	lea    -0x68(%ebp),%eax
517b93:	6a 01                	push   $0x1
517b95:	50                   	push   %eax
517b96:	57                   	push   %edi
517b97:	89 5d a4             	mov    %ebx,-0x5c(%ebp)
517b9a:	c7 45 9c 00 10 00 00 	movl   $0x1000,-0x64(%ebp)
517ba1:	e8 ba 8c fe ff       	call   0x500860
517ba6:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
517ba9:	83 c4 28             	add    $0x28,%esp
517bac:	89 41 04             	mov    %eax,0x4(%ecx)
517baf:	8b 45 a0             	mov    -0x60(%ebp),%eax
517bb2:	85 c0                	test   %eax,%eax
517bb4:	74 0a                	je     0x517bc0
517bb6:	50                   	push   %eax
517bb7:	57                   	push   %edi
517bb8:	e8 b3 97 00 00       	call   0x521370
517bbd:	83 c4 08             	add    $0x8,%esp
517bc0:	8a 86 c8 00 00 00    	mov    0xc8(%esi),%al
517bc6:	88 45 df             	mov    %al,-0x21(%ebp)
517bc9:	3c 02                	cmp    $0x2,%al
517bcb:	72 45                	jb     0x517c12
517bcd:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
517bd4:	0f 57 c0             	xorps  %xmm0,%xmm0
517bd7:	66 0f d6 45 f0       	movq   %xmm0,-0x10(%ebp)
517bdc:	c6 86 c8 00 00 00 03 	movb   $0x3,0xc8(%esi)
517be3:	0f 11 45 e0          	movups %xmm0,-0x20(%ebp)
517be7:	89 75 e0             	mov    %esi,-0x20(%ebp)
517bea:	c7 45 e4 90 31 51 00 	movl   $0x513190,-0x1c(%ebp)
517bf1:	c7 45 e8 c0 31 51 00 	movl   $0x5131c0,-0x18(%ebp)
517bf8:	85 db                	test   %ebx,%ebx
517bfa:	74 10                	je     0x517c0c
517bfc:	8d 45 e0             	lea    -0x20(%ebp),%eax
517bff:	53                   	push   %ebx
517c00:	50                   	push   %eax
517c01:	e8 aa 83 04 00       	call   0x55ffb0
517c06:	8a 45 df             	mov    -0x21(%ebp),%al
517c09:	83 c4 08             	add    $0x8,%esp
517c0c:	88 86 c8 00 00 00    	mov    %al,0xc8(%esi)
517c12:	85 db                	test   %ebx,%ebx
517c14:	74 0a                	je     0x517c20
517c16:	53                   	push   %ebx
517c17:	57                   	push   %edi
517c18:	e8 93 eb 00 00       	call   0x5267b0
517c1d:	83 c4 08             	add    $0x8,%esp
517c20:	8b 4d fc             	mov    -0x4(%ebp),%ecx
517c23:	5f                   	pop    %edi
517c24:	5e                   	pop    %esi
517c25:	33 cd                	xor    %ebp,%ecx
517c27:	5b                   	pop    %ebx
517c28:	e8 ad 98 0c 00       	call   0x5e14da
517c2d:	8b e5                	mov    %ebp,%esp
517c2f:	5d                   	pop    %ebp
517c30:	c3                   	ret
517c31:	cc                   	int3
517c32:	cc                   	int3
517c33:	cc                   	int3
517c34:	cc                   	int3
517c35:	cc                   	int3
517c36:	cc                   	int3
517c37:	cc                   	int3
517c38:	cc                   	int3
517c39:	cc                   	int3
517c3a:	cc                   	int3
517c3b:	cc                   	int3
517c3c:	cc                   	int3
517c3d:	cc                   	int3
517c3e:	cc                   	int3
517c3f:	cc                   	int3
517c40:	55                   	push   %ebp
517c41:	8b ec                	mov    %esp,%ebp
517c43:	51                   	push   %ecx
517c44:	53                   	push   %ebx
517c45:	56                   	push   %esi
517c46:	8b 75 08             	mov    0x8(%ebp),%esi
517c49:	b2 20                	mov    $0x20,%dl
517c4b:	57                   	push   %edi
517c4c:	88 55 ff             	mov    %dl,-0x1(%ebp)
517c4f:	8b 9e e4 00 00 00    	mov    0xe4(%esi),%ebx
517c55:	85 db                	test   %ebx,%ebx
517c57:	0f 84 bc 00 00 00    	je     0x517d19
517c5d:	80 be c8 00 00 00 01 	cmpb   $0x1,0xc8(%esi)
517c64:	0f bf 43 2a          	movswl 0x2a(%ebx),%eax
517c68:	8d 3c 80             	lea    (%eax,%eax,4),%edi
517c6b:	8b 43 04             	mov    0x4(%ebx),%eax
517c6e:	8d 7f fb             	lea    -0x5(%edi),%edi
517c71:	8d 3c b8             	lea    (%eax,%edi,4),%edi
517c74:	75 13                	jne    0x517c89
517c76:	68 90 9f 6b 00       	push   $0x6b9f90
517c7b:	56                   	push   %esi
517c7c:	e8 df b5 00 00       	call   0x523260
517c81:	83 c4 08             	add    $0x8,%esp
517c84:	e9 90 00 00 00       	jmp    0x517d19
517c89:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
517c8d:	75 7a                	jne    0x517d09
517c8f:	8b 45 10             	mov    0x10(%ebp),%eax
517c92:	85 c0                	test   %eax,%eax
517c94:	74 45                	je     0x517cdb
517c96:	8b 48 04             	mov    0x4(%eax),%ecx
517c99:	89 4d 08             	mov    %ecx,0x8(%ebp)
517c9c:	83 f9 07             	cmp    $0x7,%ecx
517c9f:	75 1a                	jne    0x517cbb
517ca1:	51                   	push   %ecx
517ca2:	ff 30                	push   (%eax)
517ca4:	68 bc 9f 6b 00       	push   $0x6b9fbc
517ca9:	e8 b2 7e fc ff       	call   0x4dfb60
517cae:	83 c4 0c             	add    $0xc,%esp
517cb1:	85 c0                	test   %eax,%eax
517cb3:	74 23                	je     0x517cd8
517cb5:	8b 45 10             	mov    0x10(%ebp),%eax
517cb8:	8b 4d 08             	mov    0x8(%ebp),%ecx
517cbb:	83 f9 06             	cmp    $0x6,%ecx
517cbe:	75 49                	jne    0x517d09
517cc0:	51                   	push   %ecx
517cc1:	ff 30                	push   (%eax)
517cc3:	68 c4 9f 6b 00       	push   $0x6b9fc4
517cc8:	e8 93 7e fc ff       	call   0x4dfb60
517ccd:	83 c4 0c             	add    $0xc,%esp
517cd0:	85 c0                	test   %eax,%eax
517cd2:	75 35                	jne    0x517d09
517cd4:	b2 40                	mov    $0x40,%dl
517cd6:	eb 07                	jmp    0x517cdf
517cd8:	8a 55 ff             	mov    -0x1(%ebp),%dl
517cdb:	66 ff 4b 2c          	decw   0x2c(%ebx)
517cdf:	0f b6 c2             	movzbl %dl,%eax
517ce2:	66 09 47 10          	or     %ax,0x10(%edi)
517ce6:	0f b6 c2             	movzbl %dl,%eax
517ce9:	09 43 24             	or     %eax,0x24(%ebx)
517cec:	f6 47 10 01          	testb  $0x1,0x10(%edi)
517cf0:	74 0a                	je     0x517cfc
517cf2:	57                   	push   %edi
517cf3:	56                   	push   %esi
517cf4:	e8 57 15 ff ff       	call   0x509250
517cf9:	83 c4 08             	add    $0x8,%esp
517cfc:	8b 45 0c             	mov    0xc(%ebp),%eax
517cff:	89 47 04             	mov    %eax,0x4(%edi)
517d02:	5f                   	pop    %edi
517d03:	5e                   	pop    %esi
517d04:	5b                   	pop    %ebx
517d05:	8b e5                	mov    %ebp,%esp
517d07:	5d                   	pop    %ebp
517d08:	c3                   	ret
517d09:	ff 37                	push   (%edi)
517d0b:	68 cc 9f 6b 00       	push   $0x6b9fcc
517d10:	56                   	push   %esi
517d11:	e8 4a b5 00 00       	call   0x523260
517d16:	83 c4 0c             	add    $0xc,%esp
517d19:	8b 45 0c             	mov    0xc(%ebp),%eax
517d1c:	85 c0                	test   %eax,%eax
517d1e:	74 0b                	je     0x517d2b
517d20:	50                   	push   %eax
517d21:	ff 36                	push   (%esi)
517d23:	e8 88 ea 00 00       	call   0x5267b0
517d28:	83 c4 08             	add    $0x8,%esp
517d2b:	5f                   	pop    %edi
517d2c:	5e                   	pop    %esi
517d2d:	5b                   	pop    %ebx
517d2e:	8b e5                	mov    %ebp,%esp
517d30:	5d                   	pop    %ebp
517d31:	c3                   	ret
517d32:	cc                   	int3
517d33:	cc                   	int3
517d34:	cc                   	int3
517d35:	cc                   	int3
517d36:	cc                   	int3
517d37:	cc                   	int3
517d38:	cc                   	int3
517d39:	cc                   	int3
517d3a:	cc                   	int3
517d3b:	cc                   	int3
517d3c:	cc                   	int3
517d3d:	cc                   	int3
517d3e:	cc                   	int3
517d3f:	cc                   	int3
517d40:	55                   	push   %ebp
517d41:	8b ec                	mov    %esp,%ebp
517d43:	51                   	push   %ecx
517d44:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
517d48:	53                   	push   %ebx
517d49:	8b 5d 08             	mov    0x8(%ebp),%ebx
517d4c:	56                   	push   %esi
517d4d:	57                   	push   %edi
517d4e:	8b 7d 0c             	mov    0xc(%ebp),%edi
517d51:	8b 13                	mov    (%ebx),%edx
517d53:	8b 73 04             	mov    0x4(%ebx),%esi
517d56:	7c 33                	jl     0x517d8b
517d58:	7f 04                	jg     0x517d5e
517d5a:	85 ff                	test   %edi,%edi
517d5c:	72 2d                	jb     0x517d8b
517d5e:	85 f6                	test   %esi,%esi
517d60:	7c 60                	jl     0x517dc2
517d62:	7f 04                	jg     0x517d68
517d64:	85 d2                	test   %edx,%edx
517d66:	74 5a                	je     0x517dc2
517d68:	83 c9 ff             	or     $0xffffffff,%ecx
517d6b:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
517d70:	2b ca                	sub    %edx,%ecx
517d72:	1b c6                	sbb    %esi,%eax
517d74:	3b 45 10             	cmp    0x10(%ebp),%eax
517d77:	7f 49                	jg     0x517dc2
517d79:	7c 04                	jl     0x517d7f
517d7b:	3b cf                	cmp    %edi,%ecx
517d7d:	73 43                	jae    0x517dc2
517d7f:	5f                   	pop    %edi
517d80:	5e                   	pop    %esi
517d81:	b8 01 00 00 00       	mov    $0x1,%eax
517d86:	5b                   	pop    %ebx
517d87:	8b e5                	mov    %ebp,%esp
517d89:	5d                   	pop    %ebp
517d8a:	c3                   	ret
517d8b:	85 f6                	test   %esi,%esi
517d8d:	7f 33                	jg     0x517dc2
517d8f:	7c 04                	jl     0x517d95
517d91:	85 d2                	test   %edx,%edx
517d93:	73 2d                	jae    0x517dc2
517d95:	b8 01 00 00 00       	mov    $0x1,%eax
517d9a:	b9 00 00 00 80       	mov    $0x80000000,%ecx
517d9f:	2b c2                	sub    %edx,%eax
517da1:	89 45 08             	mov    %eax,0x8(%ebp)
517da4:	8b c7                	mov    %edi,%eax
517da6:	1b ce                	sbb    %esi,%ecx
517da8:	83 c0 01             	add    $0x1,%eax
517dab:	89 45 fc             	mov    %eax,-0x4(%ebp)
517dae:	8b 45 10             	mov    0x10(%ebp),%eax
517db1:	83 d0 00             	adc    $0x0,%eax
517db4:	3b c8                	cmp    %eax,%ecx
517db6:	7c 0a                	jl     0x517dc2