508a2c:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
508a30:	33 f6                	xor    %esi,%esi
508a32:	39 37                	cmp    %esi,(%edi)
508a34:	75 08                	jne    0x508a3e
508a36:	5f                   	pop    %edi
508a37:	33 c0                	xor    %eax,%eax
508a39:	5e                   	pop    %esi
508a3a:	83 c4 10             	add    $0x10,%esp
508a3d:	c3                   	ret
508a3e:	e8 2d 06 fd ff       	call   0x4d9070
508a43:	ff 35 94 73 71 00    	push   0x717394
508a49:	e8 72 95 fd ff       	call   0x4e1fc0
508a4e:	8b 0f                	mov    (%edi),%ecx
508a50:	83 c4 04             	add    $0x4,%esp
508a53:	85 c9                	test   %ecx,%ecx
508a55:	0f 84 b7 00 00 00    	je     0x508b12
508a5b:	8b 44 24 20          	mov    0x20(%esp),%eax
508a5f:	89 44 24 08          	mov    %eax,0x8(%esp)
508a63:	8d 44 24 08          	lea    0x8(%esp),%eax
508a67:	50                   	push   %eax
508a68:	51                   	push   %ecx
508a69:	e8 82 b4 fd ff       	call   0x4e3ef0
508a6e:	8b f8                	mov    %eax,%edi
508a70:	83 c4 08             	add    $0x8,%esp
508a73:	85 ff                	test   %edi,%edi
508a75:	0f 84 97 00 00 00    	je     0x508b12
508a7b:	8b 47 08             	mov    0x8(%edi),%eax
508a7e:	85 c0                	test   %eax,%eax
508a80:	74 12                	je     0x508a94
508a82:	50                   	push   %eax
508a83:	e8 28 ee fd ff       	call   0x4e78b0
508a88:	83 c4 04             	add    $0x4,%esp
508a8b:	85 c0                	test   %eax,%eax
508a8d:	74 05                	je     0x508a94
508a8f:	8b 77 08             	mov    0x8(%edi),%esi
508a92:	eb 77                	jmp    0x508b0b
508a94:	39 77 0c             	cmp    %esi,0xc(%edi)
508a97:	75 f6                	jne    0x508a8f
508a99:	53                   	push   %ebx
508a9a:	6a 00                	push   $0x0
508a9c:	ff 77 04             	push   0x4(%edi)
508a9f:	e8 dc c7 fd ff       	call   0x4e5280
508aa4:	8b f0                	mov    %eax,%esi
508aa6:	83 c4 08             	add    $0x8,%esp
508aa9:	bb 01 00 00 00       	mov    $0x1,%ebx
508aae:	85 f6                	test   %esi,%esi
508ab0:	74 58                	je     0x508b0a
508ab2:	83 7e 54 00          	cmpl   $0x0,0x54(%esi)
508ab6:	7f 09                	jg     0x508ac1
508ab8:	f6 05 44 68 69 00 01 	testb  $0x1,0x696844
508abf:	75 0d                	jne    0x508ace
508ac1:	56                   	push   %esi
508ac2:	e8 e9 ed fd ff       	call   0x4e78b0
508ac7:	83 c4 04             	add    $0x4,%esp
508aca:	85 c0                	test   %eax,%eax
508acc:	75 15                	jne    0x508ae3
508ace:	53                   	push   %ebx
508acf:	ff 77 04             	push   0x4(%edi)
508ad2:	e8 a9 c7 fd ff       	call   0x4e5280
508ad7:	8b f0                	mov    %eax,%esi
508ad9:	83 c4 08             	add    $0x8,%esp
508adc:	43                   	inc    %ebx
508add:	85 f6                	test   %esi,%esi
508adf:	75 d1                	jne    0x508ab2
508ae1:	eb 27                	jmp    0x508b0a
508ae3:	39 77 08             	cmp    %esi,0x8(%edi)
508ae6:	74 22                	je     0x508b0a
508ae8:	56                   	push   %esi
508ae9:	e8 c2 ed fd ff       	call   0x4e78b0
508aee:	83 c4 04             	add    $0x4,%esp
508af1:	85 c0                	test   %eax,%eax
508af3:	74 15                	je     0x508b0a
508af5:	8b 47 08             	mov    0x8(%edi),%eax
508af8:	85 c0                	test   %eax,%eax
508afa:	74 0b                	je     0x508b07
508afc:	6a 00                	push   $0x0
508afe:	50                   	push   %eax
508aff:	e8 2c ed fd ff       	call   0x4e7830
508b04:	83 c4 08             	add    $0x8,%esp
508b07:	89 77 08             	mov    %esi,0x8(%edi)
508b0a:	5b                   	pop    %ebx
508b0b:	c7 47 0c 01 00 00 00 	movl   $0x1,0xc(%edi)
508b12:	ff 35 94 73 71 00    	push   0x717394
508b18:	e8 23 95 fd ff       	call   0x4e2040
508b1d:	83 c4 04             	add    $0x4,%esp
508b20:	e8 6b 03 fd ff       	call   0x4d8e90
508b25:	5f                   	pop    %edi
508b26:	8b c6                	mov    %esi,%eax
508b28:	5e                   	pop    %esi
508b29:	83 c4 10             	add    $0x10,%esp
508b2c:	c3                   	ret
508b2d:	cc                   	int3
508b2e:	cc                   	int3
508b2f:	cc                   	int3
508b30:	56                   	push   %esi
508b31:	8b 74 24 08          	mov    0x8(%esp),%esi
508b35:	85 f6                	test   %esi,%esi
508b37:	74 30                	je     0x508b69
508b39:	ff 76 04             	push   0x4(%esi)
508b3c:	e8 df c3 fd ff       	call   0x4e4f20
508b41:	8b 46 08             	mov    0x8(%esi),%eax
508b44:	83 c4 04             	add    $0x4,%esp
508b47:	85 c0                	test   %eax,%eax
508b49:	74 0b                	je     0x508b56
508b4b:	6a 00                	push   $0x0
508b4d:	50                   	push   %eax
508b4e:	e8 dd ec fd ff       	call   0x4e7830
508b53:	83 c4 08             	add    $0x8,%esp
508b56:	68 b1 00 00 00       	push   $0xb1
508b5b:	68 c0 ad 62 00       	push   $0x62adc0
508b60:	56                   	push   %esi
508b61:	e8 1a 7c fd ff       	call   0x4e0780
508b66:	83 c4 0c             	add    $0xc,%esp
508b69:	5e                   	pop    %esi
508b6a:	c3                   	ret
508b6b:	cc                   	int3
508b6c:	cc                   	int3
508b6d:	cc                   	int3
508b6e:	cc                   	int3
508b6f:	cc                   	int3
508b70:	8b 4c 24 08          	mov    0x8(%esp),%ecx
508b74:	8b 44 24 04          	mov    0x4(%esp),%eax
508b78:	ff 71 04             	push   0x4(%ecx)
508b7b:	ff 70 08             	push   0x8(%eax)
508b7e:	ff 70 04             	push   0x4(%eax)
508b81:	ff 30                	push   (%eax)
508b83:	8b 01                	mov    (%ecx),%eax
508b85:	ff d0                	call   *%eax
508b87:	83 c4 10             	add    $0x10,%esp
508b8a:	c3                   	ret
508b8b:	cc                   	int3
508b8c:	cc                   	int3
508b8d:	cc                   	int3
508b8e:	cc                   	int3
508b8f:	cc                   	int3
508b90:	56                   	push   %esi
508b91:	8b 74 24 0c          	mov    0xc(%esp),%esi
508b95:	57                   	push   %edi
508b96:	8a 16                	mov    (%esi),%dl
508b98:	80 fa 2d             	cmp    $0x2d,%dl
508b9b:	75 03                	jne    0x508ba0
508b9d:	8a 56 01             	mov    0x1(%esi),%dl
508ba0:	8d 46 01             	lea    0x1(%esi),%eax
508ba3:	0f 45 c6             	cmovne %esi,%eax
508ba6:	80 fa 30             	cmp    $0x30,%dl
508ba9:	75 1d                	jne    0x508bc8
508bab:	8a 48 01             	mov    0x1(%eax),%cl
508bae:	80 f9 58             	cmp    $0x58,%cl
508bb1:	74 05                	je     0x508bb8
508bb3:	80 f9 78             	cmp    $0x78,%cl
508bb6:	75 10                	jne    0x508bc8
508bb8:	8b 7c 24 0c          	mov    0xc(%esp),%edi
508bbc:	83 c0 02             	add    $0x2,%eax
508bbf:	50                   	push   %eax
508bc0:	57                   	push   %edi
508bc1:	e8 aa 04 00 00       	call   0x509070
508bc6:	eb 0b                	jmp    0x508bd3
508bc8:	8b 7c 24 0c          	mov    0xc(%esp),%edi
508bcc:	50                   	push   %eax
508bcd:	57                   	push   %edi
508bce:	e8 1d 03 00 00       	call   0x508ef0
508bd3:	83 c4 08             	add    $0x8,%esp
508bd6:	85 c0                	test   %eax,%eax
508bd8:	75 03                	jne    0x508bdd
508bda:	5f                   	pop    %edi
508bdb:	5e                   	pop    %esi
508bdc:	c3                   	ret
508bdd:	80 3e 2d             	cmpb   $0x2d,(%esi)
508be0:	75 0f                	jne    0x508bf1
508be2:	8b 07                	mov    (%edi),%eax
508be4:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
508be8:	74 07                	je     0x508bf1
508bea:	c7 40 0c 01 00 00 00 	movl   $0x1,0xc(%eax)
508bf1:	5f                   	pop    %edi
508bf2:	b8 01 00 00 00       	mov    $0x1,%eax
508bf7:	5e                   	pop    %esi
508bf8:	c3                   	ret
508bf9:	cc                   	int3
508bfa:	cc                   	int3
508bfb:	cc                   	int3
508bfc:	cc                   	int3
508bfd:	cc                   	int3
508bfe:	cc                   	int3
508bff:	cc                   	int3
508c00:	b8 10 00 00 00       	mov    $0x10,%eax
508c05:	e8 a6 8b 0c 00       	call   0x5d17b0
508c0a:	53                   	push   %ebx
508c0b:	55                   	push   %ebp
508c0c:	56                   	push   %esi
508c0d:	57                   	push   %edi
508c0e:	8b 7c 24 24          	mov    0x24(%esp),%edi
508c12:	57                   	push   %edi
508c13:	e8 08 12 fd ff       	call   0x4d9e20
508c18:	6a 48                	push   $0x48
508c1a:	68 f0 ad 62 00       	push   $0x62adf0
508c1f:	8d 34 40             	lea    (%eax,%eax,2),%esi
508c22:	b8 d3 4d 62 10       	mov    $0x10624dd3,%eax
508c27:	f7 ee                	imul   %esi
508c29:	b8 67 66 66 66       	mov    $0x66666667,%eax
508c2e:	c1 fa 06             	sar    $0x6,%edx
508c31:	8b ca                	mov    %edx,%ecx
508c33:	c1 e9 1f             	shr    $0x1f,%ecx
508c36:	03 ca                	add    %edx,%ecx
508c38:	f7 ee                	imul   %esi
508c3a:	c1 fa 02             	sar    $0x2,%edx
508c3d:	8b c2                	mov    %edx,%eax
508c3f:	03 ca                	add    %edx,%ecx
508c41:	c1 e8 1f             	shr    $0x1f,%eax
508c44:	83 c0 02             	add    $0x2,%eax
508c47:	03 c8                	add    %eax,%ecx
508c49:	b8 39 8e e3 38       	mov    $0x38e38e39,%eax
508c4e:	f7 e9                	imul   %ecx
508c50:	8d 59 03             	lea    0x3(%ecx),%ebx
508c53:	d1 fa                	sar    $1,%edx
508c55:	8b c2                	mov    %edx,%eax
508c57:	89 5c 24 24          	mov    %ebx,0x24(%esp)
508c5b:	c1 e8 1f             	shr    $0x1f,%eax
508c5e:	42                   	inc    %edx
508c5f:	03 c2                	add    %edx,%eax
508c61:	89 44 24 28          	mov    %eax,0x28(%esp)
508c65:	c1 e0 02             	shl    $0x2,%eax
508c68:	50                   	push   %eax
508c69:	e8 e2 7a fd ff       	call   0x4e0750
508c6e:	6a 49                	push   $0x49
508c70:	68 f0 ad 62 00       	push   $0x62adf0
508c75:	53                   	push   %ebx
508c76:	8b e8                	mov    %eax,%ebp
508c78:	e8 d3 7a fd ff       	call   0x4e0750
508c7d:	8b f0                	mov    %eax,%esi
508c7f:	83 c4 1c             	add    $0x1c,%esp
508c82:	89 74 24 10          	mov    %esi,0x10(%esp)
508c86:	85 f6                	test   %esi,%esi
508c88:	0f 84 1d 01 00 00    	je     0x508dab
508c8e:	85 ed                	test   %ebp,%ebp
508c90:	0f 84 15 01 00 00    	je     0x508dab
508c96:	57                   	push   %edi
508c97:	e8 b4 0e fd ff       	call   0x4d9b50
508c9c:	8b d8                	mov    %eax,%ebx
508c9e:	83 c4 04             	add    $0x4,%esp
508ca1:	85 db                	test   %ebx,%ebx
508ca3:	0f 84 19 01 00 00    	je     0x508dc2
508ca9:	8b fe                	mov    %esi,%edi
508cab:	8b f5                	mov    %ebp,%esi
508cad:	53                   	push   %ebx
508cae:	e8 ad 10 fd ff       	call   0x4d9d60
508cb3:	83 c4 04             	add    $0x4,%esp
508cb6:	85 c0                	test   %eax,%eax
508cb8:	74 0c                	je     0x508cc6
508cba:	8b c7                	mov    %edi,%eax
508cbc:	66 c7 00 30 00       	movw   $0x30,(%eax)
508cc1:	e9 c3 00 00 00       	jmp    0x508d89
508cc6:	53                   	push   %ebx
508cc7:	e8 14 10 fd ff       	call   0x4d9ce0
508ccc:	83 c4 04             	add    $0x4,%esp
508ccf:	85 c0                	test   %eax,%eax
508cd1:	74 08                	je     0x508cdb
508cd3:	8b c7                	mov    %edi,%eax
508cd5:	c6 00 2d             	movb   $0x2d,(%eax)
508cd8:	8d 78 01             	lea    0x1(%eax),%edi
508cdb:	53                   	push   %ebx
508cdc:	e8 7f 10 fd ff       	call   0x4d9d60
508ce1:	83 c4 04             	add    $0x4,%esp
508ce4:	85 c0                	test   %eax,%eax
508ce6:	75 47                	jne    0x508d2f
508ce8:	89 44 24 14          	mov    %eax,0x14(%esp)
508cec:	0f 1f 40 00          	nopl   0x0(%eax)
508cf0:	c1 f8 02             	sar    $0x2,%eax
508cf3:	3b 44 24 1c          	cmp    0x1c(%esp),%eax
508cf7:	0f 8d c5 00 00 00    	jge    0x508dc2
508cfd:	68 00 ca 9a 3b       	push   $0x3b9aca00
508d02:	53                   	push   %ebx
508d03:	e8 e8 39 ff ff       	call   0x4fc6f0
508d08:	83 c4 08             	add    $0x8,%esp
508d0b:	89 06                	mov    %eax,(%esi)
508d0d:	83 f8 ff             	cmp    $0xffffffff,%eax
508d10:	0f 84 ac 00 00 00    	je     0x508dc2
508d16:	83 44 24 14 04       	addl   $0x4,0x14(%esp)
508d1b:	83 c6 04             	add    $0x4,%esi
508d1e:	53                   	push   %ebx
508d1f:	e8 3c 10 fd ff       	call   0x4d9d60
508d24:	83 c4 04             	add    $0x4,%esp
508d27:	85 c0                	test   %eax,%eax
508d29:	8b 44 24 14          	mov    0x14(%esp),%eax
508d2d:	74 c1                	je     0x508cf0
508d2f:	ff 76 fc             	push   -0x4(%esi)
508d32:	8b 44 24 1c          	mov    0x1c(%esp),%eax
508d36:	83 ee 04             	sub    $0x4,%esi
508d39:	2b c7                	sub    %edi,%eax
508d3b:	03 44 24 14          	add    0x14(%esp),%eax
508d3f:	68 ec 5c 60 00       	push   $0x605cec
508d44:	50                   	push   %eax
508d45:	57                   	push   %edi
508d46:	e8 e5 98 fd ff       	call   0x4e2630
508d4b:	83 c4 10             	add    $0x10,%esp
508d4e:	85 c0                	test   %eax,%eax
508d50:	78 70                	js     0x508dc2
508d52:	03 f8                	add    %eax,%edi
508d54:	3b f5                	cmp    %ebp,%esi
508d56:	74 31                	je     0x508d89
508d58:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
508d5f:	00
508d60:	ff 76 fc             	push   -0x4(%esi)
508d63:	8b 44 24 1c          	mov    0x1c(%esp),%eax
508d67:	83 ee 04             	sub    $0x4,%esi
508d6a:	2b c7                	sub    %edi,%eax
508d6c:	03 44 24 14          	add    0x14(%esp),%eax
508d70:	68 08 ae 62 00       	push   $0x62ae08
508d75:	50                   	push   %eax
508d76:	57                   	push   %edi
508d77:	e8 b4 98 fd ff       	call   0x4e2630
508d7c:	83 c4 10             	add    $0x10,%esp
508d7f:	85 c0                	test   %eax,%eax
508d81:	78 3f                	js     0x508dc2
508d83:	03 f8                	add    %eax,%edi
508d85:	3b f5                	cmp    %ebp,%esi
508d87:	75 d7                	jne    0x508d60
508d89:	6a 76                	push   $0x76
508d8b:	68 f0 ad 62 00       	push   $0x62adf0
508d90:	55                   	push   %ebp
508d91:	e8 ea 79 fd ff       	call   0x4e0780
508d96:	53                   	push   %ebx
508d97:	e8 84 0e fd ff       	call   0x4d9c20
508d9c:	8b 44 24 20          	mov    0x20(%esp),%eax
508da0:	83 c4 10             	add    $0x10,%esp
508da3:	5f                   	pop    %edi
508da4:	5e                   	pop    %esi
508da5:	5d                   	pop    %ebp
508da6:	5b                   	pop    %ebx
508da7:	83 c4 10             	add    $0x10,%esp
508daa:	c3                   	ret
508dab:	6a 4b                	push   $0x4b
508dad:	68 f0 ad 62 00       	push   $0x62adf0
508db2:	6a 41                	push   $0x41
508db4:	6a 68                	push   $0x68
508db6:	6a 03                	push   $0x3
508db8:	e8 c3 01 fd ff       	call   0x4d8f80
508dbd:	83 c4 14             	add    $0x14,%esp
508dc0:	33 db                	xor    %ebx,%ebx
508dc2:	6a 76                	push   $0x76
508dc4:	68 f0 ad 62 00       	push   $0x62adf0
508dc9:	55                   	push   %ebp
508dca:	e8 b1 79 fd ff       	call   0x4e0780
508dcf:	53                   	push   %ebx
508dd0:	e8 4b 0e fd ff       	call   0x4d9c20
508dd5:	6a 7a                	push   $0x7a
508dd7:	68 f0 ad 62 00       	push   $0x62adf0
508ddc:	ff 74 24 28          	push   0x28(%esp)
508de0:	e8 9b 79 fd ff       	call   0x4e0780
508de5:	83 c4 1c             	add    $0x1c,%esp
508de8:	33 c0                	xor    %eax,%eax