859b4f:	cc                   	int3
859b50:	6a 14                	push   $0x14
859b52:	b8 db c3 b9 00       	mov    $0xb9c3db,%eax
859b57:	e8 2f 07 bb ff       	call   0x40a28b
859b5c:	8b f9                	mov    %ecx,%edi
859b5e:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
859b62:	75 05                	jne    0x859b69
859b64:	e8 fd 83 bd ff       	call   0x431f66
859b69:	8b 45 10             	mov    0x10(%ebp),%eax
859b6c:	8d 4d e0             	lea    -0x20(%ebp),%ecx
859b6f:	83 4f 04 ff          	orl    $0xffffffff,0x4(%edi)
859b73:	33 f6                	xor    %esi,%esi
859b75:	56                   	push   %esi
859b76:	6a ff                	push   $0xffffffff
859b78:	56                   	push   %esi
859b79:	89 77 08             	mov    %esi,0x8(%edi)
859b7c:	89 47 10             	mov    %eax,0x10(%edi)
859b7f:	e8 30 2d bc ff       	call   0x41c8b4
859b84:	8b 07                	mov    (%edi),%eax
859b86:	8d 4d e0             	lea    -0x20(%ebp),%ecx
859b89:	51                   	push   %ecx
859b8a:	ff 75 0c             	push   0xc(%ebp)
859b8d:	89 75 fc             	mov    %esi,-0x4(%ebp)
859b90:	8b 70 24             	mov    0x24(%eax),%esi
859b93:	8b ce                	mov    %esi,%ecx
859b95:	ff 75 08             	push   0x8(%ebp)
859b98:	e8 c8 2a bd ff       	call   0x42c665
859b9d:	8b cf                	mov    %edi,%ecx
859b9f:	ff d6                	call   *%esi
859ba1:	85 c0                	test   %eax,%eax
859ba3:	75 14                	jne    0x859bb9
859ba5:	8d 4d f0             	lea    -0x10(%ebp),%ecx
859ba8:	e8 87 f4 ba ff       	call   0x409034
859bad:	50                   	push   %eax
859bae:	ff 75 ec             	push   -0x14(%ebp)
859bb1:	ff 75 e8             	push   -0x18(%ebp)
859bb4:	e8 80 49 bb ff       	call   0x40e539
859bb9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
859bbc:	c7 45 e0 d8 e8 c3 00 	movl   $0xc3e8d8,-0x20(%ebp)
859bc3:	8d 49 f0             	lea    -0x10(%ecx),%ecx
859bc6:	e8 49 b0 ba ff       	call   0x404c14
859bcb:	e8 47 48 bb ff       	call   0x40e417
859bd0:	c2 0c 00             	ret    $0xc
859bd3:	cc                   	int3
859bd4:	cc                   	int3
859bd5:	cc                   	int3
859bd6:	cc                   	int3
859bd7:	cc                   	int3
859bd8:	cc                   	int3
859bd9:	cc                   	int3
859bda:	cc                   	int3
859bdb:	cc                   	int3
859bdc:	cc                   	int3
859bdd:	cc                   	int3
859bde:	cc                   	int3
859bdf:	cc                   	int3
859be0:	cc                   	int3
859be1:	cc                   	int3
859be2:	cc                   	int3
859be3:	cc                   	int3
859be4:	cc                   	int3
859be5:	cc                   	int3
859be6:	cc                   	int3
859be7:	cc                   	int3
859be8:	cc                   	int3
859be9:	cc                   	int3
859bea:	cc                   	int3
859beb:	cc                   	int3
859bec:	cc                   	int3
859bed:	cc                   	int3
859bee:	cc                   	int3
859bef:	cc                   	int3
859bf0:	cc                   	int3
859bf1:	cc                   	int3
859bf2:	cc                   	int3
859bf3:	55                   	push   %ebp
859bf4:	8b ec                	mov    %esp,%ebp
859bf6:	53                   	push   %ebx
859bf7:	56                   	push   %esi
859bf8:	8b f1                	mov    %ecx,%esi
859bfa:	33 db                	xor    %ebx,%ebx
859bfc:	57                   	push   %edi
859bfd:	39 1e                	cmp    %ebx,(%esi)
859bff:	74 45                	je     0x859c46
859c01:	68 54 7a bd 00       	push   $0xbd7a54
859c06:	ff 15 14 36 d8 00    	call   *0xd83614
859c0c:	85 c0                	test   %eax,%eax
859c0e:	74 56                	je     0x859c66
859c10:	68 f8 e8 c3 00       	push   $0xc3e8f8
859c15:	50                   	push   %eax
859c16:	ff 15 20 36 d8 00    	call   *0xd83620
859c1c:	8b f8                	mov    %eax,%edi
859c1e:	85 ff                	test   %edi,%edi
859c20:	74 44                	je     0x859c66
859c22:	53                   	push   %ebx
859c23:	53                   	push   %ebx
859c24:	ff 36                	push   (%esi)
859c26:	8b cf                	mov    %edi,%ecx
859c28:	ff 75 20             	push   0x20(%ebp)
859c2b:	ff 75 1c             	push   0x1c(%ebp)
859c2e:	ff 75 18             	push   0x18(%ebp)
859c31:	ff 75 14             	push   0x14(%ebp)
859c34:	ff 75 10             	push   0x10(%ebp)
859c37:	ff 75 0c             	push   0xc(%ebp)
859c3a:	ff 75 08             	push   0x8(%ebp)
859c3d:	e8 23 2a bd ff       	call   0x42c665
859c42:	ff d7                	call   *%edi
859c44:	eb 23                	jmp    0x859c69
859c46:	39 5e 04             	cmp    %ebx,0x4(%esi)
859c49:	74 1b                	je     0x859c66
859c4b:	53                   	push   %ebx
859c4c:	ff 75 1c             	push   0x1c(%ebp)
859c4f:	ff 75 18             	push   0x18(%ebp)
859c52:	ff 75 14             	push   0x14(%ebp)
859c55:	ff 75 10             	push   0x10(%ebp)
859c58:	ff 75 0c             	push   0xc(%ebp)
859c5b:	ff 75 08             	push   0x8(%ebp)
859c5e:	ff 15 5c 36 d8 00    	call   *0xd8365c
859c64:	eb 03                	jmp    0x859c69
859c66:	83 c8 ff             	or     $0xffffffff,%eax
859c69:	5f                   	pop    %edi
859c6a:	5e                   	pop    %esi
859c6b:	5b                   	pop    %ebx
859c6c:	5d                   	pop    %ebp
859c6d:	c2 1c 00             	ret    $0x1c
859c70:	cc                   	int3
859c71:	cc                   	int3
859c72:	cc                   	int3
859c73:	cc                   	int3
859c74:	cc                   	int3
859c75:	cc                   	int3
859c76:	cc                   	int3
859c77:	cc                   	int3
859c78:	cc                   	int3
859c79:	cc                   	int3
859c7a:	cc                   	int3
859c7b:	cc                   	int3
859c7c:	cc                   	int3
859c7d:	cc                   	int3
859c7e:	cc                   	int3
859c7f:	cc                   	int3
859c80:	cc                   	int3
859c81:	cc                   	int3
859c82:	cc                   	int3
859c83:	cc                   	int3
859c84:	cc                   	int3
859c85:	cc                   	int3
859c86:	cc                   	int3
859c87:	cc                   	int3
859c88:	cc                   	int3
859c89:	cc                   	int3
859c8a:	cc                   	int3
859c8b:	cc                   	int3
859c8c:	cc                   	int3
859c8d:	cc                   	int3
859c8e:	cc                   	int3
859c8f:	55                   	push   %ebp
859c90:	8b ec                	mov    %esp,%ebp
859c92:	51                   	push   %ecx
859c93:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
859c97:	57                   	push   %edi
859c98:	8b 7d 14             	mov    0x14(%ebp),%edi
859c9b:	85 ff                	test   %edi,%edi
859c9d:	75 07                	jne    0x859ca6
859c9f:	b8 57 00 07 80       	mov    $0x80070057,%eax
859ca4:	eb 53                	jmp    0x859cf9
859ca6:	83 27 00             	andl   $0x0,(%edi)
859ca9:	8d 45 fc             	lea    -0x4(%ebp),%eax
859cac:	50                   	push   %eax
859cad:	68 2c 21 c9 00       	push   $0xc9212c
859cb2:	ff 75 08             	push   0x8(%ebp)
859cb5:	e8 17 bf bb ff       	call   0x415bd1
859cba:	85 c0                	test   %eax,%eax
859cbc:	78 3b                	js     0x859cf9
859cbe:	8b 45 fc             	mov    -0x4(%ebp),%eax
859cc1:	85 c0                	test   %eax,%eax
859cc3:	75 07                	jne    0x859ccc
859cc5:	b8 03 40 00 80       	mov    $0x80004003,%eax
859cca:	eb 2d                	jmp    0x859cf9
859ccc:	56                   	push   %esi
859ccd:	8b 30                	mov    (%eax),%esi
859ccf:	57                   	push   %edi
859cd0:	ff 75 10             	push   0x10(%ebp)
859cd3:	ff 75 0c             	push   0xc(%ebp)
859cd6:	8b 4e 0c             	mov    0xc(%esi),%ecx
859cd9:	50                   	push   %eax
859cda:	e8 86 29 bd ff       	call   0x42c665
859cdf:	ff 56 0c             	call   *0xc(%esi)
859ce2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
859ce5:	8b f8                	mov    %eax,%edi
859ce7:	51                   	push   %ecx
859ce8:	8b 11                	mov    (%ecx),%edx
859cea:	8b 72 08             	mov    0x8(%edx),%esi
859ced:	8b ce                	mov    %esi,%ecx
859cef:	e8 71 29 bd ff       	call   0x42c665
859cf4:	ff d6                	call   *%esi
859cf6:	8b c7                	mov    %edi,%eax
859cf8:	5e                   	pop    %esi
859cf9:	5f                   	pop    %edi
859cfa:	8b e5                	mov    %ebp,%esp
859cfc:	5d                   	pop    %ebp
859cfd:	c2 10 00             	ret    $0x10
859d00:	cc                   	int3
859d01:	cc                   	int3
859d02:	cc                   	int3
859d03:	cc                   	int3
859d04:	cc                   	int3
859d05:	cc                   	int3
859d06:	cc                   	int3
859d07:	cc                   	int3
859d08:	cc                   	int3
859d09:	cc                   	int3
859d0a:	cc                   	int3
859d0b:	cc                   	int3
859d0c:	cc                   	int3
859d0d:	cc                   	int3
859d0e:	cc                   	int3
859d0f:	cc                   	int3
859d10:	cc                   	int3
859d11:	cc                   	int3
859d12:	cc                   	int3
859d13:	cc                   	int3
859d14:	cc                   	int3
859d15:	cc                   	int3
859d16:	cc                   	int3
859d17:	cc                   	int3
859d18:	cc                   	int3
859d19:	cc                   	int3
859d1a:	cc                   	int3
859d1b:	cc                   	int3
859d1c:	55                   	push   %ebp
859d1d:	8b ec                	mov    %esp,%ebp
859d1f:	56                   	push   %esi
859d20:	8b f1                	mov    %ecx,%esi
859d22:	57                   	push   %edi
859d23:	83 3e 00             	cmpl   $0x0,(%esi)
859d26:	74 31                	je     0x859d59
859d28:	68 54 7a bd 00       	push   $0xbd7a54
859d2d:	ff 15 14 36 d8 00    	call   *0xd83614
859d33:	85 c0                	test   %eax,%eax
859d35:	74 31                	je     0x859d68
859d37:	68 14 e9 c3 00       	push   $0xc3e914
859d3c:	50                   	push   %eax
859d3d:	ff 15 20 36 d8 00    	call   *0xd83620
859d43:	8b f8                	mov    %eax,%edi
859d45:	85 ff                	test   %edi,%edi
859d47:	74 1f                	je     0x859d68
859d49:	ff 36                	push   (%esi)
859d4b:	8b cf                	mov    %edi,%ecx
859d4d:	ff 75 08             	push   0x8(%ebp)
859d50:	e8 10 29 bd ff       	call   0x42c665
859d55:	ff d7                	call   *%edi
859d57:	eb 11                	jmp    0x859d6a
859d59:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
859d5d:	74 09                	je     0x859d68
859d5f:	5f                   	pop    %edi
859d60:	5e                   	pop    %esi
859d61:	5d                   	pop    %ebp
859d62:	ff 25 30 36 d8 00    	jmp    *0xd83630
859d68:	33 c0                	xor    %eax,%eax
859d6a:	5f                   	pop    %edi
859d6b:	5e                   	pop    %esi
859d6c:	5d                   	pop    %ebp
859d6d:	c2 04 00             	ret    $0x4
859d70:	cc                   	int3
859d71:	cc                   	int3
859d72:	cc                   	int3
859d73:	cc                   	int3
859d74:	cc                   	int3
859d75:	cc                   	int3
859d76:	cc                   	int3
859d77:	cc                   	int3
859d78:	cc                   	int3
859d79:	cc                   	int3
859d7a:	cc                   	int3
859d7b:	cc                   	int3
859d7c:	cc                   	int3
859d7d:	cc                   	int3
859d7e:	cc                   	int3
859d7f:	cc                   	int3
859d80:	cc                   	int3
859d81:	cc                   	int3
859d82:	cc                   	int3
859d83:	cc                   	int3
859d84:	cc                   	int3
859d85:	6a 08                	push   $0x8
859d87:	b8 07 c4 b9 00       	mov    $0xb9c407,%eax
859d8c:	e8 fa 04 bb ff       	call   0x40a28b
859d91:	8b d9                	mov    %ecx,%ebx
859d93:	6a 14                	push   $0x14
859d95:	e8 e3 0b bd ff       	call   0x42a97d
859d9a:	59                   	pop    %ecx
859d9b:	89 45 ec             	mov    %eax,-0x14(%ebp)
859d9e:	33 f6                	xor    %esi,%esi
859da0:	89 75 fc             	mov    %esi,-0x4(%ebp)
859da3:	85 c0                	test   %eax,%eax
859da5:	74 0b                	je     0x859db2
859da7:	8b c8                	mov    %eax,%ecx
859da9:	e8 51 d4 bd ff       	call   0x4371ff
859dae:	8b f8                	mov    %eax,%edi
859db0:	eb 02                	jmp    0x859db4
859db2:	8b fe                	mov    %esi,%edi
859db4:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
859db8:	8d 45 f0             	lea    -0x10(%ebp),%eax
859dbb:	6a 02                	push   $0x2
859dbd:	56                   	push   %esi
859dbe:	56                   	push   %esi
859dbf:	50                   	push   %eax
859dc0:	ff 15 94 36 d8 00    	call   *0xd83694
859dc6:	50                   	push   %eax
859dc7:	ff 73 04             	push   0x4(%ebx)
859dca:	ff 15 94 36 d8 00    	call   *0xd83694
859dd0:	50                   	push   %eax
859dd1:	ff 15 80 36 d8 00    	call   *0xd83680
859dd7:	85 c0                	test   %eax,%eax
859dd9:	75 25                	jne    0x859e00
859ddb:	85 ff                	test   %edi,%edi
859ddd:	74 12                	je     0x859df1
859ddf:	8b 07                	mov    (%edi),%eax
859de1:	6a 01                	push   $0x1
859de3:	8b 70 04             	mov    0x4(%eax),%esi
859de6:	8b ce                	mov    %esi,%ecx
859de8:	e8 78 28 bd ff       	call   0x42c665
859ded:	8b cf                	mov    %edi,%ecx
859def:	ff d6                	call   *%esi
859df1:	ff 73 0c             	push   0xc(%ebx)
859df4:	ff 15 d4 36 d8 00    	call   *0xd836d4
859dfa:	50                   	push   %eax
859dfb:	e8 76 59 bc ff       	call   0x41f776
859e00:	8b 45 f0             	mov    -0x10(%ebp),%eax
859e03:	89 47 04             	mov    %eax,0x4(%edi)
859e06:	8b 43 08             	mov    0x8(%ebx),%eax
859e09:	89 47 08             	mov    %eax,0x8(%edi)
859e0c:	8b 43 10             	mov    0x10(%ebx),%eax
859e0f:	89 47 10             	mov    %eax,0x10(%edi)
859e12:	8b c7                	mov    %edi,%eax
859e14:	e8 fe 45 bb ff       	call   0x40e417
859e19:	c3                   	ret
859e1a:	cc                   	int3
859e1b:	cc                   	int3
859e1c:	cc                   	int3
859e1d:	cc                   	int3
859e1e:	cc                   	int3
859e1f:	cc                   	int3
859e20:	cc                   	int3
859e21:	cc                   	int3
859e22:	cc                   	int3
859e23:	cc                   	int3
859e24:	cc                   	int3
859e25:	cc                   	int3