457ab0:	8b 06                	mov    (%esi),%eax
457ab2:	ff 50 0c             	call   *0xc(%eax)
457ab5:	8b 0e                	mov    (%esi),%ecx
457ab7:	8b f8                	mov    %eax,%edi
457ab9:	56                   	push   %esi
457aba:	ff 51 08             	call   *0x8(%ecx)
457abd:	eb 0f                	jmp    0x457ace
457abf:	8b 03                	mov    (%ebx),%eax
457ac1:	68 00 08 00 00       	push   $0x800
457ac6:	6a 00                	push   $0x0
457ac8:	53                   	push   %ebx
457ac9:	ff 50 10             	call   *0x10(%eax)
457acc:	8b f8                	mov    %eax,%edi
457ace:	85 ff                	test   %edi,%edi
457ad0:	0f 88 b0 01 00 00    	js     0x457c86
457ad6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
457ad9:	85 c9                	test   %ecx,%ecx
457adb:	0f 84 a5 01 00 00    	je     0x457c86
457ae1:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
457ae5:	8d 55 e4             	lea    -0x1c(%ebp),%edx
457ae8:	8b 01                	mov    (%ecx),%eax
457aea:	52                   	push   %edx
457aeb:	8d 55 f8             	lea    -0x8(%ebp),%edx
457aee:	52                   	push   %edx
457aef:	51                   	push   %ecx
457af0:	ff 50 48             	call   *0x48(%eax)
457af3:	85 c0                	test   %eax,%eax
457af5:	0f 88 82 01 00 00    	js     0x457c7d
457afb:	8b 4d f8             	mov    -0x8(%ebp),%ecx
457afe:	85 c9                	test   %ecx,%ecx
457b00:	0f 84 77 01 00 00    	je     0x457c7d
457b06:	8b 01                	mov    (%ecx),%eax
457b08:	8d 55 f0             	lea    -0x10(%ebp),%edx
457b0b:	52                   	push   %edx
457b0c:	ff 75 e4             	push   -0x1c(%ebp)
457b0f:	51                   	push   %ecx
457b10:	ff 50 14             	call   *0x14(%eax)
457b13:	83 7d f0 05          	cmpl   $0x5,-0x10(%ebp)
457b17:	0f 84 e0 00 00 00    	je     0x457bfd
457b1d:	8b 45 f8             	mov    -0x8(%ebp),%eax
457b20:	50                   	push   %eax
457b21:	8b 08                	mov    (%eax),%ecx
457b23:	ff 51 0c             	call   *0xc(%ecx)
457b26:	8b d8                	mov    %eax,%ebx
457b28:	33 ff                	xor    %edi,%edi
457b2a:	33 f6                	xor    %esi,%esi
457b2c:	89 7d dc             	mov    %edi,-0x24(%ebp)
457b2f:	85 db                	test   %ebx,%ebx
457b31:	0f 84 bc 00 00 00    	je     0x457bf3
457b37:	85 ff                	test   %edi,%edi
457b39:	0f 85 b4 00 00 00    	jne    0x457bf3
457b3f:	8b 45 f8             	mov    -0x8(%ebp),%eax
457b42:	8d 55 f0             	lea    -0x10(%ebp),%edx
457b45:	21 7d f0             	and    %edi,-0x10(%ebp)
457b48:	52                   	push   %edx
457b49:	56                   	push   %esi
457b4a:	8b 08                	mov    (%eax),%ecx
457b4c:	50                   	push   %eax
457b4d:	ff 51 14             	call   *0x14(%ecx)
457b50:	83 7d f0 05          	cmpl   $0x5,-0x10(%ebp)
457b54:	0f 85 90 00 00 00    	jne    0x457bea
457b5a:	8b 45 f8             	mov    -0x8(%ebp),%eax
457b5d:	8d 55 f4             	lea    -0xc(%ebp),%edx
457b60:	52                   	push   %edx
457b61:	56                   	push   %esi
457b62:	50                   	push   %eax
457b63:	8b 08                	mov    (%eax),%ecx
457b65:	ff 51 10             	call   *0x10(%ecx)
457b68:	8b 45 f4             	mov    -0xc(%ebp),%eax
457b6b:	8d 55 d4             	lea    -0x2c(%ebp),%edx
457b6e:	52                   	push   %edx
457b6f:	50                   	push   %eax
457b70:	8b 08                	mov    (%eax),%ecx
457b72:	ff 51 0c             	call   *0xc(%ecx)
457b75:	8b 55 d4             	mov    -0x2c(%ebp),%edx
457b78:	52                   	push   %edx
457b79:	0f b7 42 30          	movzwl 0x30(%edx),%eax
457b7d:	89 45 e0             	mov    %eax,-0x20(%ebp)
457b80:	8b 45 f4             	mov    -0xc(%ebp),%eax
457b83:	50                   	push   %eax
457b84:	8b 08                	mov    (%eax),%ecx
457b86:	ff 51 4c             	call   *0x4c(%ecx)
457b89:	83 4d e8 ff          	orl    $0xffffffff,-0x18(%ebp)
457b8d:	39 7d e0             	cmp    %edi,-0x20(%ebp)
457b90:	76 4c                	jbe    0x457bde
457b92:	8b 45 f4             	mov    -0xc(%ebp),%eax
457b95:	8d 55 d0             	lea    -0x30(%ebp),%edx
457b98:	52                   	push   %edx
457b99:	57                   	push   %edi
457b9a:	50                   	push   %eax
457b9b:	8b 08                	mov    (%eax),%ecx
457b9d:	ff 51 20             	call   *0x20(%ecx)
457ba0:	85 c0                	test   %eax,%eax
457ba2:	75 34                	jne    0x457bd8
457ba4:	8b 45 fc             	mov    -0x4(%ebp),%eax
457ba7:	8d 55 ec             	lea    -0x14(%ebp),%edx
457baa:	52                   	push   %edx
457bab:	ff 75 d0             	push   -0x30(%ebp)
457bae:	8b 08                	mov    (%eax),%ecx
457bb0:	50                   	push   %eax
457bb1:	ff 51 38             	call   *0x38(%ecx)
457bb4:	8b 45 ec             	mov    -0x14(%ebp),%eax
457bb7:	8d 55 e8             	lea    -0x18(%ebp),%edx
457bba:	52                   	push   %edx
457bbb:	6a 00                	push   $0x0
457bbd:	50                   	push   %eax
457bbe:	8b 08                	mov    (%eax),%ecx
457bc0:	ff 51 48             	call   *0x48(%ecx)
457bc3:	8b 45 e8             	mov    -0x18(%ebp),%eax
457bc6:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
457bc9:	8b 45 ec             	mov    -0x14(%ebp),%eax
457bcc:	50                   	push   %eax
457bcd:	8b 08                	mov    (%eax),%ecx
457bcf:	0f 84 cf 00 00 00    	je     0x457ca4
457bd5:	ff 51 08             	call   *0x8(%ecx)
457bd8:	47                   	inc    %edi
457bd9:	3b 7d e0             	cmp    -0x20(%ebp),%edi
457bdc:	72 b4                	jb     0x457b92
457bde:	8b 45 f4             	mov    -0xc(%ebp),%eax
457be1:	50                   	push   %eax
457be2:	8b 08                	mov    (%eax),%ecx
457be4:	ff 51 08             	call   *0x8(%ecx)
457be7:	8b 7d dc             	mov    -0x24(%ebp),%edi
457bea:	46                   	inc    %esi
457beb:	3b f3                	cmp    %ebx,%esi
457bed:	0f 82 44 ff ff ff    	jb     0x457b37
457bf3:	83 7d f0 05          	cmpl   $0x5,-0x10(%ebp)
457bf7:	0f 85 80 00 00 00    	jne    0x457c7d
457bfd:	8b 4d fc             	mov    -0x4(%ebp),%ecx
457c00:	8d 55 dc             	lea    -0x24(%ebp),%edx
457c03:	52                   	push   %edx
457c04:	51                   	push   %ecx
457c05:	8b 01                	mov    (%ecx),%eax
457c07:	ff 50 0c             	call   *0xc(%eax)
457c0a:	8b 75 dc             	mov    -0x24(%ebp),%esi
457c0d:	8d 7d ac             	lea    -0x54(%ebp),%edi
457c10:	8b 45 fc             	mov    -0x4(%ebp),%eax
457c13:	ff 75 dc             	push   -0x24(%ebp)
457c16:	a5                   	movsl  %ds:(%esi),%es:(%edi)
457c17:	50                   	push   %eax
457c18:	a5                   	movsl  %ds:(%esi),%es:(%edi)
457c19:	a5                   	movsl  %ds:(%esi),%es:(%edi)
457c1a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
457c1b:	8b 08                	mov    (%eax),%ecx
457c1d:	ff 51 4c             	call   *0x4c(%ecx)
457c20:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
457c24:	75 57                	jne    0x457c7d
457c26:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
457c2a:	8d 45 ec             	lea    -0x14(%ebp),%eax
457c2d:	50                   	push   %eax
457c2e:	8d 45 ac             	lea    -0x54(%ebp),%eax
457c31:	50                   	push   %eax
457c32:	ff 15 34 f8 48 00    	call   *0x48f834
457c38:	85 c0                	test   %eax,%eax
457c3a:	78 41                	js     0x457c7d
457c3c:	ff 75 ec             	push   -0x14(%ebp)
457c3f:	8d 4d bc             	lea    -0x44(%ebp),%ecx
457c42:	e8 fa 02 fb ff       	call   0x407f41
457c47:	ff 75 ec             	push   -0x14(%ebp)
457c4a:	ff 15 2c f8 48 00    	call   *0x48f82c
457c50:	6a ff                	push   $0xffffffff
457c52:	68 80 fb 48 00       	push   $0x48fb80
457c57:	8d 4d bc             	lea    -0x44(%ebp),%ecx
457c5a:	e8 d0 01 fb ff       	call   0x407e2f
457c5f:	50                   	push   %eax
457c60:	8d 4d bc             	lea    -0x44(%ebp),%ecx
457c63:	e8 24 02 fb ff       	call   0x407e8c
457c68:	8d 45 ac             	lea    -0x54(%ebp),%eax
457c6b:	50                   	push   %eax
457c6c:	ff 75 bc             	push   -0x44(%ebp)
457c6f:	ff 15 38 f8 48 00    	call   *0x48f838
457c75:	8d 4d bc             	lea    -0x44(%ebp),%ecx
457c78:	e8 e7 dd fa ff       	call   0x405a64
457c7d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
457c80:	51                   	push   %ecx
457c81:	8b 01                	mov    (%ecx),%eax
457c83:	ff 50 08             	call   *0x8(%eax)
457c86:	6a 10                	push   $0x10
457c88:	8d 45 ac             	lea    -0x54(%ebp),%eax
457c8b:	50                   	push   %eax
457c8c:	8d 45 08             	lea    0x8(%ebp),%eax
457c8f:	50                   	push   %eax
457c90:	e8 2f 9a fc ff       	call   0x4216c4
457c95:	83 c4 0c             	add    $0xc,%esp
457c98:	f7 d8                	neg    %eax
457c9a:	1b c0                	sbb    %eax,%eax
457c9c:	40                   	inc    %eax
457c9d:	5f                   	pop    %edi
457c9e:	5e                   	pop    %esi
457c9f:	5b                   	pop    %ebx
457ca0:	8b e5                	mov    %ebp,%esp
457ca2:	5d                   	pop    %ebp
457ca3:	c3                   	ret
457ca4:	33 ff                	xor    %edi,%edi
457ca6:	47                   	inc    %edi
457ca7:	89 7d dc             	mov    %edi,-0x24(%ebp)
457caa:	ff 51 08             	call   *0x8(%ecx)
457cad:	8b 45 fc             	mov    -0x4(%ebp),%eax
457cb0:	50                   	push   %eax
457cb1:	8b 08                	mov    (%eax),%ecx
457cb3:	ff 51 08             	call   *0x8(%ecx)
457cb6:	8b 45 f4             	mov    -0xc(%ebp),%eax
457cb9:	89 45 fc             	mov    %eax,-0x4(%ebp)
457cbc:	e9 29 ff ff ff       	jmp    0x457bea
457cc1:	55                   	push   %ebp
457cc2:	8b ec                	mov    %esp,%ebp
457cc4:	51                   	push   %ecx
457cc5:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
457cc9:	56                   	push   %esi
457cca:	8b f1                	mov    %ecx,%esi
457ccc:	8d 4d fc             	lea    -0x4(%ebp),%ecx
457ccf:	57                   	push   %edi
457cd0:	51                   	push   %ecx
457cd1:	68 9c 2c 49 00       	push   $0x492c9c
457cd6:	8b 06                	mov    (%esi),%eax
457cd8:	bf 05 40 00 80       	mov    $0x80004005,%edi
457cdd:	56                   	push   %esi
457cde:	ff 10                	call   *(%eax)
457ce0:	85 c0                	test   %eax,%eax
457ce2:	75 13                	jne    0x457cf7
457ce4:	8b 75 fc             	mov    -0x4(%ebp),%esi
457ce7:	56                   	push   %esi
457ce8:	8b 06                	mov    (%esi),%eax
457cea:	ff 50 20             	call   *0x20(%eax)
457ced:	8b 0e                	mov    (%esi),%ecx
457cef:	8b f8                	mov    %eax,%edi
457cf1:	56                   	push   %esi
457cf2:	ff 51 08             	call   *0x8(%ecx)
457cf5:	eb 25                	jmp    0x457d1c
457cf7:	8b 06                	mov    (%esi),%eax
457cf9:	8d 4d fc             	lea    -0x4(%ebp),%ecx
457cfc:	51                   	push   %ecx
457cfd:	68 4c 2c 49 00       	push   $0x492c4c
457d02:	56                   	push   %esi
457d03:	ff 10                	call   *(%eax)
457d05:	85 c0                	test   %eax,%eax
457d07:	75 13                	jne    0x457d1c
457d09:	8b 75 fc             	mov    -0x4(%ebp),%esi
457d0c:	6a 00                	push   $0x0
457d0e:	56                   	push   %esi
457d0f:	8b 06                	mov    (%esi),%eax
457d11:	ff 50 14             	call   *0x14(%eax)
457d14:	8b f8                	mov    %eax,%edi
457d16:	8b 06                	mov    (%esi),%eax
457d18:	56                   	push   %esi
457d19:	ff 50 08             	call   *0x8(%eax)
457d1c:	8b c7                	mov    %edi,%eax
457d1e:	5f                   	pop    %edi
457d1f:	5e                   	pop    %esi
457d20:	8b e5                	mov    %ebp,%esp
457d22:	5d                   	pop    %ebp
457d23:	c3                   	ret
457d24:	55                   	push   %ebp
457d25:	8b ec                	mov    %esp,%ebp
457d27:	81 ec 70 02 00 00    	sub    $0x270,%esp
457d2d:	53                   	push   %ebx
457d2e:	56                   	push   %esi
457d2f:	8b f1                	mov    %ecx,%esi
457d31:	33 db                	xor    %ebx,%ebx
457d33:	57                   	push   %edi
457d34:	8d 4d d0             	lea    -0x30(%ebp),%ecx
457d37:	89 5d f0             	mov    %ebx,-0x10(%ebp)
457d3a:	8b fa                	mov    %edx,%edi
457d3c:	89 5d f8             	mov    %ebx,-0x8(%ebp)
457d3f:	e8 83 fa fa ff       	call   0x4077c7
457d44:	8d 4d e0             	lea    -0x20(%ebp),%ecx
457d47:	e8 7b fa fa ff       	call   0x4077c7
457d4c:	8d 4d c0             	lea    -0x40(%ebp),%ecx
457d4f:	e8 73 fa fa ff       	call   0x4077c7
457d54:	68 a8 93 4b 00       	push   $0x4b93a8
457d59:	8d 4d d0             	lea    -0x30(%ebp),%ecx
457d5c:	e8 cb ff fa ff       	call   0x407d2c
457d61:	56                   	push   %esi
457d62:	8d 4d d0             	lea    -0x30(%ebp),%ecx
457d65:	e8 a1 00 fb ff       	call   0x407e0b
457d6a:	68 cc 93 4b 00       	push   $0x4b93cc
457d6f:	8d 4d d0             	lea    -0x30(%ebp),%ecx
457d72:	e8 94 00 fb ff       	call   0x407e0b
457d77:	8d 4d e0             	lea    -0x20(%ebp),%ecx
457d7a:	e8 6d 01 fb ff       	call   0x407eec
457d7f:	85 ff                	test   %edi,%edi
457d81:	74 24                	je     0x457da7
457d83:	6a 5c                	push   $0x5c
457d85:	58                   	pop    %eax
457d86:	66 39 07             	cmp    %ax,(%edi)
457d89:	74 1c                	je     0x457da7
457d8b:	66 39 47 02          	cmp    %ax,0x2(%edi)
457d8f:	74 16                	je     0x457da7
457d91:	68 dc 93 4b 00       	push   $0x4b93dc
457d96:	8d 4d e0             	lea    -0x20(%ebp),%ecx
457d99:	e8 8e ff fa ff       	call   0x407d2c
457d9e:	57                   	push   %edi
457d9f:	8d 4d e0             	lea    -0x20(%ebp),%ecx
457da2:	e8 64 00 fb ff       	call   0x407e0b
457da7:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
457daa:	74 4c                	je     0x457df8
457dac:	6a 20                	push   $0x20
457dae:	8d 45 a0             	lea    -0x60(%ebp),%eax
457db1:	53                   	push   %ebx
457db2:	50                   	push   %eax
457db3:	e8 68 b2 fc ff       	call   0x423020
457db8:	83 c4 0c             	add    $0xc,%esp
457dbb:	89 5d a4             	mov    %ebx,-0x5c(%ebp)
457dbe:	8d 45 e0             	lea    -0x20(%ebp),%eax
457dc1:	8d 4d c0             	lea    -0x40(%ebp),%ecx
457dc4:	50                   	push   %eax
457dc5:	e8 dd 03 fb ff       	call   0x4081a7
457dca:	68 e4 93 4b 00       	push   $0x4b93e4
457dcf:	8d 4d c0             	lea    -0x40(%ebp),%ecx
457dd2:	e8 34 00 fb ff       	call   0x407e0b
457dd7:	8b 45 c0             	mov    -0x40(%ebp),%eax
457dda:	53                   	push   %ebx
457ddb:	ff 75 0c             	push   0xc(%ebp)
457dde:	89 45 b4             	mov    %eax,-0x4c(%ebp)
457de1:	8d 45 a0             	lea    -0x60(%ebp),%eax
457de4:	ff 75 10             	push   0x10(%ebp)
457de7:	50                   	push   %eax
457de8:	ff 15 04 f4 48 00    	call   *0x48f404
457dee:	8b f0                	mov    %eax,%esi
457df0:	85 f6                	test   %esi,%esi
457df2:	0f 88 8c 00 00 00    	js     0x457e84
457df8:	8d 45 f0             	lea    -0x10(%ebp),%eax
457dfb:	50                   	push   %eax
457dfc:	68 02 00 00 80       	push   $0x80000002
457e01:	ff 75 e0             	push   -0x20(%ebp)
457e04:	ff 15 24 f0 48 00    	call   *0x48f024
457e0a:	8b f0                	mov    %eax,%esi
457e0c:	85 f6                	test   %esi,%esi
457e0e:	75 74                	jne    0x457e84
457e10:	8d 45 f8             	lea    -0x8(%ebp),%eax
457e13:	50                   	push   %eax
457e14:	68 19 00 02 00       	push   $0x20019
457e19:	53                   	push   %ebx
457e1a:	ff 75 d0             	push   -0x30(%ebp)
457e1d:	ff 75 f0             	push   -0x10(%ebp)
457e20:	ff 15 18 f0 48 00    	call   *0x48f018
457e26:	8b 3d 1c f0 48 00    	mov    0x48f01c,%edi
457e2c:	8b f0                	mov    %eax,%esi
457e2e:	85 f6                	test   %esi,%esi
457e30:	75 4d                	jne    0x457e7f
457e32:	8d 45 f4             	lea    -0xc(%ebp),%eax
457e35:	c7 45 f4 fe 01 00 00 	movl   $0x1fe,-0xc(%ebp)
457e3c:	50                   	push   %eax
457e3d:	8d 85 94 fd ff ff    	lea    -0x26c(%ebp),%eax
457e43:	50                   	push   %eax
457e44:	53                   	push   %ebx
457e45:	53                   	push   %ebx
457e46:	53                   	push   %ebx
457e47:	ff 75 f8             	push   -0x8(%ebp)
457e4a:	ff 15 20 f0 48 00    	call   *0x48f020