856ada:	cc                   	int3
856adb:	cc                   	int3
856adc:	cc                   	int3
856add:	cc                   	int3
856ade:	55                   	push   %ebp
856adf:	8b ec                	mov    %esp,%ebp
856ae1:	8b 45 0c             	mov    0xc(%ebp),%eax
856ae4:	56                   	push   %esi
856ae5:	8b f1                	mov    %ecx,%esi
856ae7:	85 c0                	test   %eax,%eax
856ae9:	78 1f                	js     0x856b0a
856aeb:	8b 0e                	mov    (%esi),%ecx
856aed:	3b 41 f4             	cmp    -0xc(%ecx),%eax
856af0:	7d 18                	jge    0x856b0a
856af2:	ff 75 08             	push   0x8(%ebp)
856af5:	8d 04 41             	lea    (%ecx,%eax,2),%eax
856af8:	50                   	push   %eax
856af9:	e8 3c e2 bb ff       	call   0x414d3a
856afe:	59                   	pop    %ecx
856aff:	59                   	pop    %ecx
856b00:	85 c0                	test   %eax,%eax
856b02:	74 06                	je     0x856b0a
856b04:	2b 06                	sub    (%esi),%eax
856b06:	d1 f8                	sar    $1,%eax
856b08:	eb 03                	jmp    0x856b0d
856b0a:	83 c8 ff             	or     $0xffffffff,%eax
856b0d:	5e                   	pop    %esi
856b0e:	5d                   	pop    %ebp
856b0f:	c2 08 00             	ret    $0x8
856b12:	cc                   	int3
856b13:	cc                   	int3
856b14:	cc                   	int3
856b15:	cc                   	int3
856b16:	cc                   	int3
856b17:	cc                   	int3
856b18:	cc                   	int3
856b19:	cc                   	int3
856b1a:	cc                   	int3
856b1b:	cc                   	int3
856b1c:	cc                   	int3
856b1d:	cc                   	int3
856b1e:	cc                   	int3
856b1f:	55                   	push   %ebp
856b20:	8b ec                	mov    %esp,%ebp
856b22:	83 ec 10             	sub    $0x10,%esp
856b25:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
856b29:	74 5f                	je     0x856b8a
856b2b:	8b 41 08             	mov    0x8(%ecx),%eax
856b2e:	53                   	push   %ebx
856b2f:	57                   	push   %edi
856b30:	33 ff                	xor    %edi,%edi
856b32:	89 45 f8             	mov    %eax,-0x8(%ebp)
856b35:	89 7d f4             	mov    %edi,-0xc(%ebp)
856b38:	8b df                	mov    %edi,%ebx
856b3a:	85 c0                	test   %eax,%eax
856b3c:	74 42                	je     0x856b80
856b3e:	8d 41 04             	lea    0x4(%ecx),%eax
856b41:	89 45 f0             	mov    %eax,-0x10(%ebp)
856b44:	56                   	push   %esi
856b45:	8d 4d f8             	lea    -0x8(%ebp),%ecx
856b48:	51                   	push   %ecx
856b49:	8b c8                	mov    %eax,%ecx
856b4b:	e8 ac 7f bb ff       	call   0x40eafc
856b50:	8d 4d f4             	lea    -0xc(%ebp),%ecx
856b53:	51                   	push   %ecx
856b54:	ff 75 08             	push   0x8(%ebp)
856b57:	8b 00                	mov    (%eax),%eax
856b59:	89 45 fc             	mov    %eax,-0x4(%ebp)
856b5c:	8b 00                	mov    (%eax),%eax
856b5e:	8b 70 68             	mov    0x68(%eax),%esi
856b61:	8b ce                	mov    %esi,%ecx
856b63:	e8 fd 5a bd ff       	call   0x42c665
856b68:	8b 4d fc             	mov    -0x4(%ebp),%ecx
856b6b:	ff d6                	call   *%esi
856b6d:	3b c7                	cmp    %edi,%eax
856b6f:	7e 05                	jle    0x856b76
856b71:	8b 5d fc             	mov    -0x4(%ebp),%ebx
856b74:	8b f8                	mov    %eax,%edi
856b76:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
856b7a:	8b 45 f0             	mov    -0x10(%ebp),%eax
856b7d:	75 c6                	jne    0x856b45
856b7f:	5e                   	pop    %esi
856b80:	5f                   	pop    %edi
856b81:	8b c3                	mov    %ebx,%eax
856b83:	5b                   	pop    %ebx
856b84:	8b e5                	mov    %ebp,%esp
856b86:	5d                   	pop    %ebp
856b87:	c2 04 00             	ret    $0x4
856b8a:	e8 d7 b3 bd ff       	call   0x431f66
856b8f:	cc                   	int3
856b90:	cc                   	int3
856b91:	cc                   	int3
856b92:	cc                   	int3
856b93:	cc                   	int3
856b94:	cc                   	int3
856b95:	cc                   	int3
856b96:	cc                   	int3
856b97:	cc                   	int3
856b98:	cc                   	int3
856b99:	cc                   	int3
856b9a:	cc                   	int3
856b9b:	cc                   	int3
856b9c:	cc                   	int3
856b9d:	cc                   	int3
856b9e:	cc                   	int3
856b9f:	cc                   	int3
856ba0:	cc                   	int3
856ba1:	cc                   	int3
856ba2:	cc                   	int3
856ba3:	cc                   	int3
856ba4:	cc                   	int3
856ba5:	cc                   	int3
856ba6:	cc                   	int3
856ba7:	cc                   	int3
856ba8:	cc                   	int3
856ba9:	cc                   	int3
856baa:	cc                   	int3
856bab:	cc                   	int3
856bac:	8b 41 0c             	mov    0xc(%ecx),%eax
856baf:	c3                   	ret
856bb0:	55                   	push   %ebp
856bb1:	8b ec                	mov    %esp,%ebp
856bb3:	83 ec 0c             	sub    $0xc,%esp
856bb6:	8b 41 08             	mov    0x8(%ecx),%eax
856bb9:	57                   	push   %edi
856bba:	33 ff                	xor    %edi,%edi
856bbc:	89 45 f8             	mov    %eax,-0x8(%ebp)
856bbf:	85 c0                	test   %eax,%eax
856bc1:	74 52                	je     0x856c15
856bc3:	8d 41 04             	lea    0x4(%ecx),%eax
856bc6:	53                   	push   %ebx
856bc7:	89 45 f4             	mov    %eax,-0xc(%ebp)
856bca:	56                   	push   %esi
856bcb:	8d 4d f8             	lea    -0x8(%ebp),%ecx
856bce:	51                   	push   %ecx
856bcf:	8b c8                	mov    %eax,%ecx
856bd1:	e8 26 7f bb ff       	call   0x40eafc
856bd6:	8b 18                	mov    (%eax),%ebx
856bd8:	8b 03                	mov    (%ebx),%eax
856bda:	8b 70 54             	mov    0x54(%eax),%esi
856bdd:	8b ce                	mov    %esi,%ecx
856bdf:	e8 81 5a bd ff       	call   0x42c665
856be4:	8b cb                	mov    %ebx,%ecx
856be6:	ff d6                	call   *%esi
856be8:	89 45 fc             	mov    %eax,-0x4(%ebp)
856beb:	85 c0                	test   %eax,%eax
856bed:	74 1b                	je     0x856c0a
856bef:	8b 03                	mov    (%ebx),%eax
856bf1:	8d 4d fc             	lea    -0x4(%ebp),%ecx
856bf4:	51                   	push   %ecx
856bf5:	8b 70 58             	mov    0x58(%eax),%esi
856bf8:	8b ce                	mov    %esi,%ecx
856bfa:	e8 66 5a bd ff       	call   0x42c665
856bff:	8b cb                	mov    %ebx,%ecx
856c01:	ff d6                	call   *%esi
856c03:	47                   	inc    %edi
856c04:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
856c08:	75 e5                	jne    0x856bef
856c0a:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
856c0e:	8b 45 f4             	mov    -0xc(%ebp),%eax
856c11:	75 b8                	jne    0x856bcb
856c13:	5e                   	pop    %esi
856c14:	5b                   	pop    %ebx
856c15:	8b c7                	mov    %edi,%eax
856c17:	5f                   	pop    %edi
856c18:	8b e5                	mov    %ebp,%esp
856c1a:	5d                   	pop    %ebp
856c1b:	c3                   	ret
856c1c:	cc                   	int3
856c1d:	cc                   	int3
856c1e:	cc                   	int3
856c1f:	cc                   	int3
856c20:	cc                   	int3
856c21:	cc                   	int3
856c22:	cc                   	int3
856c23:	cc                   	int3
856c24:	cc                   	int3
856c25:	cc                   	int3
856c26:	cc                   	int3
856c27:	cc                   	int3
856c28:	cc                   	int3
856c29:	cc                   	int3
856c2a:	cc                   	int3
856c2b:	cc                   	int3
856c2c:	cc                   	int3
856c2d:	cc                   	int3
856c2e:	cc                   	int3
856c2f:	cc                   	int3
856c30:	cc                   	int3
856c31:	cc                   	int3
856c32:	cc                   	int3
856c33:	cc                   	int3
856c34:	cc                   	int3
856c35:	cc                   	int3
856c36:	cc                   	int3
856c37:	8b 41 08             	mov    0x8(%ecx),%eax
856c3a:	c3                   	ret
856c3b:	8b 41 04             	mov    0x4(%ecx),%eax
856c3e:	83 c0 08             	add    $0x8,%eax
856c41:	c3                   	ret
856c42:	55                   	push   %ebp
856c43:	8b ec                	mov    %esp,%ebp
856c45:	6a 00                	push   $0x0
856c47:	ff 75 08             	push   0x8(%ebp)
856c4a:	68 99 01 00 00       	push   $0x199
856c4f:	ff 71 20             	push   0x20(%ecx)
856c52:	ff 15 20 40 d8 00    	call   *0xd84020
856c58:	5d                   	pop    %ebp
856c59:	c2 04 00             	ret    $0x4
856c5c:	cc                   	int3
856c5d:	cc                   	int3
856c5e:	cc                   	int3
856c5f:	cc                   	int3
856c60:	cc                   	int3
856c61:	cc                   	int3
856c62:	b8 2c e8 c3 00       	mov    $0xc3e82c,%eax
856c67:	c3                   	ret
856c68:	55                   	push   %ebp
856c69:	8b ec                	mov    %esp,%ebp
856c6b:	83 c1 04             	add    $0x4,%ecx
856c6e:	5d                   	pop    %ebp
856c6f:	e9 50 c4 bc ff       	jmp    0x4230c4
856c74:	cc                   	int3
856c75:	cc                   	int3
856c76:	cc                   	int3
856c77:	55                   	push   %ebp
856c78:	8b ec                	mov    %esp,%ebp
856c7a:	83 ec 0c             	sub    $0xc,%esp
856c7d:	8b 41 08             	mov    0x8(%ecx),%eax
856c80:	57                   	push   %edi
856c81:	33 ff                	xor    %edi,%edi
856c83:	89 45 f8             	mov    %eax,-0x8(%ebp)
856c86:	85 c0                	test   %eax,%eax
856c88:	74 56                	je     0x856ce0
856c8a:	8d 41 04             	lea    0x4(%ecx),%eax
856c8d:	53                   	push   %ebx
856c8e:	89 45 f4             	mov    %eax,-0xc(%ebp)
856c91:	56                   	push   %esi
856c92:	8d 4d f8             	lea    -0x8(%ebp),%ecx
856c95:	51                   	push   %ecx
856c96:	8b c8                	mov    %eax,%ecx
856c98:	e8 5f 7e bb ff       	call   0x40eafc
856c9d:	8b 18                	mov    (%eax),%ebx
856c9f:	8b 03                	mov    (%ebx),%eax
856ca1:	8b 70 54             	mov    0x54(%eax),%esi
856ca4:	8b ce                	mov    %esi,%ecx
856ca6:	e8 ba 59 bd ff       	call   0x42c665
856cab:	8b cb                	mov    %ebx,%ecx
856cad:	ff d6                	call   *%esi
856caf:	89 45 fc             	mov    %eax,-0x4(%ebp)
856cb2:	85 c0                	test   %eax,%eax
856cb4:	74 1f                	je     0x856cd5
856cb6:	8b 03                	mov    (%ebx),%eax
856cb8:	8d 4d fc             	lea    -0x4(%ebp),%ecx
856cbb:	51                   	push   %ecx
856cbc:	8b 70 58             	mov    0x58(%eax),%esi
856cbf:	8b ce                	mov    %esi,%ecx
856cc1:	e8 9f 59 bd ff       	call   0x42c665
856cc6:	8b cb                	mov    %ebx,%ecx
856cc8:	ff d6                	call   *%esi
856cca:	85 c0                	test   %eax,%eax
856ccc:	74 01                	je     0x856ccf
856cce:	47                   	inc    %edi
856ccf:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
856cd3:	75 e1                	jne    0x856cb6
856cd5:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
856cd9:	8b 45 f4             	mov    -0xc(%ebp),%eax
856cdc:	75 b4                	jne    0x856c92
856cde:	5e                   	pop    %esi
856cdf:	5b                   	pop    %ebx
856ce0:	8b c7                	mov    %edi,%eax
856ce2:	5f                   	pop    %edi
856ce3:	8b e5                	mov    %ebp,%esp
856ce5:	5d                   	pop    %ebp
856ce6:	c3                   	ret
856ce7:	cc                   	int3
856ce8:	cc                   	int3
856ce9:	cc                   	int3
856cea:	cc                   	int3
856ceb:	cc                   	int3
856cec:	cc                   	int3
856ced:	cc                   	int3
856cee:	cc                   	int3
856cef:	cc                   	int3
856cf0:	cc                   	int3
856cf1:	cc                   	int3
856cf2:	cc                   	int3
856cf3:	cc                   	int3
856cf4:	cc                   	int3
856cf5:	cc                   	int3
856cf6:	cc                   	int3
856cf7:	cc                   	int3
856cf8:	cc                   	int3
856cf9:	cc                   	int3
856cfa:	cc                   	int3
856cfb:	cc                   	int3
856cfc:	cc                   	int3
856cfd:	cc                   	int3
856cfe:	cc                   	int3
856cff:	cc                   	int3
856d00:	cc                   	int3
856d01:	cc                   	int3
856d02:	cc                   	int3
856d03:	b8 94 e5 c3 00       	mov    $0xc3e594,%eax
856d08:	c3                   	ret
856d09:	b8 2c e8 c3 00       	mov    $0xc3e82c,%eax
856d0e:	c3                   	ret
856d0f:	55                   	push   %ebp
856d10:	8b ec                	mov    %esp,%ebp
856d12:	51                   	push   %ecx
856d13:	8b 01                	mov    (%ecx),%eax
856d15:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
856d19:	8b 40 f4             	mov    -0xc(%eax),%eax
856d1c:	2b 45 0c             	sub    0xc(%ebp),%eax
856d1f:	50                   	push   %eax
856d20:	ff 75 0c             	push   0xc(%ebp)
856d23:	ff 75 08             	push   0x8(%ebp)
856d26:	e8 a4 48 be ff       	call   0x43b5cf
856d2b:	8b 45 08             	mov    0x8(%ebp),%eax
856d2e:	8b e5                	mov    %ebp,%esp
856d30:	5d                   	pop    %ebp
856d31:	c2 08 00             	ret    $0x8
856d34:	cc                   	int3
856d35:	cc                   	int3
856d36:	cc                   	int3
856d37:	cc                   	int3
856d38:	cc                   	int3
856d39:	cc                   	int3
856d3a:	cc                   	int3
856d3b:	cc                   	int3
856d3c:	cc                   	int3
856d3d:	6a 3c                	push   $0x3c
856d3f:	b8 79 c0 b9 00       	mov    $0xb9c079,%eax
856d44:	e8 42 35 bb ff       	call   0x40a28b
856d49:	8b f9                	mov    %ecx,%edi
856d4b:	89 7d e4             	mov    %edi,-0x1c(%ebp)
856d4e:	ff 75 08             	push   0x8(%ebp)
856d51:	8d 4d f0             	lea    -0x10(%ebp),%ecx
856d54:	e8 2a dc bc ff       	call   0x424983
856d59:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
856d5d:	8d 4d b8             	lea    -0x48(%ebp),%ecx
856d60:	e8 33 52 be ff       	call   0x43bf98
856d65:	6a 07                	push   $0x7
856d67:	8d 45 ec             	lea    -0x14(%ebp),%eax
856d6a:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
856d6e:	50                   	push   %eax
856d6f:	8d 4d f0             	lea    -0x10(%ebp),%ecx
856d72:	c7 45 cc 04 00 00 00 	movl   $0x4,-0x34(%ebp)
856d79:	e8 6b 0c bd ff       	call   0x4279e9
856d7e:	68 44 e8 c3 00       	push   $0xc3e844