450b8b:	84 c0                	test   %al,%al
450b8d:	74 11                	je     0x450ba0
450b8f:	8b 45 08             	mov    0x8(%ebp),%eax
450b92:	8b 40 d0             	mov    -0x30(%eax),%eax
450b95:	8a 40 60             	mov    0x60(%eax),%al
450b98:	8b 55 08             	mov    0x8(%ebp),%edx
450b9b:	88 42 cf             	mov    %al,-0x31(%edx)
450b9e:	eb 07                	jmp    0x450ba7
450ba0:	8b 45 08             	mov    0x8(%ebp),%eax
450ba3:	c6 40 cf 00          	movb   $0x0,-0x31(%eax)
450ba7:	8b 45 08             	mov    0x8(%ebp),%eax
450baa:	8b 40 e8             	mov    -0x18(%eax),%eax
450bad:	48                   	dec    %eax
450bae:	8b 55 08             	mov    0x8(%ebp),%edx
450bb1:	89 42 f8             	mov    %eax,-0x8(%edx)
450bb4:	8b 45 08             	mov    0x8(%ebp),%eax
450bb7:	8b 40 e4             	mov    -0x1c(%eax),%eax
450bba:	40                   	inc    %eax
450bbb:	8b 55 08             	mov    0x8(%ebp),%edx
450bbe:	89 42 f4             	mov    %eax,-0xc(%edx)
450bc1:	8b 45 08             	mov    0x8(%ebp),%eax
450bc4:	8b 40 c8             	mov    -0x38(%eax),%eax
450bc7:	8b 40 30             	mov    0x30(%eax),%eax
450bca:	ba e4 13 45 00       	mov    $0x4513e4,%edx
450bcf:	e8 d0 37 fb ff       	call   0x4043a4
450bd4:	75 34                	jne    0x450c0a
450bd6:	8b 45 08             	mov    0x8(%ebp),%eax
450bd9:	8d 50 e0             	lea    -0x20(%eax),%edx
450bdc:	8b 45 08             	mov    0x8(%ebp),%eax
450bdf:	8b 40 d8             	mov    -0x28(%eax),%eax
450be2:	e8 51 d2 fc ff       	call   0x41de38
450be7:	8b 45 08             	mov    0x8(%ebp),%eax
450bea:	8b 40 f8             	mov    -0x8(%eax),%eax
450bed:	83 c0 02             	add    $0x2,%eax
450bf0:	8b 55 08             	mov    0x8(%ebp),%edx
450bf3:	89 42 f0             	mov    %eax,-0x10(%edx)
450bf6:	8b 45 08             	mov    0x8(%ebp),%eax
450bf9:	33 d2                	xor    %edx,%edx
450bfb:	89 50 f8             	mov    %edx,-0x8(%eax)
450bfe:	8b 45 08             	mov    0x8(%ebp),%eax
450c01:	c6 40 c7 00          	movb   $0x0,-0x39(%eax)
450c05:	e9 91 04 00 00       	jmp    0x45109b
450c0a:	8b 45 08             	mov    0x8(%ebp),%eax
450c0d:	83 78 c0 00          	cmpl   $0x0,-0x40(%eax)
450c11:	74 47                	je     0x450c5a
450c13:	8b 45 08             	mov    0x8(%ebp),%eax
450c16:	8b 40 c8             	mov    -0x38(%eax),%eax
450c19:	8b 58 40             	mov    0x40(%eax),%ebx
450c1c:	83 fb ff             	cmp    $0xffffffff,%ebx
450c1f:	7e 12                	jle    0x450c33
450c21:	8b 45 08             	mov    0x8(%ebp),%eax
450c24:	8b 45 08             	mov    0x8(%ebp),%eax
450c27:	8b 40 c0             	mov    -0x40(%eax),%eax
450c2a:	e8 29 c1 ff ff       	call   0x44cd58
450c2f:	3b d8                	cmp    %eax,%ebx
450c31:	7c 2b                	jl     0x450c5e
450c33:	8b 45 08             	mov    0x8(%ebp),%eax
450c36:	8b 40 c8             	mov    -0x38(%eax),%eax
450c39:	80 78 38 00          	cmpb   $0x0,0x38(%eax)
450c3d:	74 1b                	je     0x450c5a
450c3f:	8b 45 08             	mov    0x8(%ebp),%eax
450c42:	8b 40 c8             	mov    -0x38(%eax),%eax
450c45:	8b 70 4c             	mov    0x4c(%eax),%esi
450c48:	85 f6                	test   %esi,%esi
450c4a:	74 12                	je     0x450c5e
450c4c:	8b 45 08             	mov    0x8(%ebp),%eax
450c4f:	8b c6                	mov    %esi,%eax
450c51:	8b 10                	mov    (%eax),%edx
450c53:	ff 52 1c             	call   *0x1c(%edx)
450c56:	84 c0                	test   %al,%al
450c58:	75 04                	jne    0x450c5e
450c5a:	33 c0                	xor    %eax,%eax
450c5c:	eb 02                	jmp    0x450c60
450c5e:	b0 01                	mov    $0x1,%al
450c60:	8b 55 08             	mov    0x8(%ebp),%edx
450c63:	88 42 bf             	mov    %al,-0x41(%edx)
450c66:	8b 45 08             	mov    0x8(%ebp),%eax
450c69:	80 78 bf 00          	cmpb   $0x0,-0x41(%eax)
450c6d:	75 23                	jne    0x450c92
450c6f:	8b 45 08             	mov    0x8(%ebp),%eax
450c72:	8b 40 c8             	mov    -0x38(%eax),%eax
450c75:	8b 58 4c             	mov    0x4c(%eax),%ebx
450c78:	85 db                	test   %ebx,%ebx
450c7a:	0f 84 be 03 00 00    	je     0x45103e
450c80:	8b 45 08             	mov    0x8(%ebp),%eax
450c83:	8b c3                	mov    %ebx,%eax
450c85:	8b 10                	mov    (%eax),%edx
450c87:	ff 52 1c             	call   *0x1c(%edx)
450c8a:	84 c0                	test   %al,%al
450c8c:	0f 85 ac 03 00 00    	jne    0x45103e
450c92:	8b 45 08             	mov    0x8(%ebp),%eax
450c95:	c6 40 c7 01          	movb   $0x1,-0x39(%eax)
450c99:	8b 45 08             	mov    0x8(%ebp),%eax
450c9c:	80 78 bf 00          	cmpb   $0x0,-0x41(%eax)
450ca0:	74 2c                	je     0x450cce
450ca2:	8b 45 08             	mov    0x8(%ebp),%eax
450ca5:	8b 40 f8             	mov    -0x8(%eax),%eax
450ca8:	8b 55 08             	mov    0x8(%ebp),%edx
450cab:	8b 52 c0             	mov    -0x40(%edx),%edx
450cae:	2b 42 34             	sub    0x34(%edx),%eax
450cb1:	8b 55 08             	mov    0x8(%ebp),%edx
450cb4:	89 42 f0             	mov    %eax,-0x10(%edx)
450cb7:	8b 45 08             	mov    0x8(%ebp),%eax
450cba:	8b 40 f4             	mov    -0xc(%eax),%eax
450cbd:	8b 55 08             	mov    0x8(%ebp),%edx
450cc0:	8b 52 c0             	mov    -0x40(%edx),%edx
450cc3:	03 42 30             	add    0x30(%edx),%eax
450cc6:	8b 55 08             	mov    0x8(%ebp),%edx
450cc9:	89 42 fc             	mov    %eax,-0x4(%edx)
450ccc:	eb 1e                	jmp    0x450cec
450cce:	8b 45 08             	mov    0x8(%ebp),%eax
450cd1:	8b 40 f8             	mov    -0x8(%eax),%eax
450cd4:	83 e8 10             	sub    $0x10,%eax
450cd7:	8b 55 08             	mov    0x8(%ebp),%edx
450cda:	89 42 f0             	mov    %eax,-0x10(%edx)
450cdd:	8b 45 08             	mov    0x8(%ebp),%eax
450ce0:	8b 40 f4             	mov    -0xc(%eax),%eax
450ce3:	83 c0 10             	add    $0x10,%eax
450ce6:	8b 55 08             	mov    0x8(%ebp),%edx
450ce9:	89 42 fc             	mov    %eax,-0x4(%edx)
450cec:	8b 45 08             	mov    0x8(%ebp),%eax
450cef:	8b 40 c8             	mov    -0x38(%eax),%eax
450cf2:	80 78 38 00          	cmpb   $0x0,0x38(%eax)
450cf6:	0f 84 b3 00 00 00    	je     0x450daf
450cfc:	8b 45 08             	mov    0x8(%ebp),%eax
450cff:	ff 48 f0             	decl   -0x10(%eax)
450d02:	8b 45 08             	mov    0x8(%ebp),%eax
450d05:	ff 40 fc             	incl   -0x4(%eax)
450d08:	8b 45 08             	mov    0x8(%ebp),%eax
450d0b:	8b 40 d8             	mov    -0x28(%eax),%eax
450d0e:	8b 40 14             	mov    0x14(%eax),%eax
450d11:	e8 76 cd fc ff       	call   0x41da8c
450d16:	8b 55 08             	mov    0x8(%ebp),%edx
450d19:	89 42 b8             	mov    %eax,-0x48(%edx)
450d1c:	8b 45 08             	mov    0x8(%ebp),%eax
450d1f:	f6 40 0c 01          	testb  $0x1,0xc(%eax)
450d23:	75 46                	jne    0x450d6b
450d25:	8b 45 08             	mov    0x8(%ebp),%eax
450d28:	8b 40 d8             	mov    -0x28(%eax),%eax
450d2b:	8b 40 14             	mov    0x14(%eax),%eax
450d2e:	e8 59 cd fc ff       	call   0x41da8c
450d33:	8b 55 08             	mov    0x8(%ebp),%edx
450d36:	89 42 b8             	mov    %eax,-0x48(%edx)
450d39:	ba 14 00 00 ff       	mov    $0xff000014,%edx
450d3e:	b8 0f 00 00 ff       	mov    $0xff00000f,%eax
450d43:	e8 00 38 fd ff       	call   0x424548
450d48:	8b d0                	mov    %eax,%edx
450d4a:	8b 45 08             	mov    0x8(%ebp),%eax
450d4d:	8b 40 d8             	mov    -0x28(%eax),%eax
450d50:	8b 40 14             	mov    0x14(%eax),%eax
450d53:	e8 10 cd fc ff       	call   0x41da68
450d58:	8b 45 08             	mov    0x8(%ebp),%eax
450d5b:	8d 50 f0             	lea    -0x10(%eax),%edx
450d5e:	8b 45 08             	mov    0x8(%ebp),%eax
450d61:	8b 40 d8             	mov    -0x28(%eax),%eax
450d64:	e8 cf d0 fc ff       	call   0x41de38
450d69:	eb 24                	jmp    0x450d8f
450d6b:	8b 45 08             	mov    0x8(%ebp),%eax
450d6e:	8b 40 d8             	mov    -0x28(%eax),%eax
450d71:	8b 40 14             	mov    0x14(%eax),%eax
450d74:	ba 0f 00 00 ff       	mov    $0xff00000f,%edx
450d79:	e8 16 cd fc ff       	call   0x41da94
450d7e:	8b 45 08             	mov    0x8(%ebp),%eax
450d81:	8d 50 f0             	lea    -0x10(%eax),%edx
450d84:	8b 45 08             	mov    0x8(%ebp),%eax
450d87:	8b 40 d8             	mov    -0x28(%eax),%eax
450d8a:	e8 a9 d0 fc ff       	call   0x41de38
450d8f:	8b 45 08             	mov    0x8(%ebp),%eax
450d92:	8b 50 b8             	mov    -0x48(%eax),%edx
450d95:	8b 45 08             	mov    0x8(%ebp),%eax
450d98:	8b 40 d8             	mov    -0x28(%eax),%eax
450d9b:	8b 40 14             	mov    0x14(%eax),%eax
450d9e:	e8 f1 cc fc ff       	call   0x41da94
450da3:	8b 45 08             	mov    0x8(%ebp),%eax
450da6:	ff 48 f8             	decl   -0x8(%eax)
450da9:	8b 45 08             	mov    0x8(%ebp),%eax
450dac:	ff 40 f4             	incl   -0xc(%eax)
450daf:	8b 45 08             	mov    0x8(%ebp),%eax
450db2:	80 78 bf 00          	cmpb   $0x0,-0x41(%eax)
450db6:	0f 84 5a 01 00 00    	je     0x450f16
450dbc:	8b 45 08             	mov    0x8(%ebp),%eax
450dbf:	8b 40 c8             	mov    -0x38(%eax),%eax
450dc2:	8b 58 40             	mov    0x40(%eax),%ebx
450dc5:	83 fb ff             	cmp    $0xffffffff,%ebx
450dc8:	7e 49                	jle    0x450e13
450dca:	8b 45 08             	mov    0x8(%ebp),%eax
450dcd:	8b 45 08             	mov    0x8(%ebp),%eax
450dd0:	8b 40 c0             	mov    -0x40(%eax),%eax
450dd3:	e8 80 bf ff ff       	call   0x44cd58
450dd8:	3b d8                	cmp    %eax,%ebx
450dda:	7d 37                	jge    0x450e13
450ddc:	8b 45 08             	mov    0x8(%ebp),%eax
450ddf:	8b 40 f4             	mov    -0xc(%eax),%eax
450de2:	50                   	push   %eax
450de3:	8b 45 08             	mov    0x8(%ebp),%eax
450de6:	8b 40 c8             	mov    -0x38(%eax),%eax
450de9:	8b 40 40             	mov    0x40(%eax),%eax
450dec:	50                   	push   %eax
450ded:	8b 45 08             	mov    0x8(%ebp),%eax
450df0:	8b 40 c8             	mov    -0x38(%eax),%eax
450df3:	8a 40 39             	mov    0x39(%eax),%al
450df6:	50                   	push   %eax
450df7:	8b 45 08             	mov    0x8(%ebp),%eax
450dfa:	8b 48 f0             	mov    -0x10(%eax),%ecx
450dfd:	8b 45 08             	mov    0x8(%ebp),%eax
450e00:	8b 50 d8             	mov    -0x28(%eax),%edx
450e03:	8b 45 08             	mov    0x8(%ebp),%eax
450e06:	8b 40 c0             	mov    -0x40(%eax),%eax
450e09:	e8 62 c4 ff ff       	call   0x44d270
450e0e:	e9 11 02 00 00       	jmp    0x451024
450e13:	b2 01                	mov    $0x1,%dl
450e15:	a1 1c c3 41 00       	mov    0x41c31c,%eax
450e1a:	e8 3d 15 fd ff       	call   0x42235c
450e1f:	8b 55 08             	mov    0x8(%ebp),%edx
450e22:	89 42 b4             	mov    %eax,-0x4c(%edx)
450e25:	33 c0                	xor    %eax,%eax
450e27:	55                   	push   %ebp
450e28:	68 0f 0f 45 00       	push   $0x450f0f
450e2d:	64 ff 30             	push   %fs:(%eax)
450e30:	64 89 20             	mov    %esp,%fs:(%eax)
450e33:	8b 45 08             	mov    0x8(%ebp),%eax
450e36:	8b 40 b4             	mov    -0x4c(%eax),%eax
450e39:	b2 01                	mov    $0x1,%dl
450e3b:	8b 08                	mov    (%eax),%ecx
450e3d:	ff 51 3c             	call   *0x3c(%ecx)
450e40:	68 f8 7f 00 00       	push   $0x7ff8
450e45:	6a 00                	push   $0x0
450e47:	e8 00 59 fb ff       	call   0x40674c
450e4c:	8b d0                	mov    %eax,%edx
450e4e:	8b 45 08             	mov    0x8(%ebp),%eax
450e51:	8b 40 b4             	mov    -0x4c(%eax),%eax
450e54:	e8 4b 26 fd ff       	call   0x4234a4
450e59:	8b 45 08             	mov    0x8(%ebp),%eax
450e5c:	8b 40 d8             	mov    -0x28(%eax),%eax
450e5f:	8b 40 0c             	mov    0xc(%eax),%eax
450e62:	8b 40 18             	mov    0x18(%eax),%eax
450e65:	8b 55 08             	mov    0x8(%ebp),%edx
450e68:	89 42 b8             	mov    %eax,-0x48(%edx)
450e6b:	8b 45 08             	mov    0x8(%ebp),%eax
450e6e:	8b 40 d8             	mov    -0x28(%eax),%eax
450e71:	8b 40 0c             	mov    0xc(%eax),%eax
450e74:	ba 12 00 00 ff       	mov    $0xff000012,%edx
450e79:	e8 4a c4 fc ff       	call   0x41d2c8
450e7e:	8b 45 08             	mov    0x8(%ebp),%eax
450e81:	8b 40 b4             	mov    -0x4c(%eax),%eax
450e84:	50                   	push   %eax
450e85:	8b 45 08             	mov    0x8(%ebp),%eax
450e88:	8b 40 b4             	mov    -0x4c(%eax),%eax
450e8b:	8b 10                	mov    (%eax),%edx
450e8d:	ff 52 20             	call   *0x20(%edx)
450e90:	8b 55 08             	mov    0x8(%ebp),%edx
450e93:	8b 52 fc             	mov    -0x4(%edx),%edx
450e96:	8b 4d 08             	mov    0x8(%ebp),%ecx
450e99:	8b 71 f4             	mov    -0xc(%ecx),%esi
450e9c:	2b d6                	sub    %esi,%edx
450e9e:	2b d0                	sub    %eax,%edx
450ea0:	d1 fa                	sar    $1,%edx
450ea2:	79 03                	jns    0x450ea7
450ea4:	83 d2 00             	adc    $0x0,%edx
450ea7:	8b 45 08             	mov    0x8(%ebp),%eax
450eaa:	03 d6                	add    %esi,%edx
450eac:	42                   	inc    %edx
450ead:	52                   	push   %edx
450eae:	8b 45 08             	mov    0x8(%ebp),%eax
450eb1:	8b 40 b4             	mov    -0x4c(%eax),%eax
450eb4:	8b 10                	mov    (%eax),%edx
450eb6:	ff 52 2c             	call   *0x2c(%edx)
450eb9:	8b 55 08             	mov    0x8(%ebp),%edx
450ebc:	8b 52 f8             	mov    -0x8(%edx),%edx
450ebf:	8b 4d 08             	mov    0x8(%ebp),%ecx
450ec2:	8b 59 f0             	mov    -0x10(%ecx),%ebx
450ec5:	2b d3                	sub    %ebx,%edx
450ec7:	2b d0                	sub    %eax,%edx
450ec9:	d1 fa                	sar    $1,%edx
450ecb:	79 03                	jns    0x450ed0
450ecd:	83 d2 00             	adc    $0x0,%edx
450ed0:	8b 45 08             	mov    0x8(%ebp),%eax
450ed3:	03 d3                	add    %ebx,%edx
450ed5:	42                   	inc    %edx
450ed6:	8b 45 08             	mov    0x8(%ebp),%eax
450ed9:	8b 40 d8             	mov    -0x28(%eax),%eax
450edc:	59                   	pop    %ecx
450edd:	e8 aa ce fc ff       	call   0x41dd8c
450ee2:	8b 45 08             	mov    0x8(%ebp),%eax
450ee5:	8b 50 b8             	mov    -0x48(%eax),%edx
450ee8:	8b 45 08             	mov    0x8(%ebp),%eax
450eeb:	8b 40 d8             	mov    -0x28(%eax),%eax
450eee:	8b 40 0c             	mov    0xc(%eax),%eax
450ef1:	e8 d2 c3 fc ff       	call   0x41d2c8
450ef6:	33 c0                	xor    %eax,%eax
450ef8:	5a                   	pop    %edx
450ef9:	59                   	pop    %ecx
450efa:	59                   	pop    %ecx
450efb:	64 89 10             	mov    %edx,%fs:(%eax)
450efe:	68 24 10 45 00       	push   $0x451024
450f03:	8b 45 08             	mov    0x8(%ebp),%eax
450f06:	8b 40 b4             	mov    -0x4c(%eax),%eax
450f09:	e8 3a 23 fb ff       	call   0x403248
450f0e:	c3                   	ret
450f0f:	e9 88 2a fb ff       	jmp    0x40399c
450f14:	eb ed                	jmp    0x450f03
450f16:	8b 45 08             	mov    0x8(%ebp),%eax
450f19:	8b 55 08             	mov    0x8(%ebp),%edx
450f1c:	8d 70 f0             	lea    -0x10(%eax),%esi
450f1f:	8d 7a a4             	lea    -0x5c(%edx),%edi
450f22:	a5                   	movsl  %ds:(%esi),%es:(%edi)
450f23:	a5                   	movsl  %ds:(%esi),%es:(%edi)
450f24:	a5                   	movsl  %ds:(%esi),%es:(%edi)
450f25:	a5                   	movsl  %ds:(%esi),%es:(%edi)
450f26:	8b 45 08             	mov    0x8(%ebp),%eax
450f29:	8b 40 c8             	mov    -0x38(%eax),%eax
450f2c:	8b 40 4c             	mov    0x4c(%eax),%eax
450f2f:	8b 10                	mov    (%eax),%edx
450f31:	ff 52 2c             	call   *0x2c(%edx)
450f34:	8b 55 08             	mov    0x8(%ebp),%edx
450f37:	8b 52 f8             	mov    -0x8(%edx),%edx
450f3a:	8b 4d 08             	mov    0x8(%ebp),%ecx
450f3d:	2b 51 f0             	sub    -0x10(%ecx),%edx
450f40:	3b c2                	cmp    %edx,%eax
450f42:	7d 4e                	jge    0x450f92
450f44:	8b 45 08             	mov    0x8(%ebp),%eax
450f47:	8b 40 c8             	mov    -0x38(%eax),%eax
450f4a:	8b 40 4c             	mov    0x4c(%eax),%eax
450f4d:	8b 10                	mov    (%eax),%edx
450f4f:	ff 52 2c             	call   *0x2c(%edx)
450f52:	8b 55 08             	mov    0x8(%ebp),%edx
450f55:	8b 52 f8             	mov    -0x8(%edx),%edx
450f58:	8b 4d 08             	mov    0x8(%ebp),%ecx
450f5b:	2b 51 f0             	sub    -0x10(%ecx),%edx
450f5e:	2b d0                	sub    %eax,%edx
450f60:	d1 fa                	sar    $1,%edx
450f62:	79 03                	jns    0x450f67
450f64:	83 d2 00             	adc    $0x0,%edx
450f67:	8b 45 08             	mov    0x8(%ebp),%eax
450f6a:	8b 40 f8             	mov    -0x8(%eax),%eax
450f6d:	2b c2                	sub    %edx,%eax
450f6f:	40                   	inc    %eax
450f70:	8b 55 08             	mov    0x8(%ebp),%edx
450f73:	89 42 f8             	mov    %eax,-0x8(%edx)
450f76:	8b 45 08             	mov    0x8(%ebp),%eax
450f79:	8b 40 c8             	mov    -0x38(%eax),%eax
450f7c:	8b 40 4c             	mov    0x4c(%eax),%eax
450f7f:	8b 10                	mov    (%eax),%edx
450f81:	ff 52 2c             	call   *0x2c(%edx)
450f84:	8b 55 08             	mov    0x8(%ebp),%edx
450f87:	8b 52 f8             	mov    -0x8(%edx),%edx
450f8a:	2b d0                	sub    %eax,%edx
450f8c:	8b 45 08             	mov    0x8(%ebp),%eax
450f8f:	89 50 f0             	mov    %edx,-0x10(%eax)
450f92:	8b 45 08             	mov    0x8(%ebp),%eax