462c00:	33 db                	xor    %ebx,%ebx
462c02:	53                   	push   %ebx
462c03:	50                   	push   %eax
462c04:	8b 07                	mov    (%edi),%eax
462c06:	8b 48 04             	mov    0x4(%eax),%ecx
462c09:	03 cf                	add    %edi,%ecx
462c0b:	e8 11 07 fa ff       	call   0x403321
462c10:	8b 07                	mov    (%edi),%eax
462c12:	53                   	push   %ebx
462c13:	8b 48 04             	mov    0x4(%eax),%ecx
462c16:	6a 03                	push   $0x3
462c18:	03 cf                	add    %edi,%ecx
462c1a:	e8 2d a3 fe ff       	call   0x44cf4c
462c1f:	8b 75 0c             	mov    0xc(%ebp),%esi
462c22:	8b ce                	mov    %esi,%ecx
462c24:	e8 f7 ff fa ff       	call   0x412c20
462c29:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
462c30:	89 1e                	mov    %ebx,(%esi)
462c32:	e9 c3 01 00 00       	jmp    0x462dfa
462c37:	8b 74 24 0c          	mov    0xc(%esp),%esi
462c3b:	eb 04                	jmp    0x462c41
462c3d:	8b 74 24 18          	mov    0x18(%esp),%esi
462c41:	8d 44 24 10          	lea    0x10(%esp),%eax
462c45:	50                   	push   %eax
462c46:	8b 44 24 18          	mov    0x18(%esp),%eax
462c4a:	0d 1f 00 02 00       	or     $0x2001f,%eax
462c4f:	50                   	push   %eax
462c50:	6a 00                	push   $0x0
462c52:	ff 74 24 44          	push   0x44(%esp)
462c56:	56                   	push   %esi
462c57:	ff 15 20 d0 48 00    	call   *0x48d020
462c5d:	85 c0                	test   %eax,%eax
462c5f:	74 36                	je     0x462c97
462c61:	6a 00                	push   $0x0
462c63:	50                   	push   %eax
462c64:	8b 07                	mov    (%edi),%eax
462c66:	8b 48 04             	mov    0x4(%eax),%ecx
462c69:	03 cf                	add    %edi,%ecx
462c6b:	e8 b1 06 fa ff       	call   0x403321
462c70:	8b 07                	mov    (%edi),%eax
462c72:	33 db                	xor    %ebx,%ebx
462c74:	8b 48 04             	mov    0x4(%eax),%ecx
462c77:	6a 00                	push   $0x0
462c79:	43                   	inc    %ebx
462c7a:	53                   	push   %ebx
462c7b:	03 cf                	add    %edi,%ecx
462c7d:	e8 ca a2 fe ff       	call   0x44cf4c
462c82:	8b 75 0c             	mov    0xc(%ebp),%esi
462c85:	8b ce                	mov    %esi,%ecx
462c87:	e8 94 ff fa ff       	call   0x412c20
462c8c:	83 26 00             	andl   $0x0,(%esi)
462c8f:	89 5e 0c             	mov    %ebx,0xc(%esi)
462c92:	e9 52 01 00 00       	jmp    0x462de9
462c97:	4b                   	dec    %ebx
462c98:	0f 84 81 00 00 00    	je     0x462d1f
462c9e:	4b                   	dec    %ebx
462c9f:	0f 85 44 01 00 00    	jne    0x462de9
462ca5:	8b 45 08             	mov    0x8(%ebp),%eax
462ca8:	8b 40 04             	mov    0x4(%eax),%eax
462cab:	8b 70 04             	mov    0x4(%eax),%esi
462cae:	8b ce                	mov    %esi,%ecx
462cb0:	e8 b7 66 fa ff       	call   0x40936c
462cb5:	8b 46 08             	mov    0x8(%esi),%eax
462cb8:	ff 30                	push   (%eax)
462cba:	ff 74 24 14          	push   0x14(%esp)
462cbe:	ff 15 08 d0 48 00    	call   *0x48d008
462cc4:	85 c0                	test   %eax,%eax
462cc6:	74 48                	je     0x462d10
462cc8:	6a 02                	push   $0x2
462cca:	5b                   	pop    %ebx
462ccb:	3b c3                	cmp    %ebx,%eax
462ccd:	75 0f                	jne    0x462cde
462ccf:	8b 75 0c             	mov    0xc(%ebp),%esi
462cd2:	8b ce                	mov    %esi,%ecx
462cd4:	e8 47 ff fa ff       	call   0x412c20
462cd9:	83 26 00             	andl   $0x0,(%esi)
462cdc:	eb 2b                	jmp    0x462d09
462cde:	6a 00                	push   $0x0
462ce0:	50                   	push   %eax
462ce1:	8b 07                	mov    (%edi),%eax
462ce3:	8b 48 04             	mov    0x4(%eax),%ecx
462ce6:	03 cf                	add    %edi,%ecx
462ce8:	e8 34 06 fa ff       	call   0x403321
462ced:	8b 07                	mov    (%edi),%eax
462cef:	6a 00                	push   $0x0
462cf1:	8b 48 04             	mov    0x4(%eax),%ecx
462cf4:	6a fe                	push   $0xfffffffe
462cf6:	03 cf                	add    %edi,%ecx
462cf8:	e8 4f a2 fe ff       	call   0x44cf4c
462cfd:	8b 75 0c             	mov    0xc(%ebp),%esi
462d00:	8b ce                	mov    %esi,%ecx
462d02:	e8 19 ff fa ff       	call   0x412c20
462d07:	89 1e                	mov    %ebx,(%esi)
462d09:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
462d10:	ff 74 24 10          	push   0x10(%esp)
462d14:	ff 15 24 d0 48 00    	call   *0x48d024
462d1a:	e9 ca 00 00 00       	jmp    0x462de9
462d1f:	8b 54 24 14          	mov    0x14(%esp),%edx
462d23:	8b 4c 24 10          	mov    0x10(%esp),%ecx
462d27:	e8 46 10 00 00       	call   0x463d72
462d2c:	ff 74 24 10          	push   0x10(%esp)
462d30:	8a d8                	mov    %al,%bl
462d32:	ff 15 24 d0 48 00    	call   *0x48d024
462d38:	84 db                	test   %bl,%bl
462d3a:	75 2c                	jne    0x462d68
462d3c:	8b 07                	mov    (%edi),%eax
462d3e:	6a 00                	push   $0x0
462d40:	8b 48 04             	mov    0x4(%eax),%ecx
462d43:	6a fe                	push   $0xfffffffe
462d45:	03 cf                	add    %edi,%ecx
462d47:	e8 00 a2 fe ff       	call   0x44cf4c
462d4c:	8b 75 0c             	mov    0xc(%ebp),%esi
462d4f:	8b ce                	mov    %esi,%ecx
462d51:	e8 ca fe fa ff       	call   0x412c20
462d56:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
462d5d:	c7 06 02 00 00 00    	movl   $0x2,(%esi)
462d63:	e9 81 00 00 00       	jmp    0x462de9
462d68:	33 db                	xor    %ebx,%ebx
462d6a:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
462d6e:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
462d72:	89 5c 24 24          	mov    %ebx,0x24(%esp)
462d76:	e8 4e 0e 00 00       	call   0x463bc9
462d7b:	84 c0                	test   %al,%al
462d7d:	74 17                	je     0x462d96
462d7f:	53                   	push   %ebx
462d80:	ff 74 24 18          	push   0x18(%esp)
462d84:	8d 4c 24 24          	lea    0x24(%esp),%ecx
462d88:	ff 74 24 40          	push   0x40(%esp)
462d8c:	56                   	push   %esi
462d8d:	e8 6a fd ff ff       	call   0x462afc
462d92:	ff d0                	call   *%eax
462d94:	eb 0b                	jmp    0x462da1
462d96:	ff 74 24 38          	push   0x38(%esp)
462d9a:	56                   	push   %esi
462d9b:	ff 15 0c d0 48 00    	call   *0x48d00c
462da1:	85 c0                	test   %eax,%eax
462da3:	74 34                	je     0x462dd9
462da5:	53                   	push   %ebx
462da6:	50                   	push   %eax
462da7:	8b 07                	mov    (%edi),%eax
462da9:	8b 48 04             	mov    0x4(%eax),%ecx
462dac:	03 cf                	add    %edi,%ecx
462dae:	e8 6e 05 fa ff       	call   0x403321
462db3:	8b 07                	mov    (%edi),%eax
462db5:	53                   	push   %ebx
462db6:	8b 48 04             	mov    0x4(%eax),%ecx
462db9:	6a fe                	push   $0xfffffffe
462dbb:	03 cf                	add    %edi,%ecx
462dbd:	e8 8a a1 fe ff       	call   0x44cf4c
462dc2:	8b 75 0c             	mov    0xc(%ebp),%esi
462dc5:	8b ce                	mov    %esi,%ecx
462dc7:	e8 54 fe fa ff       	call   0x412c20
462dcc:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
462dd3:	c7 06 02 00 00 00    	movl   $0x2,(%esi)
462dd9:	39 5c 24 1c          	cmp    %ebx,0x1c(%esp)
462ddd:	74 0a                	je     0x462de9
462ddf:	ff 74 24 1c          	push   0x1c(%esp)
462de3:	ff 15 88 d1 48 00    	call   *0x48d188
462de9:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
462dee:	74 0a                	je     0x462dfa
462df0:	ff 74 24 0c          	push   0xc(%esp)
462df4:	ff 15 24 d0 48 00    	call   *0x48d024
462dfa:	8d 4c 24 58          	lea    0x58(%esp),%ecx
462dfe:	e8 34 9d fa ff       	call   0x40cb37
462e03:	8d 4c 24 38          	lea    0x38(%esp),%ecx
462e07:	e8 2b 9d fa ff       	call   0x40cb37
462e0c:	8d 4c 24 28          	lea    0x28(%esp),%ecx
462e10:	e8 22 9d fa ff       	call   0x40cb37
462e15:	8d 4c 24 48          	lea    0x48(%esp),%ecx
462e19:	e8 19 9d fa ff       	call   0x40cb37
462e1e:	5f                   	pop    %edi
462e1f:	5e                   	pop    %esi
462e20:	33 c0                	xor    %eax,%eax
462e22:	5b                   	pop    %ebx
462e23:	8b e5                	mov    %ebp,%esp
462e25:	5d                   	pop    %ebp
462e26:	c2 08 00             	ret    $0x8
462e29:	55                   	push   %ebp
462e2a:	8b ec                	mov    %esp,%ebp
462e2c:	83 e4 f8             	and    $0xfffffff8,%esp
462e2f:	81 ec 54 02 00 00    	sub    $0x254,%esp
462e35:	83 24 24 00          	andl   $0x0,(%esp)
462e39:	53                   	push   %ebx
462e3a:	56                   	push   %esi
462e3b:	57                   	push   %edi
462e3c:	8b f9                	mov    %ecx,%edi
462e3e:	8d 4c 24 30          	lea    0x30(%esp),%ecx
462e42:	c7 44 24 18 ff 00 00 	movl   $0xff,0x18(%esp)
462e49:	00
462e4a:	e8 a8 a9 fa ff       	call   0x40d7f7
462e4f:	8d 4c 24 20          	lea    0x20(%esp),%ecx
462e53:	e8 9f a9 fa ff       	call   0x40d7f7
462e58:	8d 4c 24 40          	lea    0x40(%esp),%ecx
462e5c:	e8 96 a9 fa ff       	call   0x40d7f7
462e61:	8b 4d 0c             	mov    0xc(%ebp),%ecx
462e64:	68 00 dc 49 00       	push   $0x49dc00
462e69:	e8 4b 9f fa ff       	call   0x40cdb9
462e6e:	8b 5d 08             	mov    0x8(%ebp),%ebx
462e71:	8b 43 04             	mov    0x4(%ebx),%eax
462e74:	8b 30                	mov    (%eax),%esi
462e76:	8b ce                	mov    %esi,%ecx
462e78:	e8 ef 64 fa ff       	call   0x40936c
462e7d:	8b 46 08             	mov    0x8(%esi),%eax
462e80:	83 ec 10             	sub    $0x10,%esp
462e83:	8b cc                	mov    %esp,%ecx
462e85:	ff 30                	push   (%eax)
462e87:	e8 8d 9f fa ff       	call   0x40ce19
462e8c:	8d 44 24 50          	lea    0x50(%esp),%eax
462e90:	50                   	push   %eax
462e91:	8d 44 24 34          	lea    0x34(%esp),%eax
462e95:	50                   	push   %eax
462e96:	8d 44 24 48          	lea    0x48(%esp),%eax
462e9a:	50                   	push   %eax
462e9b:	e8 ea 0f 00 00       	call   0x463e8a
462ea0:	8b 44 24 20          	mov    0x20(%esp),%eax
462ea4:	83 ec 10             	sub    $0x10,%esp
462ea7:	8b cc                	mov    %esp,%ecx
462ea9:	89 01                	mov    %eax,(%ecx)
462eab:	8b 44 24 34          	mov    0x34(%esp),%eax
462eaf:	89 41 04             	mov    %eax,0x4(%ecx)
462eb2:	8b 44 24 38          	mov    0x38(%esp),%eax
462eb6:	89 41 08             	mov    %eax,0x8(%ecx)
462eb9:	8b 44 24 3c          	mov    0x3c(%esp),%eax
462ebd:	89 41 0c             	mov    %eax,0xc(%ecx)
462ec0:	ff 00                	incl   (%eax)
462ec2:	8d 44 24 2c          	lea    0x2c(%esp),%eax
462ec6:	50                   	push   %eax
462ec7:	8d 44 24 24          	lea    0x24(%esp),%eax
462ecb:	50                   	push   %eax
462ecc:	e8 35 0d 00 00       	call   0x463c06
462ed1:	84 c0                	test   %al,%al
462ed3:	75 06                	jne    0x462edb
462ed5:	6a 00                	push   $0x0
462ed7:	6a 02                	push   $0x2
462ed9:	eb 22                	jmp    0x462efd
462edb:	83 7c 24 34 00       	cmpl   $0x0,0x34(%esp)
462ee0:	74 32                	je     0x462f14
462ee2:	8d 44 24 0c          	lea    0xc(%esp),%eax
462ee6:	50                   	push   %eax
462ee7:	ff 74 24 14          	push   0x14(%esp)
462eeb:	ff 74 24 38          	push   0x38(%esp)
462eef:	ff 15 2c d0 48 00    	call   *0x48d02c
462ef5:	85 c0                	test   %eax,%eax
462ef7:	74 15                	je     0x462f0e
462ef9:	6a 00                	push   $0x0
462efb:	6a 03                	push   $0x3
462efd:	8b 07                	mov    (%edi),%eax
462eff:	8b 48 04             	mov    0x4(%eax),%ecx
462f02:	03 cf                	add    %edi,%ecx
462f04:	e8 43 a0 fe ff       	call   0x44cf4c
462f09:	e9 a2 00 00 00       	jmp    0x462fb0
462f0e:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
462f12:	eb 04                	jmp    0x462f18
462f14:	8b 4c 24 10          	mov    0x10(%esp),%ecx
462f18:	8d 44 24 14          	lea    0x14(%esp),%eax
462f1c:	50                   	push   %eax
462f1d:	8b 44 24 20          	mov    0x20(%esp),%eax
462f21:	0d 19 00 02 00       	or     $0x20019,%eax
462f26:	50                   	push   %eax
462f27:	6a 00                	push   $0x0
462f29:	ff 74 24 4c          	push   0x4c(%esp)
462f2d:	51                   	push   %ecx
462f2e:	ff 15 20 d0 48 00    	call   *0x48d020
462f34:	8b 35 24 d0 48 00    	mov    0x48d024,%esi
462f3a:	85 c0                	test   %eax,%eax
462f3c:	74 12                	je     0x462f50
462f3e:	8b 07                	mov    (%edi),%eax
462f40:	6a 00                	push   $0x0
462f42:	8b 48 04             	mov    0x4(%eax),%ecx
462f45:	6a 01                	push   $0x1
462f47:	03 cf                	add    %edi,%ecx
462f49:	e8 fe 9f fe ff       	call   0x44cf4c
462f4e:	eb 53                	jmp    0x462fa3
462f50:	8b 43 04             	mov    0x4(%ebx),%eax
462f53:	8d 4c 24 50          	lea    0x50(%esp),%ecx
462f57:	51                   	push   %ecx
462f58:	33 db                	xor    %ebx,%ebx
462f5a:	53                   	push   %ebx
462f5b:	53                   	push   %ebx
462f5c:	53                   	push   %ebx
462f5d:	8d 4c 24 28          	lea    0x28(%esp),%ecx
462f61:	51                   	push   %ecx
462f62:	8d 4c 24 6c          	lea    0x6c(%esp),%ecx
462f66:	51                   	push   %ecx
462f67:	8b 48 04             	mov    0x4(%eax),%ecx
462f6a:	e8 17 a3 fa ff       	call   0x40d286
462f6f:	48                   	dec    %eax
462f70:	50                   	push   %eax
462f71:	ff 74 24 30          	push   0x30(%esp)
462f75:	ff 15 10 d0 48 00    	call   *0x48d010
462f7b:	85 c0                	test   %eax,%eax
462f7d:	74 11                	je     0x462f90
462f7f:	8b 07                	mov    (%edi),%eax
462f81:	53                   	push   %ebx
462f82:	8b 48 04             	mov    0x4(%eax),%ecx
462f85:	6a ff                	push   $0xffffffff
462f87:	03 cf                	add    %edi,%ecx
462f89:	e8 be 9f fe ff       	call   0x44cf4c
462f8e:	eb 0d                	jmp    0x462f9d
462f90:	8b 4d 0c             	mov    0xc(%ebp),%ecx
462f93:	8d 44 24 58          	lea    0x58(%esp),%eax
462f97:	50                   	push   %eax
462f98:	e8 1c 9e fa ff       	call   0x40cdb9
462f9d:	ff 74 24 14          	push   0x14(%esp)
462fa1:	ff d6                	call   *%esi
462fa3:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
462fa8:	74 06                	je     0x462fb0
462faa:	ff 74 24 0c          	push   0xc(%esp)
462fae:	ff d6                	call   *%esi
462fb0:	8d 4c 24 40          	lea    0x40(%esp),%ecx
462fb4:	e8 7e 9b fa ff       	call   0x40cb37
462fb9:	8d 4c 24 20          	lea    0x20(%esp),%ecx
462fbd:	e8 75 9b fa ff       	call   0x40cb37
462fc2:	8d 4c 24 30          	lea    0x30(%esp),%ecx
462fc6:	e8 6c 9b fa ff       	call   0x40cb37
462fcb:	5f                   	pop    %edi
462fcc:	5e                   	pop    %esi
462fcd:	33 c0                	xor    %eax,%eax
462fcf:	5b                   	pop    %ebx
462fd0:	8b e5                	mov    %ebp,%esp
462fd2:	5d                   	pop    %ebp
462fd3:	c2 08 00             	ret    $0x8
462fd6:	55                   	push   %ebp
462fd7:	8b ec                	mov    %esp,%ebp
462fd9:	83 e4 f8             	and    $0xfffffff8,%esp
462fdc:	83 ec 54             	sub    $0x54,%esp
462fdf:	83 64 24 04 00       	andl   $0x0,0x4(%esp)
462fe4:	53                   	push   %ebx
462fe5:	56                   	push   %esi
462fe6:	57                   	push   %edi
462fe7:	68 02 80 00 00       	push   $0x8002
462fec:	8b f9                	mov    %ecx,%edi
462fee:	e8 f7 c4 fb ff       	call   0x41f4ea
462ff3:	59                   	pop    %ecx
462ff4:	50                   	push   %eax
462ff5:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
462ff9:	e8 b9 17 fa ff       	call   0x4047b7
462ffe:	8d 4c 24 40          	lea    0x40(%esp),%ecx
463002:	c7 44 24 20 ff 3f 00 	movl   $0x3fff,0x20(%esp)
463009:	00
46300a:	e8 e8 a7 fa ff       	call   0x40d7f7
46300f:	8d 4c 24 30          	lea    0x30(%esp),%ecx
463013:	e8 df a7 fa ff       	call   0x40d7f7
463018:	8d 4c 24 50          	lea    0x50(%esp),%ecx
46301c:	e8 d6 a7 fa ff       	call   0x40d7f7
463021:	8b 4d 0c             	mov    0xc(%ebp),%ecx
463024:	68 00 dc 49 00       	push   $0x49dc00
463029:	e8 8b 9d fa ff       	call   0x40cdb9
46302e:	8b 5d 08             	mov    0x8(%ebp),%ebx
463031:	8b 43 04             	mov    0x4(%ebx),%eax