42fa43:	0f 84 87 00 00 00    	je     0x42fad0
42fa49:	e8 fe d4 ff ff       	call   0x42cf4c
42fa4e:	e8 01 d6 ff ff       	call   0x42d054
42fa53:	84 c0                	test   %al,%al
42fa55:	74 79                	je     0x42fad0
42fa57:	8b 45 08             	mov    0x8(%ebp),%eax
42fa5a:	f6 40 0c 01          	testb  $0x1,0xc(%eax)
42fa5e:	75 09                	jne    0x42fa69
42fa60:	8b 45 08             	mov    0x8(%ebp),%eax
42fa63:	f6 40 0c 40          	testb  $0x40,0xc(%eax)
42fa67:	74 4b                	je     0x42fab4
42fa69:	e8 de d4 ff ff       	call   0x42cf4c
42fa6e:	e8 e1 d5 ff ff       	call   0x42d054
42fa73:	84 c0                	test   %al,%al
42fa75:	74 15                	je     0x42fa8c
42fa77:	8b 45 08             	mov    0x8(%ebp),%eax
42fa7a:	8b 40 d8             	mov    -0x28(%eax),%eax
42fa7d:	8b 40 14             	mov    0x14(%eax),%eax
42fa80:	ba 1d 00 00 ff       	mov    $0xff00001d,%edx
42fa85:	e8 8e 3d ff ff       	call   0x423818
42fa8a:	eb 13                	jmp    0x42fa9f
42fa8c:	8b 45 08             	mov    0x8(%ebp),%eax
42fa8f:	8b 40 d8             	mov    -0x28(%eax),%eax
42fa92:	8b 40 14             	mov    0x14(%eax),%eax
42fa95:	ba 0d 00 00 ff       	mov    $0xff00000d,%edx
42fa9a:	e8 79 3d ff ff       	call   0x423818
42fa9f:	8b 45 08             	mov    0x8(%ebp),%eax
42faa2:	8b 40 d8             	mov    -0x28(%eax),%eax
42faa5:	8b 40 0c             	mov    0xc(%eax),%eax
42faa8:	ba 0e 00 00 ff       	mov    $0xff00000e,%edx
42faad:	e8 aa 34 ff ff       	call   0x422f5c
42fab2:	eb 1c                	jmp    0x42fad0
42fab4:	8b 45 08             	mov    0x8(%ebp),%eax
42fab7:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
42fabb:	74 13                	je     0x42fad0
42fabd:	8b 45 08             	mov    0x8(%ebp),%eax
42fac0:	8b 40 d8             	mov    -0x28(%eax),%eax
42fac3:	8b 40 14             	mov    0x14(%eax),%eax
42fac6:	ba 1e 00 00 ff       	mov    $0xff00001e,%edx
42facb:	e8 48 3d ff ff       	call   0x423818
42fad0:	8b 45 08             	mov    0x8(%ebp),%eax
42fad3:	80 78 d7 00          	cmpb   $0x0,-0x29(%eax)
42fad7:	74 09                	je     0x42fae2
42fad9:	8b 45 08             	mov    0x8(%ebp),%eax
42fadc:	80 78 df 00          	cmpb   $0x0,-0x21(%eax)
42fae0:	74 11                	je     0x42faf3
42fae2:	8b 45 08             	mov    0x8(%ebp),%eax
42fae5:	8d 50 e0             	lea    -0x20(%eax),%edx
42fae8:	8b 45 08             	mov    0x8(%ebp),%eax
42faeb:	8b 40 d8             	mov    -0x28(%eax),%eax
42faee:	e8 c9 40 ff ff       	call   0x423bbc
42faf3:	8b 45 08             	mov    0x8(%ebp),%eax
42faf6:	83 78 d0 00          	cmpl   $0x0,-0x30(%eax)
42fafa:	74 09                	je     0x42fb05
42fafc:	8b 45 08             	mov    0x8(%ebp),%eax
42faff:	c6 40 cf 00          	movb   $0x0,-0x31(%eax)
42fb03:	eb 2e                	jmp    0x42fb33
42fb05:	8b 45 08             	mov    0x8(%ebp),%eax
42fb08:	8b 40 d0             	mov    -0x30(%eax),%eax
42fb0b:	8b 15 88 e3 42 00    	mov    0x42e388,%edx
42fb11:	e8 6a 3f fd ff       	call   0x403a80
42fb16:	84 c0                	test   %al,%al
42fb18:	74 12                	je     0x42fb2c
42fb1a:	8b 45 08             	mov    0x8(%ebp),%eax
42fb1d:	8b 40 d0             	mov    -0x30(%eax),%eax
42fb20:	0f b6 40 60          	movzbl 0x60(%eax),%eax
42fb24:	8b 55 08             	mov    0x8(%ebp),%edx
42fb27:	88 42 cf             	mov    %al,-0x31(%edx)
42fb2a:	eb 07                	jmp    0x42fb33
42fb2c:	8b 45 08             	mov    0x8(%ebp),%eax
42fb2f:	c6 40 cf 00          	movb   $0x0,-0x31(%eax)
42fb33:	8b 45 08             	mov    0x8(%ebp),%eax
42fb36:	8b 40 e0             	mov    -0x20(%eax),%eax
42fb39:	40                   	inc    %eax
42fb3a:	8b 55 08             	mov    0x8(%ebp),%edx
42fb3d:	89 42 f0             	mov    %eax,-0x10(%edx)
42fb40:	8b 45 08             	mov    0x8(%ebp),%eax
42fb43:	8b 40 e4             	mov    -0x1c(%eax),%eax
42fb46:	40                   	inc    %eax
42fb47:	8b 55 08             	mov    0x8(%ebp),%edx
42fb4a:	89 42 f4             	mov    %eax,-0xc(%edx)
42fb4d:	8b 45 08             	mov    0x8(%ebp),%eax
42fb50:	8b 40 c8             	mov    -0x38(%eax),%eax
42fb53:	8b 40 30             	mov    0x30(%eax),%eax
42fb56:	ba 6c 03 43 00       	mov    $0x43036c,%edx
42fb5b:	e8 d0 4f fd ff       	call   0x404b30
42fb60:	75 2f                	jne    0x42fb91
42fb62:	8b 45 08             	mov    0x8(%ebp),%eax
42fb65:	8d 50 e0             	lea    -0x20(%eax),%edx
42fb68:	8b 45 08             	mov    0x8(%ebp),%eax
42fb6b:	8b 40 d8             	mov    -0x28(%eax),%eax
42fb6e:	e8 49 40 ff ff       	call   0x423bbc
42fb73:	8b 45 08             	mov    0x8(%ebp),%eax
42fb76:	33 d2                	xor    %edx,%edx
42fb78:	89 50 f0             	mov    %edx,-0x10(%eax)
42fb7b:	8b 45 08             	mov    0x8(%ebp),%eax
42fb7e:	c7 40 f8 fc ff ff ff 	movl   $0xfffffffc,-0x8(%eax)
42fb85:	8b 45 08             	mov    0x8(%ebp),%eax
42fb88:	c6 40 c7 00          	movb   $0x0,-0x39(%eax)
42fb8c:	e9 9b 04 00 00       	jmp    0x43002c
42fb91:	8b 45 08             	mov    0x8(%ebp),%eax
42fb94:	83 78 c0 00          	cmpl   $0x0,-0x40(%eax)
42fb98:	74 47                	je     0x42fbe1
42fb9a:	8b 45 08             	mov    0x8(%ebp),%eax
42fb9d:	8b 40 c8             	mov    -0x38(%eax),%eax
42fba0:	8b 58 40             	mov    0x40(%eax),%ebx
42fba3:	83 fb ff             	cmp    $0xffffffff,%ebx
42fba6:	7e 12                	jle    0x42fbba
42fba8:	8b 45 08             	mov    0x8(%ebp),%eax
42fbab:	8b 45 08             	mov    0x8(%ebp),%eax
42fbae:	8b 40 c0             	mov    -0x40(%eax),%eax
42fbb1:	e8 7e 7e 01 00       	call   0x447a34
42fbb6:	3b d8                	cmp    %eax,%ebx
42fbb8:	7c 2b                	jl     0x42fbe5
42fbba:	8b 45 08             	mov    0x8(%ebp),%eax
42fbbd:	8b 40 c8             	mov    -0x38(%eax),%eax
42fbc0:	80 78 38 00          	cmpb   $0x0,0x38(%eax)
42fbc4:	74 1b                	je     0x42fbe1
42fbc6:	8b 45 08             	mov    0x8(%ebp),%eax
42fbc9:	8b 40 c8             	mov    -0x38(%eax),%eax
42fbcc:	8b 70 4c             	mov    0x4c(%eax),%esi
42fbcf:	85 f6                	test   %esi,%esi
42fbd1:	74 12                	je     0x42fbe5
42fbd3:	8b 45 08             	mov    0x8(%ebp),%eax
42fbd6:	8b c6                	mov    %esi,%eax
42fbd8:	8b 10                	mov    (%eax),%edx
42fbda:	ff 52 1c             	call   *0x1c(%edx)
42fbdd:	84 c0                	test   %al,%al
42fbdf:	75 04                	jne    0x42fbe5
42fbe1:	33 c0                	xor    %eax,%eax
42fbe3:	eb 02                	jmp    0x42fbe7
42fbe5:	b0 01                	mov    $0x1,%al
42fbe7:	8b 55 08             	mov    0x8(%ebp),%edx
42fbea:	88 42 bf             	mov    %al,-0x41(%edx)
42fbed:	8b 45 08             	mov    0x8(%ebp),%eax
42fbf0:	80 78 bf 00          	cmpb   $0x0,-0x41(%eax)
42fbf4:	75 23                	jne    0x42fc19
42fbf6:	8b 45 08             	mov    0x8(%ebp),%eax
42fbf9:	8b 40 c8             	mov    -0x38(%eax),%eax
42fbfc:	8b 58 4c             	mov    0x4c(%eax),%ebx
42fbff:	85 db                	test   %ebx,%ebx
42fc01:	0f 84 c8 03 00 00    	je     0x42ffcf
42fc07:	8b 45 08             	mov    0x8(%ebp),%eax
42fc0a:	8b c3                	mov    %ebx,%eax
42fc0c:	8b 10                	mov    (%eax),%edx
42fc0e:	ff 52 1c             	call   *0x1c(%edx)
42fc11:	84 c0                	test   %al,%al
42fc13:	0f 85 b6 03 00 00    	jne    0x42ffcf
42fc19:	8b 45 08             	mov    0x8(%ebp),%eax
42fc1c:	c6 40 c7 01          	movb   $0x1,-0x39(%eax)
42fc20:	8b 45 08             	mov    0x8(%ebp),%eax
42fc23:	80 78 bf 00          	cmpb   $0x0,-0x41(%eax)
42fc27:	74 2c                	je     0x42fc55
42fc29:	8b 45 08             	mov    0x8(%ebp),%eax
42fc2c:	8b 40 f0             	mov    -0x10(%eax),%eax
42fc2f:	8b 55 08             	mov    0x8(%ebp),%edx
42fc32:	8b 52 c0             	mov    -0x40(%edx),%edx
42fc35:	03 42 34             	add    0x34(%edx),%eax
42fc38:	8b 55 08             	mov    0x8(%ebp),%edx
42fc3b:	89 42 f8             	mov    %eax,-0x8(%edx)
42fc3e:	8b 45 08             	mov    0x8(%ebp),%eax
42fc41:	8b 40 f4             	mov    -0xc(%eax),%eax
42fc44:	8b 55 08             	mov    0x8(%ebp),%edx
42fc47:	8b 52 c0             	mov    -0x40(%edx),%edx
42fc4a:	03 42 30             	add    0x30(%edx),%eax
42fc4d:	8b 55 08             	mov    0x8(%ebp),%edx
42fc50:	89 42 fc             	mov    %eax,-0x4(%edx)
42fc53:	eb 1e                	jmp    0x42fc73
42fc55:	8b 45 08             	mov    0x8(%ebp),%eax
42fc58:	8b 40 f0             	mov    -0x10(%eax),%eax
42fc5b:	83 c0 10             	add    $0x10,%eax
42fc5e:	8b 55 08             	mov    0x8(%ebp),%edx
42fc61:	89 42 f8             	mov    %eax,-0x8(%edx)
42fc64:	8b 45 08             	mov    0x8(%ebp),%eax
42fc67:	8b 40 f4             	mov    -0xc(%eax),%eax
42fc6a:	83 c0 10             	add    $0x10,%eax
42fc6d:	8b 55 08             	mov    0x8(%ebp),%edx
42fc70:	89 42 fc             	mov    %eax,-0x4(%edx)
42fc73:	8b 45 08             	mov    0x8(%ebp),%eax
42fc76:	8b 40 c8             	mov    -0x38(%eax),%eax
42fc79:	80 78 38 00          	cmpb   $0x0,0x38(%eax)
42fc7d:	0f 84 c0 00 00 00    	je     0x42fd43
42fc83:	8b 45 08             	mov    0x8(%ebp),%eax
42fc86:	80 78 df 00          	cmpb   $0x0,-0x21(%eax)
42fc8a:	0f 85 b3 00 00 00    	jne    0x42fd43
42fc90:	8b 45 08             	mov    0x8(%ebp),%eax
42fc93:	ff 40 f8             	incl   -0x8(%eax)
42fc96:	8b 45 08             	mov    0x8(%ebp),%eax
42fc99:	ff 40 fc             	incl   -0x4(%eax)
42fc9c:	8b 45 08             	mov    0x8(%ebp),%eax
42fc9f:	8b 40 d8             	mov    -0x28(%eax),%eax
42fca2:	8b 40 14             	mov    0x14(%eax),%eax
42fca5:	e8 66 3b ff ff       	call   0x423810
42fcaa:	8b 55 08             	mov    0x8(%ebp),%edx
42fcad:	89 42 b8             	mov    %eax,-0x48(%edx)
42fcb0:	8b 45 08             	mov    0x8(%ebp),%eax
42fcb3:	f6 40 0c 01          	testb  $0x1,0xc(%eax)
42fcb7:	75 46                	jne    0x42fcff
42fcb9:	8b 45 08             	mov    0x8(%ebp),%eax
42fcbc:	8b 40 d8             	mov    -0x28(%eax),%eax
42fcbf:	8b 40 14             	mov    0x14(%eax),%eax
42fcc2:	e8 49 3b ff ff       	call   0x423810
42fcc7:	8b 55 08             	mov    0x8(%ebp),%edx
42fcca:	89 42 b8             	mov    %eax,-0x48(%edx)
42fccd:	ba 14 00 00 ff       	mov    $0xff000014,%edx
42fcd2:	b8 0f 00 00 ff       	mov    $0xff00000f,%eax
42fcd7:	e8 90 a8 ff ff       	call   0x42a56c
42fcdc:	8b d0                	mov    %eax,%edx
42fcde:	8b 45 08             	mov    0x8(%ebp),%eax
42fce1:	8b 40 d8             	mov    -0x28(%eax),%eax
42fce4:	8b 40 14             	mov    0x14(%eax),%eax
42fce7:	e8 00 3b ff ff       	call   0x4237ec
42fcec:	8b 45 08             	mov    0x8(%ebp),%eax
42fcef:	8d 50 f0             	lea    -0x10(%eax),%edx
42fcf2:	8b 45 08             	mov    0x8(%ebp),%eax
42fcf5:	8b 40 d8             	mov    -0x28(%eax),%eax
42fcf8:	e8 bf 3e ff ff       	call   0x423bbc
42fcfd:	eb 24                	jmp    0x42fd23
42fcff:	8b 45 08             	mov    0x8(%ebp),%eax
42fd02:	8b 40 d8             	mov    -0x28(%eax),%eax
42fd05:	8b 40 14             	mov    0x14(%eax),%eax
42fd08:	ba 0f 00 00 ff       	mov    $0xff00000f,%edx
42fd0d:	e8 06 3b ff ff       	call   0x423818
42fd12:	8b 45 08             	mov    0x8(%ebp),%eax
42fd15:	8d 50 f0             	lea    -0x10(%eax),%edx
42fd18:	8b 45 08             	mov    0x8(%ebp),%eax
42fd1b:	8b 40 d8             	mov    -0x28(%eax),%eax
42fd1e:	e8 99 3e ff ff       	call   0x423bbc
42fd23:	8b 45 08             	mov    0x8(%ebp),%eax
42fd26:	8b 50 b8             	mov    -0x48(%eax),%edx
42fd29:	8b 45 08             	mov    0x8(%ebp),%eax
42fd2c:	8b 40 d8             	mov    -0x28(%eax),%eax
42fd2f:	8b 40 14             	mov    0x14(%eax),%eax
42fd32:	e8 e1 3a ff ff       	call   0x423818
42fd37:	8b 45 08             	mov    0x8(%ebp),%eax
42fd3a:	ff 40 f0             	incl   -0x10(%eax)
42fd3d:	8b 45 08             	mov    0x8(%ebp),%eax
42fd40:	ff 40 f4             	incl   -0xc(%eax)
42fd43:	8b 45 08             	mov    0x8(%ebp),%eax
42fd46:	80 78 bf 00          	cmpb   $0x0,-0x41(%eax)
42fd4a:	0f 84 5b 01 00 00    	je     0x42feab
42fd50:	8b 45 08             	mov    0x8(%ebp),%eax
42fd53:	8b 40 c8             	mov    -0x38(%eax),%eax
42fd56:	8b 58 40             	mov    0x40(%eax),%ebx
42fd59:	83 fb ff             	cmp    $0xffffffff,%ebx
42fd5c:	7e 4a                	jle    0x42fda8
42fd5e:	8b 45 08             	mov    0x8(%ebp),%eax
42fd61:	8b 45 08             	mov    0x8(%ebp),%eax
42fd64:	8b 40 c0             	mov    -0x40(%eax),%eax
42fd67:	e8 c8 7c 01 00       	call   0x447a34
42fd6c:	3b d8                	cmp    %eax,%ebx
42fd6e:	7d 38                	jge    0x42fda8
42fd70:	8b 45 08             	mov    0x8(%ebp),%eax
42fd73:	8b 40 f4             	mov    -0xc(%eax),%eax
42fd76:	50                   	push   %eax
42fd77:	8b 45 08             	mov    0x8(%ebp),%eax
42fd7a:	8b 40 c8             	mov    -0x38(%eax),%eax
42fd7d:	8b 40 40             	mov    0x40(%eax),%eax
42fd80:	50                   	push   %eax
42fd81:	8b 45 08             	mov    0x8(%ebp),%eax
42fd84:	8b 40 c8             	mov    -0x38(%eax),%eax
42fd87:	0f b6 40 39          	movzbl 0x39(%eax),%eax
42fd8b:	50                   	push   %eax
42fd8c:	8b 45 08             	mov    0x8(%ebp),%eax
42fd8f:	8b 48 f0             	mov    -0x10(%eax),%ecx
42fd92:	8b 45 08             	mov    0x8(%ebp),%eax
42fd95:	8b 50 d8             	mov    -0x28(%eax),%edx
42fd98:	8b 45 08             	mov    0x8(%ebp),%eax
42fd9b:	8b 40 c0             	mov    -0x40(%eax),%eax
42fd9e:	e8 81 7f 01 00       	call   0x447d24
42fda3:	e9 0d 02 00 00       	jmp    0x42ffb5
42fda8:	b2 01                	mov    $0x1,%dl
42fdaa:	a1 fc 1e 42 00       	mov    0x421efc,%eax
42fdaf:	e8 30 85 ff ff       	call   0x4282e4
42fdb4:	8b 55 08             	mov    0x8(%ebp),%edx
42fdb7:	89 42 b4             	mov    %eax,-0x4c(%edx)
42fdba:	33 c0                	xor    %eax,%eax
42fdbc:	55                   	push   %ebp
42fdbd:	68 a4 fe 42 00       	push   $0x42fea4
42fdc2:	64 ff 30             	push   %fs:(%eax)
42fdc5:	64 89 20             	mov    %esp,%fs:(%eax)
42fdc8:	8b 45 08             	mov    0x8(%ebp),%eax
42fdcb:	8b 40 b4             	mov    -0x4c(%eax),%eax
42fdce:	b2 01                	mov    $0x1,%dl
42fdd0:	8b 08                	mov    (%eax),%ecx
42fdd2:	ff 51 3c             	call   *0x3c(%ecx)
42fdd5:	68 f8 7f 00 00       	push   $0x7ff8
42fdda:	6a 00                	push   $0x0
42fddc:	e8 a7 72 fd ff       	call   0x407088
42fde1:	8b d0                	mov    %eax,%edx
42fde3:	8b 45 08             	mov    0x8(%ebp),%eax
42fde6:	8b 40 b4             	mov    -0x4c(%eax),%eax
42fde9:	e8 f2 95 ff ff       	call   0x4293e0
42fdee:	8b 45 08             	mov    0x8(%ebp),%eax
42fdf1:	8b 40 d8             	mov    -0x28(%eax),%eax
42fdf4:	8b 40 0c             	mov    0xc(%eax),%eax
42fdf7:	8b 40 18             	mov    0x18(%eax),%eax
42fdfa:	8b 55 08             	mov    0x8(%ebp),%edx
42fdfd:	89 42 b8             	mov    %eax,-0x48(%edx)
42fe00:	8b 45 08             	mov    0x8(%ebp),%eax
42fe03:	8b 40 d8             	mov    -0x28(%eax),%eax
42fe06:	8b 40 0c             	mov    0xc(%eax),%eax
42fe09:	ba 12 00 00 ff       	mov    $0xff000012,%edx
42fe0e:	e8 49 31 ff ff       	call   0x422f5c
42fe13:	8b 45 08             	mov    0x8(%ebp),%eax
42fe16:	8b 40 b4             	mov    -0x4c(%eax),%eax
42fe19:	50                   	push   %eax
42fe1a:	8b 45 08             	mov    0x8(%ebp),%eax
42fe1d:	8b 40 b4             	mov    -0x4c(%eax),%eax
42fe20:	8b 10                	mov    (%eax),%edx
42fe22:	ff 52 20             	call   *0x20(%edx)
42fe25:	8b 55 08             	mov    0x8(%ebp),%edx
42fe28:	8b 52 fc             	mov    -0x4(%edx),%edx
42fe2b:	8b 4d 08             	mov    0x8(%ebp),%ecx
42fe2e:	8b 71 f4             	mov    -0xc(%ecx),%esi
42fe31:	2b d6                	sub    %esi,%edx
42fe33:	2b d0                	sub    %eax,%edx
42fe35:	d1 fa                	sar    $1,%edx
42fe37:	79 03                	jns    0x42fe3c
42fe39:	83 d2 00             	adc    $0x0,%edx
42fe3c:	8b 45 08             	mov    0x8(%ebp),%eax
42fe3f:	03 d6                	add    %esi,%edx
42fe41:	42                   	inc    %edx
42fe42:	52                   	push   %edx
42fe43:	8b 45 08             	mov    0x8(%ebp),%eax
42fe46:	8b 40 b4             	mov    -0x4c(%eax),%eax
42fe49:	8b 10                	mov    (%eax),%edx
42fe4b:	ff 52 2c             	call   *0x2c(%edx)
42fe4e:	8b 55 08             	mov    0x8(%ebp),%edx
42fe51:	8b 52 f8             	mov    -0x8(%edx),%edx
42fe54:	8b 4d 08             	mov    0x8(%ebp),%ecx
42fe57:	8b 59 f0             	mov    -0x10(%ecx),%ebx
42fe5a:	2b d3                	sub    %ebx,%edx
42fe5c:	2b d0                	sub    %eax,%edx
42fe5e:	d1 fa                	sar    $1,%edx
42fe60:	79 03                	jns    0x42fe65
42fe62:	83 d2 00             	adc    $0x0,%edx
42fe65:	8b 45 08             	mov    0x8(%ebp),%eax
42fe68:	03 d3                	add    %ebx,%edx
42fe6a:	42                   	inc    %edx
42fe6b:	8b 45 08             	mov    0x8(%ebp),%eax
42fe6e:	8b 40 d8             	mov    -0x28(%eax),%eax
42fe71:	59                   	pop    %ecx
42fe72:	e8 99 3c ff ff       	call   0x423b10
42fe77:	8b 45 08             	mov    0x8(%ebp),%eax
42fe7a:	8b 50 b8             	mov    -0x48(%eax),%edx
42fe7d:	8b 45 08             	mov    0x8(%ebp),%eax
42fe80:	8b 40 d8             	mov    -0x28(%eax),%eax
42fe83:	8b 40 0c             	mov    0xc(%eax),%eax
42fe86:	e8 d1 30 ff ff       	call   0x422f5c