463b87:	89 45 b8             	mov    %eax,-0x48(%ebp)
463b8a:	8b 45 08             	mov    0x8(%ebp),%eax
463b8d:	89 45 bc             	mov    %eax,-0x44(%ebp)
463b90:	8b 47 08             	mov    0x8(%edi),%eax
463b93:	89 45 c0             	mov    %eax,-0x40(%ebp)
463b96:	8b 45 ec             	mov    -0x14(%ebp),%eax
463b99:	89 45 c4             	mov    %eax,-0x3c(%ebp)
463b9c:	75 38                	jne    0x463bd6
463b9e:	8b 06                	mov    (%esi),%eax
463ba0:	8d 4d b8             	lea    -0x48(%ebp),%ecx
463ba3:	51                   	push   %ecx
463ba4:	8b ce                	mov    %esi,%ecx
463ba6:	ff 50 58             	call   *0x58(%eax)
463ba9:	85 c0                	test   %eax,%eax
463bab:	74 29                	je     0x463bd6
463bad:	ff 75 b8             	push   -0x48(%ebp)
463bb0:	8b 4d f8             	mov    -0x8(%ebp),%ecx
463bb3:	8b 16                	mov    (%esi),%edx
463bb5:	8d 45 f0             	lea    -0x10(%ebp),%eax
463bb8:	50                   	push   %eax
463bb9:	8b 45 10             	mov    0x10(%ebp),%eax
463bbc:	6a 01                	push   $0x1
463bbe:	2b c8                	sub    %eax,%ecx
463bc0:	51                   	push   %ecx
463bc1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
463bc4:	03 c1                	add    %ecx,%eax
463bc6:	50                   	push   %eax
463bc7:	ff 75 08             	push   0x8(%ebp)
463bca:	8d 45 a8             	lea    -0x58(%ebp),%eax
463bcd:	ff 75 b8             	push   -0x48(%ebp)
463bd0:	8b ce                	mov    %esi,%ecx
463bd2:	50                   	push   %eax
463bd3:	ff 52 64             	call   *0x64(%edx)
463bd6:	8b 45 f4             	mov    -0xc(%ebp),%eax
463bd9:	01 45 08             	add    %eax,0x8(%ebp)
463bdc:	01 45 ec             	add    %eax,-0x14(%ebp)
463bdf:	8b 45 f8             	mov    -0x8(%ebp),%eax
463be2:	3b 45 0c             	cmp    0xc(%ebp),%eax
463be5:	89 45 10             	mov    %eax,0x10(%ebp)
463be8:	73 34                	jae    0x463c1e
463bea:	8b 4d 10             	mov    0x10(%ebp),%ecx
463bed:	8b 45 fc             	mov    -0x4(%ebp),%eax
463bf0:	0f be 04 01          	movsbl (%ecx,%eax,1),%eax
463bf4:	50                   	push   %eax
463bf5:	e8 56 6c fb ff       	call   0x41a850
463bfa:	85 c0                	test   %eax,%eax
463bfc:	59                   	pop    %ecx
463bfd:	74 0b                	je     0x463c0a
463bff:	ff 45 10             	incl   0x10(%ebp)
463c02:	8b 45 10             	mov    0x10(%ebp),%eax
463c05:	3b 45 0c             	cmp    0xc(%ebp),%eax
463c08:	72 e0                	jb     0x463bea
463c0a:	8b 45 0c             	mov    0xc(%ebp),%eax
463c0d:	39 45 10             	cmp    %eax,0x10(%ebp)
463c10:	73 0c                	jae    0x463c1e
463c12:	8b 45 ec             	mov    -0x14(%ebp),%eax
463c15:	3b 47 0c             	cmp    0xc(%edi),%eax
463c18:	0f 8e 0b ff ff ff    	jle    0x463b29
463c1e:	8b 45 10             	mov    0x10(%ebp),%eax
463c21:	89 45 0c             	mov    %eax,0xc(%ebp)
463c24:	e9 8e 00 00 00       	jmp    0x463cb7
463c29:	8b 07                	mov    (%edi),%eax
463c2b:	8b 4f 08             	mov    0x8(%edi),%ecx
463c2e:	89 45 c8             	mov    %eax,-0x38(%ebp)
463c31:	8b 45 08             	mov    0x8(%ebp),%eax
463c34:	89 4d d0             	mov    %ecx,-0x30(%ebp)
463c37:	8b 4d f4             	mov    -0xc(%ebp),%ecx
463c3a:	89 45 cc             	mov    %eax,-0x34(%ebp)
463c3d:	03 c1                	add    %ecx,%eax
463c3f:	85 db                	test   %ebx,%ebx
463c41:	89 45 e4             	mov    %eax,-0x1c(%ebp)
463c44:	89 45 d4             	mov    %eax,-0x2c(%ebp)
463c47:	75 68                	jne    0x463cb1
463c49:	8b 06                	mov    (%esi),%eax
463c4b:	8d 4d c8             	lea    -0x38(%ebp),%ecx
463c4e:	51                   	push   %ecx
463c4f:	8b ce                	mov    %esi,%ecx
463c51:	ff 50 58             	call   *0x58(%eax)
463c54:	85 c0                	test   %eax,%eax
463c56:	74 59                	je     0x463cb1
463c58:	ff 75 0c             	push   0xc(%ebp)
463c5b:	8d 85 70 fb ff ff    	lea    -0x490(%ebp),%eax
463c61:	ff 75 10             	push   0x10(%ebp)
463c64:	ff 75 fc             	push   -0x4(%ebp)
463c67:	ff 75 f0             	push   -0x10(%ebp)
463c6a:	ff 75 e8             	push   -0x18(%ebp)
463c6d:	50                   	push   %eax
463c6e:	56                   	push   %esi
463c6f:	e8 2b f8 ff ff       	call   0x46349f
463c74:	3b 45 0c             	cmp    0xc(%ebp),%eax
463c77:	73 12                	jae    0x463c8b
463c79:	8b 4d fc             	mov    -0x4(%ebp),%ecx
463c7c:	0f b6 0c 08          	movzbl (%eax,%ecx,1),%ecx
463c80:	f6 81 e1 e1 4a 00 04 	testb  $0x4,0x4ae1e1(%ecx)
463c87:	74 01                	je     0x463c8a
463c89:	40                   	inc    %eax
463c8a:	40                   	inc    %eax
463c8b:	ff 75 c8             	push   -0x38(%ebp)
463c8e:	8b 16                	mov    (%esi),%edx
463c90:	8d 4d f0             	lea    -0x10(%ebp),%ecx
463c93:	51                   	push   %ecx
463c94:	8b 4d 10             	mov    0x10(%ebp),%ecx
463c97:	6a 01                	push   $0x1
463c99:	2b c1                	sub    %ecx,%eax
463c9b:	50                   	push   %eax
463c9c:	8b 45 fc             	mov    -0x4(%ebp),%eax
463c9f:	03 c8                	add    %eax,%ecx
463ca1:	51                   	push   %ecx
463ca2:	ff 75 08             	push   0x8(%ebp)
463ca5:	8d 45 b0             	lea    -0x50(%ebp),%eax
463ca8:	ff 75 c8             	push   -0x38(%ebp)
463cab:	8b ce                	mov    %esi,%ecx
463cad:	50                   	push   %eax
463cae:	ff 52 64             	call   *0x64(%edx)
463cb1:	8b 45 e4             	mov    -0x1c(%ebp),%eax
463cb4:	89 45 08             	mov    %eax,0x8(%ebp)
463cb7:	ff 75 0c             	push   0xc(%ebp)
463cba:	ff 75 14             	push   0x14(%ebp)
463cbd:	ff 75 fc             	push   -0x4(%ebp)
463cc0:	e8 3d f6 ff ff       	call   0x463302
463cc5:	3b 45 14             	cmp    0x14(%ebp),%eax
463cc8:	89 45 10             	mov    %eax,0x10(%ebp)
463ccb:	73 11                	jae    0x463cde
463ccd:	8b 45 08             	mov    0x8(%ebp),%eax
463cd0:	8b 4d f4             	mov    -0xc(%ebp),%ecx
463cd3:	03 c1                	add    %ecx,%eax
463cd5:	3b 47 0c             	cmp    0xc(%edi),%eax
463cd8:	0f 8e 15 fe ff ff    	jle    0x463af3
463cde:	8b 06                	mov    (%esi),%eax
463ce0:	6a ff                	push   $0xffffffff
463ce2:	8b ce                	mov    %esi,%ecx
463ce4:	ff 50 20             	call   *0x20(%eax)
463ce7:	8b 4d dc             	mov    -0x24(%ebp),%ecx
463cea:	e8 14 fc ff ff       	call   0x463903
463cef:	8b 45 08             	mov    0x8(%ebp),%eax
463cf2:	89 47 0c             	mov    %eax,0xc(%edi)
463cf5:	8b 45 10             	mov    0x10(%ebp),%eax
463cf8:	5b                   	pop    %ebx
463cf9:	5f                   	pop    %edi
463cfa:	5e                   	pop    %esi
463cfb:	c9                   	leave
463cfc:	c2 10 00             	ret    $0x10
463cff:	55                   	push   %ebp
463d00:	8b ec                	mov    %esp,%ebp
463d02:	51                   	push   %ecx
463d03:	51                   	push   %ecx
463d04:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
463d08:	53                   	push   %ebx
463d09:	56                   	push   %esi
463d0a:	8b f1                	mov    %ecx,%esi
463d0c:	8b 46 7c             	mov    0x7c(%esi),%eax
463d0f:	85 c0                	test   %eax,%eax
463d11:	57                   	push   %edi
463d12:	74 14                	je     0x463d28
463d14:	8b 7d 08             	mov    0x8(%ebp),%edi
463d17:	8b 1f                	mov    (%edi),%ebx
463d19:	50                   	push   %eax
463d1a:	e8 37 b9 fe ff       	call   0x44f656
463d1f:	50                   	push   %eax
463d20:	8b cf                	mov    %edi,%ecx
463d22:	ff 53 28             	call   *0x28(%ebx)
463d25:	89 45 fc             	mov    %eax,-0x4(%ebp)
463d28:	8b 4d 08             	mov    0x8(%ebp),%ecx
463d2b:	6a 01                	push   $0x1
463d2d:	e8 54 aa fe ff       	call   0x44e786
463d32:	8b 5d 0c             	mov    0xc(%ebp),%ebx
463d35:	8b 7b 14             	mov    0x14(%ebx),%edi
463d38:	8d 47 ff             	lea    -0x1(%edi),%eax
463d3b:	8d 4e 68             	lea    0x68(%esi),%ecx
463d3e:	50                   	push   %eax
463d3f:	89 4d f8             	mov    %ecx,-0x8(%ebp)
463d42:	e8 07 21 fb ff       	call   0x415e4e
463d47:	8b 00                	mov    (%eax),%eax
463d49:	8b ce                	mov    %esi,%ecx
463d4b:	89 45 0c             	mov    %eax,0xc(%ebp)
463d4e:	e8 c6 fb ff ff       	call   0x463919
463d53:	50                   	push   %eax
463d54:	ff 75 0c             	push   0xc(%ebp)
463d57:	83 c3 24             	add    $0x24,%ebx
463d5a:	53                   	push   %ebx
463d5b:	8b 5d 08             	mov    0x8(%ebp),%ebx
463d5e:	53                   	push   %ebx
463d5f:	8b ce                	mov    %esi,%ecx
463d61:	e8 b5 fc ff ff       	call   0x463a1b
463d66:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
463d6a:	89 45 0c             	mov    %eax,0xc(%ebp)
463d6d:	74 0a                	je     0x463d79
463d6f:	ff 75 fc             	push   -0x4(%ebp)
463d72:	8b 03                	mov    (%ebx),%eax
463d74:	8b cb                	mov    %ebx,%ecx
463d76:	ff 50 28             	call   *0x28(%eax)
463d79:	3b 7e 70             	cmp    0x70(%esi),%edi
463d7c:	75 1a                	jne    0x463d98
463d7e:	8b ce                	mov    %esi,%ecx
463d80:	e8 94 fb ff ff       	call   0x463919
463d85:	39 45 0c             	cmp    %eax,0xc(%ebp)
463d88:	73 0e                	jae    0x463d98
463d8a:	ff 75 0c             	push   0xc(%ebp)
463d8d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
463d90:	ff 71 08             	push   0x8(%ecx)
463d93:	e8 2e 94 fd ff       	call   0x43d1c6
463d98:	5f                   	pop    %edi
463d99:	5e                   	pop    %esi
463d9a:	5b                   	pop    %ebx
463d9b:	c9                   	leave
463d9c:	c2 08 00             	ret    $0x8
463d9f:	56                   	push   %esi
463da0:	8b f1                	mov    %ecx,%esi
463da2:	8d 4e 0c             	lea    0xc(%esi),%ecx
463da5:	c7 06 20 09 49 00    	movl   $0x490920,(%esi)
463dab:	e8 04 d3 f9 ff       	call   0x4010b4
463db0:	8d 4e 10             	lea    0x10(%esi),%ecx
463db3:	e8 fc d2 f9 ff       	call   0x4010b4
463db8:	c7 46 18 01 00 00 00 	movl   $0x1,0x18(%esi)
463dbf:	8b c6                	mov    %esi,%eax
463dc1:	5e                   	pop    %esi
463dc2:	c3                   	ret
463dc3:	56                   	push   %esi
463dc4:	8b f1                	mov    %ecx,%esi
463dc6:	8b 4e 10             	mov    0x10(%esi),%ecx
463dc9:	83 e9 10             	sub    $0x10,%ecx
463dcc:	c7 06 20 09 49 00    	movl   $0x490920,(%esi)
463dd2:	e8 7b d5 f9 ff       	call   0x401352
463dd7:	8b 4e 0c             	mov    0xc(%esi),%ecx
463dda:	83 e9 10             	sub    $0x10,%ecx
463ddd:	5e                   	pop    %esi
463dde:	e9 6f d5 f9 ff       	jmp    0x401352
463de3:	55                   	push   %ebp
463de4:	8b ec                	mov    %esp,%ebp
463de6:	56                   	push   %esi
463de7:	8b 75 08             	mov    0x8(%ebp),%esi
463dea:	8b 46 18             	mov    0x18(%esi),%eax
463ded:	f7 d0                	not    %eax
463def:	a8 01                	test   $0x1,%al
463df1:	57                   	push   %edi
463df2:	8b f9                	mov    %ecx,%edi
463df4:	74 17                	je     0x463e0d
463df6:	e8 1e fb ff ff       	call   0x463919
463dfb:	50                   	push   %eax
463dfc:	8b ce                	mov    %esi,%ecx
463dfe:	e8 2b 74 fa ff       	call   0x40b22e
463e03:	56                   	push   %esi
463e04:	8b cf                	mov    %edi,%ecx
463e06:	e8 51 fb ff ff       	call   0x46395c
463e0b:	eb 2b                	jmp    0x463e38
463e0d:	8d 45 08             	lea    0x8(%ebp),%eax
463e10:	50                   	push   %eax
463e11:	8b ce                	mov    %esi,%ecx
463e13:	e8 d9 75 fa ff       	call   0x40b3f1
463e18:	8b cf                	mov    %edi,%ecx
463e1a:	e8 28 22 fb ff       	call   0x416047
463e1f:	39 45 08             	cmp    %eax,0x8(%ebp)
463e22:	76 09                	jbe    0x463e2d
463e24:	6a 00                	push   $0x0
463e26:	6a 05                	push   $0x5
463e28:	e8 2e d3 fe ff       	call   0x45115b
463e2d:	ff 75 08             	push   0x8(%ebp)
463e30:	8b cf                	mov    %edi,%ecx
463e32:	56                   	push   %esi
463e33:	e8 95 f5 ff ff       	call   0x4633cd
463e38:	5f                   	pop    %edi
463e39:	5e                   	pop    %esi
463e3a:	5d                   	pop    %ebp
463e3b:	c2 04 00             	ret    $0x4
463e3e:	56                   	push   %esi
463e3f:	8b f1                	mov    %ecx,%esi
463e41:	e8 7d ff ff ff       	call   0x463dc3
463e46:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
463e4b:	74 06                	je     0x463e53
463e4d:	56                   	push   %esi
463e4e:	e8 eb 9f 00 00       	call   0x46de3e
463e53:	8b c6                	mov    %esi,%eax
463e55:	5e                   	pop    %esi
463e56:	c2 04 00             	ret    $0x4
463e59:	55                   	push   %ebp
463e5a:	8b ec                	mov    %esp,%ebp
463e5c:	51                   	push   %ecx
463e5d:	51                   	push   %ecx
463e5e:	53                   	push   %ebx
463e5f:	56                   	push   %esi
463e60:	57                   	push   %edi
463e61:	8d 45 f8             	lea    -0x8(%ebp),%eax
463e64:	50                   	push   %eax
463e65:	8d 45 fc             	lea    -0x4(%ebp),%eax
463e68:	50                   	push   %eax
463e69:	8b f9                	mov    %ecx,%edi
463e6b:	68 b0 00 00 00       	push   $0xb0
463e70:	ff 77 1c             	push   0x1c(%edi)
463e73:	ff 15 98 08 4b 00    	call   *0x4b0898
463e79:	8b cf                	mov    %edi,%ecx
463e7b:	e8 09 fa ff ff       	call   0x463889
463e80:	ff 75 fc             	push   -0x4(%ebp)
463e83:	8b d8                	mov    %eax,%ebx
463e85:	ff 75 f8             	push   -0x8(%ebp)
463e88:	53                   	push   %ebx
463e89:	e8 53 f4 ff ff       	call   0x4632e1
463e8e:	8b 4d 08             	mov    0x8(%ebp),%ecx
463e91:	8b f0                	mov    %eax,%esi
463e93:	2b 75 fc             	sub    -0x4(%ebp),%esi
463e96:	56                   	push   %esi
463e97:	e8 f4 d2 f9 ff       	call   0x401190
463e9c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
463e9f:	56                   	push   %esi
463ea0:	03 d9                	add    %ecx,%ebx
463ea2:	53                   	push   %ebx
463ea3:	50                   	push   %eax
463ea4:	e8 c7 39 fb ff       	call   0x417870
463ea9:	8b 4d 08             	mov    0x8(%ebp),%ecx
463eac:	83 c4 0c             	add    $0xc,%esp
463eaf:	56                   	push   %esi
463eb0:	e8 72 d2 f9 ff       	call   0x401127
463eb5:	8b cf                	mov    %edi,%ecx
463eb7:	e8 47 fa ff ff       	call   0x463903
463ebc:	5f                   	pop    %edi
463ebd:	5e                   	pop    %esi
463ebe:	5b                   	pop    %ebx
463ebf:	c9                   	leave
463ec0:	c2 04 00             	ret    $0x4
463ec3:	b8 b4 41 48 00       	mov    $0x4841b4,%eax
463ec8:	e8 af 3d fb ff       	call   0x417c7c
463ecd:	83 ec 0c             	sub    $0xc,%esp
463ed0:	56                   	push   %esi
463ed1:	57                   	push   %edi
463ed2:	ff 75 08             	push   0x8(%ebp)
463ed5:	8b f1                	mov    %ecx,%esi
463ed7:	ff 15 88 03 4b 00    	call   *0x4b0388
463edd:	8b f8                	mov    %eax,%edi
463edf:	8d 45 ec             	lea    -0x14(%ebp),%eax
463ee2:	50                   	push   %eax
463ee3:	8d 45 e8             	lea    -0x18(%ebp),%eax
463ee6:	50                   	push   %eax
463ee7:	68 b0 00 00 00       	push   $0xb0
463eec:	ff 76 1c             	push   0x1c(%esi)
463eef:	ff 15 98 08 4b 00    	call   *0x4b0898
463ef5:	8b 45 ec             	mov    -0x14(%ebp),%eax
463ef8:	2b 45 e8             	sub    -0x18(%ebp),%eax
463efb:	3b f8                	cmp    %eax,%edi
463efd:	74 04                	je     0x463f03
463eff:	33 c0                	xor    %eax,%eax
463f01:	eb 46                	jmp    0x463f49
463f03:	e8 ee c2 fd ff       	call   0x4401f6
463f08:	8b 10                	mov    (%eax),%edx
463f0a:	8b c8                	mov    %eax,%ecx
463f0c:	ff 52 0c             	call   *0xc(%edx)
463f0f:	83 c0 10             	add    $0x10,%eax
463f12:	89 45 f0             	mov    %eax,-0x10(%ebp)
463f15:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
463f19:	8d 45 f0             	lea    -0x10(%ebp),%eax
463f1c:	50                   	push   %eax
463f1d:	8b ce                	mov    %esi,%ecx