578bda:	c3                   	ret
578bdb:	51                   	push   %ecx
578bdc:	ff 74 24 0c          	push   0xc(%esp)
578be0:	03 c6                	add    %esi,%eax
578be2:	50                   	push   %eax
578be3:	e8 88 01 00 00       	call   0x578d70
578be8:	83 c4 0c             	add    $0xc,%esp
578beb:	85 c0                	test   %eax,%eax
578bed:	74 8e                	je     0x578b7d
578bef:	83 46 10 02          	addl   $0x2,0x10(%esi)
578bf3:	b8 01 00 00 00       	mov    $0x1,%eax
578bf8:	5e                   	pop    %esi
578bf9:	c3                   	ret
578bfa:	cc                   	int3
578bfb:	cc                   	int3
578bfc:	cc                   	int3
578bfd:	cc                   	int3
578bfe:	cc                   	int3
578bff:	cc                   	int3
578c00:	b8 20 00 00 00       	mov    $0x20,%eax
578c05:	e8 e6 88 06 00       	call   0x5e14f0
578c0a:	a1 d4 89 72 00       	mov    0x7289d4,%eax
578c0f:	33 c4                	xor    %esp,%eax
578c11:	89 44 24 1c          	mov    %eax,0x1c(%esp)
578c15:	8b 44 24 28          	mov    0x28(%esp),%eax
578c19:	8d 0c 24             	lea    (%esp),%ecx
578c1c:	53                   	push   %ebx
578c1d:	8b 5c 24 28          	mov    0x28(%esp),%ebx
578c21:	51                   	push   %ecx
578c22:	68 70 8b 57 00       	push   $0x578b70
578c27:	6a 00                	push   $0x0
578c29:	6a 3a                	push   $0x3a
578c2b:	50                   	push   %eax
578c2c:	c7 44 24 28 00 00 00 	movl   $0x0,0x28(%esp)
578c33:	00
578c34:	c7 44 24 2c ff ff ff 	movl   $0xffffffff,0x2c(%esp)
578c3b:	ff
578c3c:	c7 44 24 30 00 00 00 	movl   $0x0,0x30(%esp)
578c43:	00
578c44:	e8 97 3d 01 00       	call   0x58c9e0
578c49:	83 c4 14             	add    $0x14,%esp
578c4c:	85 c0                	test   %eax,%eax
578c4e:	75 10                	jne    0x578c60
578c50:	5b                   	pop    %ebx
578c51:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
578c55:	33 cc                	xor    %esp,%ecx
578c57:	e8 7e 88 06 00       	call   0x5e14da
578c5c:	83 c4 20             	add    $0x20,%esp
578c5f:	c3                   	ret
578c60:	56                   	push   %esi
578c61:	8b 74 24 1c          	mov    0x1c(%esp),%esi
578c65:	57                   	push   %edi
578c66:	83 fe ff             	cmp    $0xffffffff,%esi
578c69:	75 1f                	jne    0x578c8a
578c6b:	83 7c 24 1c 10       	cmpl   $0x10,0x1c(%esp)
578c70:	0f 84 ce 00 00 00    	je     0x578d44
578c76:	5f                   	pop    %edi
578c77:	5e                   	pop    %esi
578c78:	33 c0                	xor    %eax,%eax
578c7a:	5b                   	pop    %ebx
578c7b:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
578c7f:	33 cc                	xor    %esp,%ecx
578c81:	e8 54 88 06 00       	call   0x5e14da
578c86:	83 c4 20             	add    $0x20,%esp
578c89:	c3                   	ret
578c8a:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
578c8e:	83 ff 10             	cmp    $0x10,%edi
578c91:	74 e3                	je     0x578c76
578c93:	8b 44 24 24          	mov    0x24(%esp),%eax
578c97:	83 f8 03             	cmp    $0x3,%eax
578c9a:	7f da                	jg     0x578c76
578c9c:	75 18                	jne    0x578cb6
578c9e:	85 ff                	test   %edi,%edi
578ca0:	7e 3d                	jle    0x578cdf
578ca2:	5f                   	pop    %edi
578ca3:	5e                   	pop    %esi
578ca4:	33 c0                	xor    %eax,%eax
578ca6:	5b                   	pop    %ebx
578ca7:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
578cab:	33 cc                	xor    %esp,%ecx
578cad:	e8 28 88 06 00       	call   0x5e14da
578cb2:	83 c4 20             	add    $0x20,%esp
578cb5:	c3                   	ret
578cb6:	83 f8 02             	cmp    $0x2,%eax
578cb9:	75 1c                	jne    0x578cd7
578cbb:	85 f6                	test   %esi,%esi
578cbd:	74 22                	je     0x578ce1
578cbf:	3b f7                	cmp    %edi,%esi
578cc1:	74 1c                	je     0x578cdf
578cc3:	5f                   	pop    %edi
578cc4:	5e                   	pop    %esi
578cc5:	33 c0                	xor    %eax,%eax
578cc7:	5b                   	pop    %ebx
578cc8:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
578ccc:	33 cc                	xor    %esp,%ecx
578cce:	e8 07 88 06 00       	call   0x5e14da
578cd3:	83 c4 20             	add    $0x20,%esp
578cd6:	c3                   	ret
578cd7:	85 f6                	test   %esi,%esi
578cd9:	74 9b                	je     0x578c76
578cdb:	3b f7                	cmp    %edi,%esi
578cdd:	74 97                	je     0x578c76
578cdf:	85 f6                	test   %esi,%esi
578ce1:	78 61                	js     0x578d44
578ce3:	56                   	push   %esi
578ce4:	8d 44 24 10          	lea    0x10(%esp),%eax
578ce8:	50                   	push   %eax
578ce9:	53                   	push   %ebx
578cea:	e8 11 a2 06 00       	call   0x5e2f00
578cef:	b8 10 00 00 00       	mov    $0x10,%eax
578cf4:	2b c7                	sub    %edi,%eax
578cf6:	50                   	push   %eax
578cf7:	8d 04 33             	lea    (%ebx,%esi,1),%eax
578cfa:	6a 00                	push   $0x0
578cfc:	50                   	push   %eax
578cfd:	e8 fe ac 06 00       	call   0x5e3a00
578d02:	8b 54 24 34          	mov    0x34(%esp),%edx
578d06:	83 c4 18             	add    $0x18,%esp
578d09:	8b 4c 24 20          	mov    0x20(%esp),%ecx
578d0d:	3b d1                	cmp    %ecx,%edx
578d0f:	74 3b                	je     0x578d4c
578d11:	8b c2                	mov    %edx,%eax
578d13:	2b da                	sub    %edx,%ebx
578d15:	2b c1                	sub    %ecx,%eax
578d17:	50                   	push   %eax
578d18:	8d 44 24 10          	lea    0x10(%esp),%eax
578d1c:	03 c1                	add    %ecx,%eax
578d1e:	50                   	push   %eax
578d1f:	8d 41 10             	lea    0x10(%ecx),%eax
578d22:	03 c3                	add    %ebx,%eax
578d24:	50                   	push   %eax
578d25:	e8 d6 a1 06 00       	call   0x5e2f00
578d2a:	83 c4 0c             	add    $0xc,%esp
578d2d:	b8 01 00 00 00       	mov    $0x1,%eax
578d32:	5f                   	pop    %edi
578d33:	5e                   	pop    %esi
578d34:	5b                   	pop    %ebx
578d35:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
578d39:	33 cc                	xor    %esp,%ecx
578d3b:	e8 9a 87 06 00       	call   0x5e14da
578d40:	83 c4 20             	add    $0x20,%esp
578d43:	c3                   	ret
578d44:	0f 10 44 24 0c       	movups 0xc(%esp),%xmm0
578d49:	0f 11 03             	movups %xmm0,(%ebx)
578d4c:	8b 4c 24 28          	mov    0x28(%esp),%ecx
578d50:	b8 01 00 00 00       	mov    $0x1,%eax
578d55:	5f                   	pop    %edi
578d56:	5e                   	pop    %esi
578d57:	5b                   	pop    %ebx
578d58:	33 cc                	xor    %esp,%ecx
578d5a:	e8 7b 87 06 00       	call   0x5e14da
578d5f:	83 c4 20             	add    $0x20,%esp
578d62:	c3                   	ret
578d63:	cc                   	int3
578d64:	cc                   	int3
578d65:	cc                   	int3
578d66:	cc                   	int3
578d67:	cc                   	int3
578d68:	cc                   	int3
578d69:	cc                   	int3
578d6a:	cc                   	int3
578d6b:	cc                   	int3
578d6c:	cc                   	int3
578d6d:	cc                   	int3
578d6e:	cc                   	int3
578d6f:	cc                   	int3
578d70:	56                   	push   %esi
578d71:	8b 74 24 10          	mov    0x10(%esp),%esi
578d75:	33 d2                	xor    %edx,%edx
578d77:	83 fe 04             	cmp    $0x4,%esi
578d7a:	7e 04                	jle    0x578d80
578d7c:	33 c0                	xor    %eax,%eax
578d7e:	5e                   	pop    %esi
578d7f:	c3                   	ret
578d80:	57                   	push   %edi
578d81:	85 f6                	test   %esi,%esi
578d83:	74 45                	je     0x578dca
578d85:	8b 7c 24 10          	mov    0x10(%esp),%edi
578d89:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
578d90:	8a 0f                	mov    (%edi),%cl
578d92:	8d 7f 01             	lea    0x1(%edi),%edi
578d95:	4e                   	dec    %esi
578d96:	c1 e2 04             	shl    $0x4,%edx
578d99:	8d 41 d0             	lea    -0x30(%ecx),%eax
578d9c:	3c 09                	cmp    $0x9,%al
578d9e:	77 08                	ja     0x578da8
578da0:	0f b6 c1             	movzbl %cl,%eax
578da3:	83 e8 30             	sub    $0x30,%eax
578da6:	eb 1c                	jmp    0x578dc4
578da8:	8d 41 bf             	lea    -0x41(%ecx),%eax
578dab:	3c 05                	cmp    $0x5,%al
578dad:	77 08                	ja     0x578db7
578daf:	0f b6 c1             	movzbl %cl,%eax
578db2:	83 e8 37             	sub    $0x37,%eax
578db5:	eb 0d                	jmp    0x578dc4
578db7:	8d 41 9f             	lea    -0x61(%ecx),%eax
578dba:	3c 05                	cmp    $0x5,%al
578dbc:	77 22                	ja     0x578de0
578dbe:	0f b6 c1             	movzbl %cl,%eax
578dc1:	83 e8 57             	sub    $0x57,%eax
578dc4:	0b d0                	or     %eax,%edx
578dc6:	85 f6                	test   %esi,%esi
578dc8:	75 c6                	jne    0x578d90
578dca:	8b 44 24 0c          	mov    0xc(%esp),%eax
578dce:	8b ca                	mov    %edx,%ecx
578dd0:	c1 e9 08             	shr    $0x8,%ecx
578dd3:	5f                   	pop    %edi
578dd4:	5e                   	pop    %esi
578dd5:	88 08                	mov    %cl,(%eax)
578dd7:	88 50 01             	mov    %dl,0x1(%eax)
578dda:	b8 01 00 00 00       	mov    $0x1,%eax
578ddf:	c3                   	ret
578de0:	5f                   	pop    %edi
578de1:	33 c0                	xor    %eax,%eax
578de3:	5e                   	pop    %esi
578de4:	c3                   	ret
578de5:	cc                   	int3
578de6:	cc                   	int3
578de7:	cc                   	int3
578de8:	cc                   	int3
578de9:	cc                   	int3
578dea:	cc                   	int3
578deb:	cc                   	int3
578dec:	cc                   	int3
578ded:	cc                   	int3
578dee:	cc                   	int3
578def:	cc                   	int3
578df0:	8b 4c 24 08          	mov    0x8(%esp),%ecx
578df4:	56                   	push   %esi
578df5:	8b f1                	mov    %ecx,%esi
578df7:	57                   	push   %edi
578df8:	8d 56 01             	lea    0x1(%esi),%edx
578dfb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
578e00:	8a 06                	mov    (%esi),%al
578e02:	46                   	inc    %esi
578e03:	84 c0                	test   %al,%al
578e05:	75 f9                	jne    0x578e00
578e07:	8b 7c 24 0c          	mov    0xc(%esp),%edi
578e0b:	2b f2                	sub    %edx,%esi
578e0d:	56                   	push   %esi
578e0e:	51                   	push   %ecx
578e0f:	57                   	push   %edi
578e10:	e8 4b 0d 08 00       	call   0x5f9b60
578e15:	83 c4 0c             	add    $0xc,%esp
578e18:	85 c0                	test   %eax,%eax
578e1a:	75 15                	jne    0x578e31
578e1c:	8a 04 3e             	mov    (%esi,%edi,1),%al
578e1f:	84 c0                	test   %al,%al
578e21:	74 0c                	je     0x578e2f
578e23:	3c 2e                	cmp    $0x2e,%al
578e25:	74 08                	je     0x578e2f
578e27:	5f                   	pop    %edi
578e28:	b8 01 00 00 00       	mov    $0x1,%eax
578e2d:	5e                   	pop    %esi
578e2e:	c3                   	ret
578e2f:	33 c0                	xor    %eax,%eax
578e31:	5f                   	pop    %edi
578e32:	5e                   	pop    %esi
578e33:	c3                   	ret
578e34:	cc                   	int3
578e35:	cc                   	int3
578e36:	cc                   	int3
578e37:	cc                   	int3
578e38:	cc                   	int3
578e39:	cc                   	int3
578e3a:	cc                   	int3
578e3b:	cc                   	int3
578e3c:	cc                   	int3
578e3d:	cc                   	int3
578e3e:	cc                   	int3
578e3f:	cc                   	int3
578e40:	b8 04 00 00 00       	mov    $0x4,%eax
578e45:	e8 a6 86 06 00       	call   0x5e14f0
578e4a:	56                   	push   %esi
578e4b:	8b 74 24 10          	mov    0x10(%esp),%esi
578e4f:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
578e56:	00
578e57:	85 f6                	test   %esi,%esi
578e59:	75 1d                	jne    0x578e78
578e5b:	68 b6 00 00 00       	push   $0xb6
578e60:	68 bc d3 6b 00       	push   $0x6bd3bc
578e65:	6a 6d                	push   $0x6d
578e67:	6a 6c                	push   $0x6c
578e69:	6a 22                	push   $0x22
578e6b:	e8 30 86 f2 ff       	call   0x4a14a0
578e70:	83 c4 14             	add    $0x14,%esp
578e73:	33 c0                	xor    %eax,%eax
578e75:	5e                   	pop    %esi
578e76:	59                   	pop    %ecx
578e77:	c3                   	ret
578e78:	57                   	push   %edi
578e79:	e8 92 a4 f3 ff       	call   0x4b3310
578e7e:	80 3e 2d             	cmpb   $0x2d,(%esi)
578e81:	89 44 24 08          	mov    %eax,0x8(%esp)
578e85:	75 08                	jne    0x578e8f
578e87:	46                   	inc    %esi
578e88:	bf 01 00 00 00       	mov    $0x1,%edi
578e8d:	eb 02                	jmp    0x578e91
578e8f:	33 ff                	xor    %edi,%edi
578e91:	80 3e 30             	cmpb   $0x30,(%esi)
578e94:	75 1b                	jne    0x578eb1
578e96:	8a 46 01             	mov    0x1(%esi),%al
578e99:	3c 78                	cmp    $0x78,%al
578e9b:	74 04                	je     0x578ea1
578e9d:	3c 58                	cmp    $0x58,%al
578e9f:	75 10                	jne    0x578eb1
578ea1:	83 c6 02             	add    $0x2,%esi
578ea4:	8d 44 24 08          	lea    0x8(%esp),%eax
578ea8:	56                   	push   %esi
578ea9:	50                   	push   %eax
578eaa:	e8 91 be f3 ff       	call   0x4b4d40
578eaf:	eb 0b                	jmp    0x578ebc
578eb1:	8d 44 24 08          	lea    0x8(%esp),%eax
578eb5:	56                   	push   %esi
578eb6:	50                   	push   %eax
578eb7:	e8 e4 bc f3 ff       	call   0x4b4ba0
578ebc:	83 c4 08             	add    $0x8,%esp
578ebf:	85 c0                	test   %eax,%eax
578ec1:	74 5f                	je     0x578f22
578ec3:	80 3c 30 00          	cmpb   $0x0,(%eax,%esi,1)
578ec7:	75 59                	jne    0x578f22
578ec9:	8b 44 24 08          	mov    0x8(%esp),%eax
578ecd:	85 ff                	test   %edi,%edi
578ecf:	74 08                	je     0x578ed9
578ed1:	33 c9                	xor    %ecx,%ecx
578ed3:	39 48 04             	cmp    %ecx,0x4(%eax)
578ed6:	0f 44 f9             	cmove  %ecx,%edi
578ed9:	6a 00                	push   $0x0
578edb:	50                   	push   %eax
578edc:	e8 5f b1 f3 ff       	call   0x4b4040
578ee1:	ff 74 24 10          	push   0x10(%esp)
578ee5:	8b f0                	mov    %eax,%esi
578ee7:	e8 f4 a2 f3 ff       	call   0x4b31e0
578eec:	83 c4 0c             	add    $0xc,%esp
578eef:	85 f6                	test   %esi,%esi
578ef1:	75 1e                	jne    0x578f11
578ef3:	68 d8 00 00 00       	push   $0xd8
578ef8:	68 bc d3 6b 00       	push   $0x6bd3bc
578efd:	6a 65                	push   $0x65
578eff:	6a 6c                	push   $0x6c
578f01:	6a 22                	push   $0x22
578f03:	e8 98 85 f2 ff       	call   0x4a14a0
578f08:	83 c4 14             	add    $0x14,%esp
578f0b:	33 c0                	xor    %eax,%eax
578f0d:	5f                   	pop    %edi
578f0e:	5e                   	pop    %esi
578f0f:	59                   	pop    %ecx
578f10:	c3                   	ret
578f11:	85 ff                	test   %edi,%edi
578f13:	74 07                	je     0x578f1c