454b56:	e8 a9 49 fd ff       	call   0x429504
454b5b:	85 c0                	test   %eax,%eax
454b5d:	75 22                	jne    0x454b81
454b5f:	ba dc 08 41 00       	mov    $0x4108dc,%edx
454b64:	e8 9b 49 fd ff       	call   0x429504
454b69:	85 c0                	test   %eax,%eax
454b6b:	74 0d                	je     0x454b7a
454b6d:	8b 4d 08             	mov    0x8(%ebp),%ecx
454b70:	89 0e                	mov    %ecx,(%esi)
454b72:	51                   	push   %ecx
454b73:	8b 01                	mov    (%ecx),%eax
454b75:	8b 70 04             	mov    0x4(%eax),%esi
454b78:	eb 12                	jmp    0x454b8c
454b7a:	bf 02 40 00 80       	mov    $0x80004002,%edi
454b7f:	eb 15                	jmp    0x454b96
454b81:	8b 55 08             	mov    0x8(%ebp),%edx
454b84:	89 16                	mov    %edx,(%esi)
454b86:	52                   	push   %edx
454b87:	8b 0a                	mov    (%edx),%ecx
454b89:	8b 71 04             	mov    0x4(%ecx),%esi
454b8c:	8b ce                	mov    %esi,%ecx
454b8e:	ff 15 2c 81 4a 00    	call   *0x4a812c
454b94:	ff d6                	call   *%esi
454b96:	8b c7                	mov    %edi,%eax
454b98:	5f                   	pop    %edi
454b99:	5e                   	pop    %esi
454b9a:	5d                   	pop    %ebp
454b9b:	c2 0c 00             	ret    $0xc
454b9e:	8b ff                	mov    %edi,%edi
454ba0:	55                   	push   %ebp
454ba1:	8b ec                	mov    %esp,%ebp
454ba3:	83 ec 14             	sub    $0x14,%esp
454ba6:	53                   	push   %ebx
454ba7:	8b d9                	mov    %ecx,%ebx
454ba9:	56                   	push   %esi
454baa:	8b 75 08             	mov    0x8(%ebp),%esi
454bad:	57                   	push   %edi
454bae:	8b 53 14             	mov    0x14(%ebx),%edx
454bb1:	83 cf ff             	or     $0xffffffff,%edi
454bb4:	89 7d fc             	mov    %edi,-0x4(%ebp)
454bb7:	3b d6                	cmp    %esi,%edx
454bb9:	73 08                	jae    0x454bc3
454bbb:	e8 ca 8e 03 00       	call   0x48da8a
454bc0:	8b 53 14             	mov    0x14(%ebx),%edx
454bc3:	8b 45 0c             	mov    0xc(%ebp),%eax
454bc6:	8b ca                	mov    %edx,%ecx
454bc8:	2b ce                	sub    %esi,%ecx
454bca:	3b c8                	cmp    %eax,%ecx
454bcc:	73 05                	jae    0x454bd3
454bce:	8b c1                	mov    %ecx,%eax
454bd0:	89 45 0c             	mov    %eax,0xc(%ebp)
454bd3:	8b 4d 10             	mov    0x10(%ebp),%ecx
454bd6:	39 79 14             	cmp    %edi,0x14(%ecx)
454bd9:	73 06                	jae    0x454be1
454bdb:	8b 79 14             	mov    0x14(%ecx),%edi
454bde:	89 7d fc             	mov    %edi,-0x4(%ebp)
454be1:	8b ca                	mov    %edx,%ecx
454be3:	2b c8                	sub    %eax,%ecx
454be5:	8b c7                	mov    %edi,%eax
454be7:	f7 d0                	not    %eax
454be9:	3b c1                	cmp    %ecx,%eax
454beb:	77 08                	ja     0x454bf5
454bed:	e8 60 8e 03 00       	call   0x48da52
454bf2:	8b 53 14             	mov    0x14(%ebx),%edx
454bf5:	8b 45 0c             	mov    0xc(%ebp),%eax
454bf8:	8b ca                	mov    %edx,%ecx
454bfa:	2b ce                	sub    %esi,%ecx
454bfc:	2b c8                	sub    %eax,%ecx
454bfe:	89 4d f8             	mov    %ecx,-0x8(%ebp)
454c01:	8b ca                	mov    %edx,%ecx
454c03:	2b c8                	sub    %eax,%ecx
454c05:	03 cf                	add    %edi,%ecx
454c07:	89 4d ec             	mov    %ecx,-0x14(%ebp)
454c0a:	3b d1                	cmp    %ecx,%edx
454c0c:	73 0d                	jae    0x454c1b
454c0e:	6a 00                	push   $0x0
454c10:	51                   	push   %ecx
454c11:	8b cb                	mov    %ebx,%ecx
454c13:	e8 85 7a fc ff       	call   0x41c69d
454c18:	8b 45 0c             	mov    0xc(%ebp),%eax
454c1b:	8d 73 04             	lea    0x4(%ebx),%esi
454c1e:	8b 4b 18             	mov    0x18(%ebx),%ecx
454c21:	6a 08                	push   $0x8
454c23:	3b 5d 10             	cmp    0x10(%ebp),%ebx
454c26:	0f 84 80 00 00 00    	je     0x454cac
454c2c:	5f                   	pop    %edi
454c2d:	3b cf                	cmp    %edi,%ecx
454c2f:	72 07                	jb     0x454c38
454c31:	8b 06                	mov    (%esi),%eax
454c33:	89 45 f4             	mov    %eax,-0xc(%ebp)
454c36:	eb 03                	jmp    0x454c3b
454c38:	89 75 f4             	mov    %esi,-0xc(%ebp)
454c3b:	72 07                	jb     0x454c44
454c3d:	8b 06                	mov    (%esi),%eax
454c3f:	89 45 f0             	mov    %eax,-0x10(%ebp)
454c42:	eb 03                	jmp    0x454c47
454c44:	89 75 f0             	mov    %esi,-0x10(%ebp)
454c47:	8b 45 f8             	mov    -0x8(%ebp),%eax
454c4a:	8b 55 f4             	mov    -0xc(%ebp),%edx
454c4d:	03 c0                	add    %eax,%eax
454c4f:	2b 4d 08             	sub    0x8(%ebp),%ecx
454c52:	50                   	push   %eax
454c53:	8b 45 0c             	mov    0xc(%ebp),%eax
454c56:	03 45 08             	add    0x8(%ebp),%eax
454c59:	8d 04 42             	lea    (%edx,%eax,2),%eax
454c5c:	50                   	push   %eax
454c5d:	8b 45 fc             	mov    -0x4(%ebp),%eax
454c60:	2b c8                	sub    %eax,%ecx
454c62:	03 45 08             	add    0x8(%ebp),%eax
454c65:	03 c9                	add    %ecx,%ecx
454c67:	51                   	push   %ecx
454c68:	8b 4d f0             	mov    -0x10(%ebp),%ecx
454c6b:	8d 04 41             	lea    (%ecx,%eax,2),%eax
454c6e:	50                   	push   %eax
454c6f:	ff 15 c4 80 4a 00    	call   *0x4a80c4
454c75:	8b 45 10             	mov    0x10(%ebp),%eax
454c78:	83 c4 10             	add    $0x10,%esp
454c7b:	8d 50 04             	lea    0x4(%eax),%edx
454c7e:	39 78 18             	cmp    %edi,0x18(%eax)
454c81:	72 02                	jb     0x454c85
454c83:	8b 12                	mov    (%edx),%edx
454c85:	8b 4b 18             	mov    0x18(%ebx),%ecx
454c88:	3b cf                	cmp    %edi,%ecx
454c8a:	72 02                	jb     0x454c8e
454c8c:	8b 36                	mov    (%esi),%esi
454c8e:	8b 45 fc             	mov    -0x4(%ebp),%eax
454c91:	03 c0                	add    %eax,%eax
454c93:	50                   	push   %eax
454c94:	8b 45 08             	mov    0x8(%ebp),%eax
454c97:	2b c8                	sub    %eax,%ecx
454c99:	52                   	push   %edx
454c9a:	03 c9                	add    %ecx,%ecx
454c9c:	51                   	push   %ecx
454c9d:	8d 04 46             	lea    (%esi,%eax,2),%eax
454ca0:	50                   	push   %eax
454ca1:	ff 15 f0 80 4a 00    	call   *0x4a80f0
454ca7:	e9 e6 00 00 00       	jmp    0x454d92
454cac:	3b f8                	cmp    %eax,%edi
454cae:	5f                   	pop    %edi
454caf:	77 6c                	ja     0x454d1d
454cb1:	3b cf                	cmp    %edi,%ecx
454cb3:	72 07                	jb     0x454cbc
454cb5:	8b 06                	mov    (%esi),%eax
454cb7:	89 45 f0             	mov    %eax,-0x10(%ebp)
454cba:	eb 03                	jmp    0x454cbf
454cbc:	89 75 f0             	mov    %esi,-0x10(%ebp)
454cbf:	72 04                	jb     0x454cc5
454cc1:	8b 16                	mov    (%esi),%edx
454cc3:	eb 02                	jmp    0x454cc7
454cc5:	8b d6                	mov    %esi,%edx
454cc7:	8b 45 fc             	mov    -0x4(%ebp),%eax
454cca:	03 c0                	add    %eax,%eax
454ccc:	50                   	push   %eax
454ccd:	8b 45 08             	mov    0x8(%ebp),%eax
454cd0:	2b c8                	sub    %eax,%ecx
454cd2:	ff 75 f0             	push   -0x10(%ebp)
454cd5:	03 c9                	add    %ecx,%ecx
454cd7:	51                   	push   %ecx
454cd8:	8d 04 42             	lea    (%edx,%eax,2),%eax
454cdb:	50                   	push   %eax
454cdc:	ff 15 c4 80 4a 00    	call   *0x4a80c4
454ce2:	8b 53 18             	mov    0x18(%ebx),%edx
454ce5:	83 c4 10             	add    $0x10,%esp
454ce8:	3b d7                	cmp    %edi,%edx
454cea:	72 07                	jb     0x454cf3
454cec:	8b 06                	mov    (%esi),%eax
454cee:	89 45 f0             	mov    %eax,-0x10(%ebp)
454cf1:	eb 03                	jmp    0x454cf6
454cf3:	89 75 f0             	mov    %esi,-0x10(%ebp)
454cf6:	72 02                	jb     0x454cfa
454cf8:	8b 36                	mov    (%esi),%esi
454cfa:	8b 45 f8             	mov    -0x8(%ebp),%eax
454cfd:	8b 4d 08             	mov    0x8(%ebp),%ecx
454d00:	03 c0                	add    %eax,%eax
454d02:	8b 7d f0             	mov    -0x10(%ebp),%edi
454d05:	2b d1                	sub    %ecx,%edx
454d07:	50                   	push   %eax
454d08:	8b 45 0c             	mov    0xc(%ebp),%eax
454d0b:	03 c1                	add    %ecx,%eax
454d0d:	8d 04 47             	lea    (%edi,%eax,2),%eax
454d10:	50                   	push   %eax
454d11:	8b 45 fc             	mov    -0x4(%ebp),%eax
454d14:	2b d0                	sub    %eax,%edx
454d16:	03 d2                	add    %edx,%edx
454d18:	03 c1                	add    %ecx,%eax
454d1a:	52                   	push   %edx
454d1b:	eb 6b                	jmp    0x454d88
454d1d:	3b cf                	cmp    %edi,%ecx
454d1f:	72 07                	jb     0x454d28
454d21:	8b 06                	mov    (%esi),%eax
454d23:	89 45 f0             	mov    %eax,-0x10(%ebp)
454d26:	eb 03                	jmp    0x454d2b
454d28:	89 75 f0             	mov    %esi,-0x10(%ebp)
454d2b:	72 07                	jb     0x454d34
454d2d:	8b 06                	mov    (%esi),%eax
454d2f:	89 45 f4             	mov    %eax,-0xc(%ebp)
454d32:	eb 03                	jmp    0x454d37
454d34:	89 75 f4             	mov    %esi,-0xc(%ebp)
454d37:	8b 45 f8             	mov    -0x8(%ebp),%eax
454d3a:	8b 55 f0             	mov    -0x10(%ebp),%edx
454d3d:	03 c0                	add    %eax,%eax
454d3f:	2b 4d 08             	sub    0x8(%ebp),%ecx
454d42:	50                   	push   %eax
454d43:	8b 45 0c             	mov    0xc(%ebp),%eax
454d46:	03 45 08             	add    0x8(%ebp),%eax
454d49:	8d 04 42             	lea    (%edx,%eax,2),%eax
454d4c:	50                   	push   %eax
454d4d:	8b 45 fc             	mov    -0x4(%ebp),%eax
454d50:	2b c8                	sub    %eax,%ecx
454d52:	03 45 08             	add    0x8(%ebp),%eax
454d55:	03 c9                	add    %ecx,%ecx
454d57:	51                   	push   %ecx
454d58:	8b 4d f4             	mov    -0xc(%ebp),%ecx
454d5b:	8d 04 41             	lea    (%ecx,%eax,2),%eax
454d5e:	50                   	push   %eax
454d5f:	ff 15 c4 80 4a 00    	call   *0x4a80c4
454d65:	8b 4b 18             	mov    0x18(%ebx),%ecx
454d68:	83 c4 10             	add    $0x10,%esp
454d6b:	3b cf                	cmp    %edi,%ecx
454d6d:	72 04                	jb     0x454d73
454d6f:	8b 16                	mov    (%esi),%edx
454d71:	eb 02                	jmp    0x454d75
454d73:	8b d6                	mov    %esi,%edx
454d75:	72 02                	jb     0x454d79
454d77:	8b 36                	mov    (%esi),%esi
454d79:	8b 45 fc             	mov    -0x4(%ebp),%eax
454d7c:	03 c0                	add    %eax,%eax
454d7e:	50                   	push   %eax
454d7f:	8b 45 08             	mov    0x8(%ebp),%eax
454d82:	2b c8                	sub    %eax,%ecx
454d84:	52                   	push   %edx
454d85:	03 c9                	add    %ecx,%ecx
454d87:	51                   	push   %ecx
454d88:	8d 04 46             	lea    (%esi,%eax,2),%eax
454d8b:	50                   	push   %eax
454d8c:	ff 15 c4 80 4a 00    	call   *0x4a80c4
454d92:	83 c4 10             	add    $0x10,%esp
454d95:	8b cb                	mov    %ebx,%ecx
454d97:	ff 75 ec             	push   -0x14(%ebp)
454d9a:	e8 05 7a fc ff       	call   0x41c7a4
454d9f:	5f                   	pop    %edi
454da0:	5e                   	pop    %esi
454da1:	8b c3                	mov    %ebx,%eax
454da3:	5b                   	pop    %ebx
454da4:	c9                   	leave
454da5:	c2 14 00             	ret    $0x14
454da8:	8b ff                	mov    %edi,%edi
454daa:	55                   	push   %ebp
454dab:	8b ec                	mov    %esp,%ebp
454dad:	57                   	push   %edi
454dae:	8b f9                	mov    %ecx,%edi
454db0:	8b 0d 38 65 4a 00    	mov    0x4a6538,%ecx
454db6:	c7 07 c0 34 40 00    	movl   $0x4034c0,(%edi)
454dbc:	c7 47 08 01 00 00 00 	movl   $0x1,0x8(%edi)
454dc3:	c7 07 ec 34 40 00    	movl   $0x4034ec,(%edi)
454dc9:	85 c9                	test   %ecx,%ecx
454dcb:	74 12                	je     0x454ddf
454dcd:	8b 01                	mov    (%ecx),%eax
454dcf:	56                   	push   %esi
454dd0:	51                   	push   %ecx
454dd1:	8b 70 04             	mov    0x4(%eax),%esi
454dd4:	8b ce                	mov    %esi,%ecx
454dd6:	ff 15 2c 81 4a 00    	call   *0x4a812c
454ddc:	ff d6                	call   *%esi
454dde:	5e                   	pop    %esi
454ddf:	8b 4d 08             	mov    0x8(%ebp),%ecx
454de2:	8b 01                	mov    (%ecx),%eax
454de4:	89 47 0c             	mov    %eax,0xc(%edi)
454de7:	8b 41 04             	mov    0x4(%ecx),%eax
454dea:	89 47 10             	mov    %eax,0x10(%edi)
454ded:	8b c7                	mov    %edi,%eax
454def:	c7 07 04 35 40 00    	movl   $0x403504,(%edi)
454df5:	5f                   	pop    %edi
454df6:	5d                   	pop    %ebp
454df7:	c2 04 00             	ret    $0x4
454dfa:	8b ff                	mov    %edi,%edi
454dfc:	55                   	push   %ebp
454dfd:	8b ec                	mov    %esp,%ebp
454dff:	57                   	push   %edi
454e00:	8b f9                	mov    %ecx,%edi
454e02:	8b 0d 38 65 4a 00    	mov    0x4a6538,%ecx
454e08:	c7 07 ac 34 40 00    	movl   $0x4034ac,(%edi)
454e0e:	c7 47 08 01 00 00 00 	movl   $0x1,0x8(%edi)
454e15:	c7 07 d4 34 40 00    	movl   $0x4034d4,(%edi)
454e1b:	85 c9                	test   %ecx,%ecx
454e1d:	74 12                	je     0x454e31
454e1f:	8b 01                	mov    (%ecx),%eax
454e21:	56                   	push   %esi
454e22:	51                   	push   %ecx
454e23:	8b 70 04             	mov    0x4(%eax),%esi
454e26:	8b ce                	mov    %esi,%ecx
454e28:	ff 15 2c 81 4a 00    	call   *0x4a812c
454e2e:	ff d6                	call   *%esi
454e30:	5e                   	pop    %esi
454e31:	8b 4d 08             	mov    0x8(%ebp),%ecx
454e34:	8b 01                	mov    (%ecx),%eax
454e36:	89 47 0c             	mov    %eax,0xc(%edi)
454e39:	8b 41 04             	mov    0x4(%ecx),%eax
454e3c:	89 47 10             	mov    %eax,0x10(%edi)
454e3f:	8b c7                	mov    %edi,%eax
454e41:	c7 07 1c 35 40 00    	movl   $0x40351c,(%edi)
454e47:	5f                   	pop    %edi
454e48:	5d                   	pop    %ebp
454e49:	c2 04 00             	ret    $0x4
454e4c:	6a 08                	push   $0x8
454e4e:	b8 e2 3f 49 00       	mov    $0x493fe2,%eax
454e53:	e8 e4 b6 03 00       	call   0x49053c
454e58:	8b f9                	mov    %ecx,%edi
454e5a:	89 7d ec             	mov    %edi,-0x14(%ebp)
454e5d:	8b 45 0c             	mov    0xc(%ebp),%eax
454e60:	8b 75 08             	mov    0x8(%ebp),%esi
454e63:	2b c6                	sub    %esi,%eax
454e65:	8b 5f 14             	mov    0x14(%edi),%ebx
454e68:	d1 f8                	sar    $1,%eax
454e6a:	3b d8                	cmp    %eax,%ebx
454e6c:	77 19                	ja     0x454e87
454e6e:	39 47 18             	cmp    %eax,0x18(%edi)
454e71:	74 14                	je     0x454e87
454e73:	6a 01                	push   $0x1
454e75:	50                   	push   %eax
454e76:	e8 22 78 fc ff       	call   0x41c69d
454e7b:	84 c0                	test   %al,%al
454e7d:	74 08                	je     0x454e87
454e7f:	53                   	push   %ebx
454e80:	8b cf                	mov    %edi,%ecx
454e82:	e8 1d 79 fc ff       	call   0x41c7a4
454e87:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
454e8b:	3b 75 0c             	cmp    0xc(%ebp),%esi
454e8e:	74 11                	je     0x454ea1
454e90:	0f b7 06             	movzwl (%esi),%eax
454e93:	50                   	push   %eax
454e94:	51                   	push   %ecx
454e95:	8b cf                	mov    %edi,%ecx
454e97:	e8 05 ee fc ff       	call   0x423ca1
454e9c:	83 c6 02             	add    $0x2,%esi
454e9f:	eb ea                	jmp    0x454e8b
454ea1:	e8 fb b5 03 00       	call   0x4904a1
454ea6:	c2 0c 00             	ret    $0xc
454ea9:	8b 4d ec             	mov    -0x14(%ebp),%ecx
454eac:	33 f6                	xor    %esi,%esi
454eae:	56                   	push   %esi
454eaf:	6a 01                	push   $0x1
454eb1:	e8 0e 79 fc ff       	call   0x41c7c4
454eb6:	56                   	push   %esi
454eb7:	56                   	push   %esi
454eb8:	e8 de b5 03 00       	call   0x49049b
454ebd:	cc                   	int3
454ebe:	cc                   	int3
454ebf:	cc                   	int3
454ec0:	8d 41 24             	lea    0x24(%ecx),%eax