5869d9:	83 c4 04             	add    $0x4,%esp
5869dc:	85 c0                	test   %eax,%eax
5869de:	74 0e                	je     0x5869ee
5869e0:	8b 0d c0 6c 69 00    	mov    0x696cc0,%ecx
5869e6:	85 48 04             	test   %ecx,0x4(%eax)
5869e9:	75 03                	jne    0x5869ee
5869eb:	33 c0                	xor    %eax,%eax
5869ed:	c3                   	ret
5869ee:	b8 01 00 00 00       	mov    $0x1,%eax
5869f3:	c3                   	ret
5869f4:	cc                   	int3
5869f5:	cc                   	int3
5869f6:	cc                   	int3
5869f7:	cc                   	int3
5869f8:	cc                   	int3
5869f9:	cc                   	int3
5869fa:	cc                   	int3
5869fb:	cc                   	int3
5869fc:	cc                   	int3
5869fd:	cc                   	int3
5869fe:	cc                   	int3
5869ff:	cc                   	int3
586a00:	b8 20 00 00 00       	mov    $0x20,%eax
586a05:	e8 a6 ad 04 00       	call   0x5d17b0
586a0a:	8b 4c 24 40          	mov    0x40(%esp),%ecx
586a0e:	53                   	push   %ebx
586a0f:	55                   	push   %ebp
586a10:	33 ed                	xor    %ebp,%ebp
586a12:	89 6c 24 10          	mov    %ebp,0x10(%esp)
586a16:	56                   	push   %esi
586a17:	57                   	push   %edi
586a18:	83 f9 03             	cmp    $0x3,%ecx
586a1b:	74 05                	je     0x586a22
586a1d:	83 f9 06             	cmp    $0x6,%ecx
586a20:	75 09                	jne    0x586a2b
586a22:	bd 01 00 00 00       	mov    $0x1,%ebp
586a27:	89 6c 24 18          	mov    %ebp,0x18(%esp)
586a2b:	8b 54 24 58          	mov    0x58(%esp),%edx
586a2f:	85 ed                	test   %ebp,%ebp
586a31:	8b 74 24 5c          	mov    0x5c(%esp),%esi
586a35:	8b 1a                	mov    (%edx),%ebx
586a37:	8b c3                	mov    %ebx,%eax
586a39:	8b 3e                	mov    (%esi),%edi
586a3b:	0f 44 c7             	cmove  %edi,%eax
586a3e:	89 44 24 2c          	mov    %eax,0x2c(%esp)
586a42:	85 c0                	test   %eax,%eax
586a44:	0f 84 d3 02 00 00    	je     0x586d1d
586a4a:	85 ed                	test   %ebp,%ebp
586a4c:	8b d7                	mov    %edi,%edx
586a4e:	0f 44 d3             	cmove  %ebx,%edx
586a51:	89 7c 24 14          	mov    %edi,0x14(%esp)
586a55:	8b f3                	mov    %ebx,%esi
586a57:	89 7c 24 20          	mov    %edi,0x20(%esp)
586a5b:	8b eb                	mov    %ebx,%ebp
586a5d:	89 54 24 28          	mov    %edx,0x28(%esp)
586a61:	8b c2                	mov    %edx,%eax
586a63:	89 54 24 10          	mov    %edx,0x10(%esp)
586a67:	89 54 24 24          	mov    %edx,0x24(%esp)
586a6b:	85 d2                	test   %edx,%edx
586a6d:	0f 84 96 02 00 00    	je     0x586d09
586a73:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
586a78:	74 05                	je     0x586a7f
586a7a:	8b 52 10             	mov    0x10(%edx),%edx
586a7d:	eb 03                	jmp    0x586a82
586a7f:	8b 52 0c             	mov    0xc(%edx),%edx
586a82:	83 7c 24 54 00       	cmpl   $0x0,0x54(%esp)
586a87:	89 54 24 1c          	mov    %edx,0x1c(%esp)
586a8b:	8b 10                	mov    (%eax),%edx
586a8d:	7c 16                	jl     0x586aa5
586a8f:	8b 4c 24 54          	mov    0x54(%esp),%ecx
586a93:	3b 4a 38             	cmp    0x38(%edx),%ecx
586a96:	8b 4c 24 50          	mov    0x50(%esp),%ecx
586a9a:	0f 85 5b 02 00 00    	jne    0x586cfb
586aa0:	e9 b6 00 00 00       	jmp    0x586b5b
586aa5:	83 7c 24 34 00       	cmpl   $0x0,0x34(%esp)
586aaa:	74 0d                	je     0x586ab9
586aac:	8b 4c 24 34          	mov    0x34(%esp),%ecx
586ab0:	3b 4a 0c             	cmp    0xc(%edx),%ecx
586ab3:	0f 85 42 02 00 00    	jne    0x586cfb
586ab9:	83 7c 24 38 00       	cmpl   $0x0,0x38(%esp)
586abe:	74 0d                	je     0x586acd
586ac0:	8b 4c 24 38          	mov    0x38(%esp),%ecx
586ac4:	85 4a 10             	test   %ecx,0x10(%edx)
586ac7:	0f 84 2e 02 00 00    	je     0x586cfb
586acd:	83 7c 24 3c 00       	cmpl   $0x0,0x3c(%esp)
586ad2:	74 0d                	je     0x586ae1
586ad4:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
586ad8:	85 4a 14             	test   %ecx,0x14(%edx)
586adb:	0f 84 1a 02 00 00    	je     0x586cfb
586ae1:	83 7c 24 40 00       	cmpl   $0x0,0x40(%esp)
586ae6:	74 0d                	je     0x586af5
586ae8:	8b 4c 24 40          	mov    0x40(%esp),%ecx
586aec:	85 4a 18             	test   %ecx,0x18(%edx)
586aef:	0f 84 06 02 00 00    	je     0x586cfb
586af5:	83 7c 24 44 00       	cmpl   $0x0,0x44(%esp)
586afa:	74 0d                	je     0x586b09
586afc:	8b 4c 24 44          	mov    0x44(%esp),%ecx
586b00:	85 4a 1c             	test   %ecx,0x1c(%edx)
586b03:	0f 84 f2 01 00 00    	je     0x586cfb
586b09:	83 7c 24 48 00       	cmpl   $0x0,0x48(%esp)
586b0e:	8b 4c 24 50          	mov    0x50(%esp),%ecx
586b12:	74 11                	je     0x586b25
586b14:	8b 4c 24 48          	mov    0x48(%esp),%ecx
586b18:	3b 4a 20             	cmp    0x20(%edx),%ecx
586b1b:	8b 4c 24 50          	mov    0x50(%esp),%ecx
586b1f:	0f 85 d6 01 00 00    	jne    0x586cfb
586b25:	f6 44 24 4c 1f       	testb  $0x1f,0x4c(%esp)
586b2a:	74 14                	je     0x586b40
586b2c:	8b 4a 30             	mov    0x30(%edx),%ecx
586b2f:	23 4c 24 4c          	and    0x4c(%esp),%ecx
586b33:	f6 c1 1f             	test   $0x1f,%cl
586b36:	0f 84 bf 01 00 00    	je     0x586cfb
586b3c:	8b 4c 24 50          	mov    0x50(%esp),%ecx
586b40:	f6 44 24 4c 20       	testb  $0x20,0x4c(%esp)
586b45:	74 14                	je     0x586b5b
586b47:	8b 4a 30             	mov    0x30(%edx),%ecx
586b4a:	23 4c 24 4c          	and    0x4c(%esp),%ecx
586b4e:	f6 c1 20             	test   $0x20,%cl
586b51:	0f 84 a4 01 00 00    	je     0x586cfb
586b57:	8b 4c 24 50          	mov    0x50(%esp),%ecx
586b5b:	83 f9 01             	cmp    $0x1,%ecx
586b5e:	75 4e                	jne    0x586bae
586b60:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
586b64:	0f 85 91 01 00 00    	jne    0x586cfb
586b6a:	3b c7                	cmp    %edi,%eax
586b6c:	74 34                	je     0x586ba2
586b6e:	8b 50 0c             	mov    0xc(%eax),%edx
586b71:	3b c5                	cmp    %ebp,%eax
586b73:	8b 48 10             	mov    0x10(%eax),%ecx
586b76:	8b da                	mov    %edx,%ebx
586b78:	0f 45 de             	cmovne %esi,%ebx
586b7b:	85 c9                	test   %ecx,%ecx
586b7d:	74 0a                	je     0x586b89
586b7f:	89 51 0c             	mov    %edx,0xc(%ecx)
586b82:	8b 4c 24 10          	mov    0x10(%esp),%ecx
586b86:	8b 51 0c             	mov    0xc(%ecx),%edx
586b89:	85 d2                	test   %edx,%edx
586b8b:	74 06                	je     0x586b93
586b8d:	8b 48 10             	mov    0x10(%eax),%ecx
586b90:	89 4a 10             	mov    %ecx,0x10(%edx)
586b93:	89 47 0c             	mov    %eax,0xc(%edi)
586b96:	89 78 10             	mov    %edi,0x10(%eax)
586b99:	8b f8                	mov    %eax,%edi
586b9b:	c7 40 0c 00 00 00 00 	movl   $0x0,0xc(%eax)
586ba2:	c7 40 04 01 00 00 00 	movl   $0x1,0x4(%eax)
586ba9:	e9 4d 01 00 00       	jmp    0x586cfb
586bae:	83 f9 04             	cmp    $0x4,%ecx
586bb1:	75 44                	jne    0x586bf7
586bb3:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
586bb7:	0f 84 3e 01 00 00    	je     0x586cfb
586bbd:	3b c7                	cmp    %edi,%eax
586bbf:	0f 84 36 01 00 00    	je     0x586cfb
586bc5:	8b 50 0c             	mov    0xc(%eax),%edx
586bc8:	3b c6                	cmp    %esi,%eax
586bca:	8b 48 10             	mov    0x10(%eax),%ecx
586bcd:	8b da                	mov    %edx,%ebx
586bcf:	0f 45 de             	cmovne %esi,%ebx
586bd2:	85 c9                	test   %ecx,%ecx
586bd4:	74 0a                	je     0x586be0
586bd6:	89 51 0c             	mov    %edx,0xc(%ecx)
586bd9:	8b 4c 24 10          	mov    0x10(%esp),%ecx
586bdd:	8b 51 0c             	mov    0xc(%ecx),%edx
586be0:	85 d2                	test   %edx,%edx
586be2:	74 06                	je     0x586bea
586be4:	8b 48 10             	mov    0x10(%eax),%ecx
586be7:	89 4a 10             	mov    %ecx,0x10(%edx)
586bea:	89 47 0c             	mov    %eax,0xc(%edi)
586bed:	89 78 10             	mov    %edi,0x10(%eax)
586bf0:	8b f8                	mov    %eax,%edi
586bf2:	e9 fd 00 00 00       	jmp    0x586cf4
586bf7:	83 f9 03             	cmp    $0x3,%ecx
586bfa:	75 52                	jne    0x586c4e
586bfc:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
586c00:	0f 84 f5 00 00 00    	je     0x586cfb
586c06:	3b c3                	cmp    %ebx,%eax
586c08:	74 38                	je     0x586c42
586c0a:	3b 44 24 20          	cmp    0x20(%esp),%eax
586c0e:	8b 50 10             	mov    0x10(%eax),%edx
586c11:	8b fa                	mov    %edx,%edi
586c13:	0f 45 7c 24 14       	cmovne 0x14(%esp),%edi
586c18:	8b 48 0c             	mov    0xc(%eax),%ecx
586c1b:	85 c9                	test   %ecx,%ecx
586c1d:	74 0a                	je     0x586c29
586c1f:	89 51 10             	mov    %edx,0x10(%ecx)
586c22:	8b 4c 24 10          	mov    0x10(%esp),%ecx
586c26:	8b 51 10             	mov    0x10(%ecx),%edx
586c29:	85 d2                	test   %edx,%edx
586c2b:	74 06                	je     0x586c33
586c2d:	8b 48 0c             	mov    0xc(%eax),%ecx
586c30:	89 4a 0c             	mov    %ecx,0xc(%edx)
586c33:	89 43 10             	mov    %eax,0x10(%ebx)
586c36:	89 58 0c             	mov    %ebx,0xc(%eax)
586c39:	8b d8                	mov    %eax,%ebx
586c3b:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
586c42:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
586c49:	e9 ad 00 00 00       	jmp    0x586cfb
586c4e:	83 f9 06             	cmp    $0x6,%ecx
586c51:	75 4c                	jne    0x586c9f
586c53:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
586c57:	0f 84 9e 00 00 00    	je     0x586cfb
586c5d:	3b c3                	cmp    %ebx,%eax
586c5f:	0f 84 96 00 00 00    	je     0x586cfb
586c65:	3b 44 24 14          	cmp    0x14(%esp),%eax
586c69:	8b 50 10             	mov    0x10(%eax),%edx
586c6c:	8b fa                	mov    %edx,%edi
586c6e:	0f 45 7c 24 14       	cmovne 0x14(%esp),%edi
586c73:	8b 48 0c             	mov    0xc(%eax),%ecx
586c76:	85 c9                	test   %ecx,%ecx
586c78:	74 0a                	je     0x586c84
586c7a:	89 51 10             	mov    %edx,0x10(%ecx)
586c7d:	8b 4c 24 10          	mov    0x10(%esp),%ecx
586c81:	8b 51 10             	mov    0x10(%ecx),%edx
586c84:	85 d2                	test   %edx,%edx
586c86:	74 06                	je     0x586c8e
586c88:	8b 48 0c             	mov    0xc(%eax),%ecx
586c8b:	89 4a 0c             	mov    %ecx,0xc(%edx)
586c8e:	89 43 10             	mov    %eax,0x10(%ebx)
586c91:	89 58 0c             	mov    %ebx,0xc(%eax)
586c94:	8b d8                	mov    %eax,%ebx
586c96:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
586c9d:	eb 5c                	jmp    0x586cfb
586c9f:	83 f9 02             	cmp    $0x2,%ecx
586ca2:	75 57                	jne    0x586cfb
586ca4:	8b 74 24 24          	mov    0x24(%esp),%esi
586ca8:	8b 76 0c             	mov    0xc(%esi),%esi
586cab:	3b d8                	cmp    %eax,%ebx
586cad:	75 04                	jne    0x586cb3
586caf:	8b de                	mov    %esi,%ebx
586cb1:	eb 0d                	jmp    0x586cc0
586cb3:	8b 48 10             	mov    0x10(%eax),%ecx
586cb6:	89 71 0c             	mov    %esi,0xc(%ecx)
586cb9:	8b 4c 24 28          	mov    0x28(%esp),%ecx
586cbd:	8b 71 0c             	mov    0xc(%ecx),%esi
586cc0:	39 44 24 14          	cmp    %eax,0x14(%esp)
586cc4:	8b 50 10             	mov    0x10(%eax),%edx
586cc7:	8b fa                	mov    %edx,%edi
586cc9:	0f 45 7c 24 14       	cmovne 0x14(%esp),%edi
586cce:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
586cd5:	85 f6                	test   %esi,%esi
586cd7:	74 0a                	je     0x586ce3
586cd9:	8b 4c 24 10          	mov    0x10(%esp),%ecx
586cdd:	89 56 10             	mov    %edx,0x10(%esi)
586ce0:	8b 51 10             	mov    0x10(%ecx),%edx
586ce3:	85 d2                	test   %edx,%edx
586ce5:	74 06                	je     0x586ced
586ce7:	8b 48 0c             	mov    0xc(%eax),%ecx
586cea:	89 4a 0c             	mov    %ecx,0xc(%edx)
586ced:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
586cf4:	c7 40 0c 00 00 00 00 	movl   $0x0,0xc(%eax)
586cfb:	8b 54 24 1c          	mov    0x1c(%esp),%edx
586cff:	3b 44 24 2c          	cmp    0x2c(%esp),%eax
586d03:	0f 85 48 fd ff ff    	jne    0x586a51
586d09:	8b 44 24 58          	mov    0x58(%esp),%eax
586d0d:	89 18                	mov    %ebx,(%eax)
586d0f:	8b 44 24 5c          	mov    0x5c(%esp),%eax
586d13:	89 38                	mov    %edi,(%eax)
586d15:	5f                   	pop    %edi
586d16:	5e                   	pop    %esi
586d17:	5d                   	pop    %ebp
586d18:	5b                   	pop    %ebx
586d19:	83 c4 20             	add    $0x20,%esp
586d1c:	c3                   	ret
586d1d:	89 1a                	mov    %ebx,(%edx)
586d1f:	89 3e                	mov    %edi,(%esi)
586d21:	5f                   	pop    %edi
586d22:	5e                   	pop    %esi
586d23:	5d                   	pop    %ebp
586d24:	5b                   	pop    %ebx
586d25:	83 c4 20             	add    $0x20,%esp
586d28:	c3                   	ret
586d29:	cc                   	int3
586d2a:	cc                   	int3
586d2b:	cc                   	int3
586d2c:	cc                   	int3
586d2d:	cc                   	int3
586d2e:	cc                   	int3
586d2f:	cc                   	int3
586d30:	55                   	push   %ebp
586d31:	8b ec                	mov    %esp,%ebp
586d33:	83 e4 f0             	and    $0xfffffff0,%esp
586d36:	b8 14 00 00 00       	mov    $0x14,%eax
586d3b:	e8 70 aa 04 00       	call   0x5d17b0
586d40:	8b 45 20             	mov    0x20(%ebp),%eax
586d43:	53                   	push   %ebx
586d44:	56                   	push   %esi
586d45:	57                   	push   %edi
586d46:	66 0f 6e c0          	movd   %eax,%xmm0
586d4a:	33 db                	xor    %ebx,%ebx
586d4c:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
586d51:	33 ff                	xor    %edi,%edi
586d53:	0f 29 44 24 10       	movaps %xmm0,0x10(%esp)
586d58:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
586d5b:	0f 8e 3e 02 00 00    	jle    0x586f9f
586d61:	83 c0 10             	add    $0x10,%eax
586d64:	89 44 24 0c          	mov    %eax,0xc(%esp)
586d68:	8b f0                	mov    %eax,%esi
586d6a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
586d70:	8b 45 08             	mov    0x8(%ebp),%eax
586d73:	57                   	push   %edi
586d74:	8b 40 5c             	mov    0x5c(%eax),%eax
586d77:	ff d0                	call   *%eax
586d79:	83 c4 04             	add    $0x4,%esp
586d7c:	85 c0                	test   %eax,%eax
586d7e:	74 58                	je     0x586dd8
586d80:	83 38 00             	cmpl   $0x0,(%eax)
586d83:	74 53                	je     0x586dd8
586d85:	8b 4d 10             	mov    0x10(%ebp),%ecx
586d88:	85 48 10             	test   %ecx,0x10(%eax)
586d8b:	75 4b                	jne    0x586dd8
586d8d:	8b 4d 14             	mov    0x14(%ebp),%ecx
586d90:	85 48 14             	test   %ecx,0x14(%eax)
586d93:	75 43                	jne    0x586dd8
586d95:	8b 4d 18             	mov    0x18(%ebp),%ecx
586d98:	85 48 18             	test   %ecx,0x18(%eax)
586d9b:	75 3b                	jne    0x586dd8
586d9d:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
586da0:	85 48 1c             	test   %ecx,0x1c(%eax)
586da3:	75 33                	jne    0x586dd8
586da5:	8b 4d 08             	mov    0x8(%ebp),%ecx
586da8:	8b 49 64             	mov    0x64(%ecx),%ecx
586dab:	f6 41 30 08          	testb  $0x8,0x30(%ecx)
586daf:	75 06                	jne    0x586db7
586db1:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
586db5:	eb 04                	jmp    0x586dbb
586db7:	83 78 28 00          	cmpl   $0x0,0x28(%eax)
586dbb:	74 1b                	je     0x586dd8
586dbd:	89 46 f0             	mov    %eax,-0x10(%esi)
586dc0:	43                   	inc    %ebx
586dc1:	c7 46 fc 00 00 00 00 	movl   $0x0,-0x4(%esi)
586dc8:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
586dce:	c7 46 f4 00 00 00 00 	movl   $0x0,-0xc(%esi)
586dd5:	83 c6 14             	add    $0x14,%esi
586dd8:	47                   	inc    %edi
586dd9:	3b 7d 0c             	cmp    0xc(%ebp),%edi
586ddc:	7c 92                	jl     0x586d70
586dde:	85 db                	test   %ebx,%ebx
586de0:	0f 8e b9 01 00 00    	jle    0x586f9f
586de6:	8b 44 24 0c          	mov    0xc(%esp),%eax
586dea:	8b 75 20             	mov    0x20(%ebp),%esi
586ded:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
586df3:	83 fb 01             	cmp    $0x1,%ebx
586df6:	0f 8e 89 01 00 00    	jle    0x586f85
586dfc:	8d 46 14             	lea    0x14(%esi),%eax
586dff:	bf 01 00 00 00       	mov    $0x1,%edi
586e04:	8d 53 ff             	lea    -0x1(%ebx),%edx
586e07:	89 46 0c             	mov    %eax,0xc(%esi)
586e0a:	8d 42 ff             	lea    -0x1(%edx),%eax
586e0d:	3b d7                	cmp    %edi,%edx
586e0f:	0f 8e 64 01 00 00    	jle    0x586f79
586e15:	83 f8 08             	cmp    $0x8,%eax