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
42fe8b:	33 c0                	xor    %eax,%eax
42fe8d:	5a                   	pop    %edx
42fe8e:	59                   	pop    %ecx
42fe8f:	59                   	pop    %ecx
42fe90:	64 89 10             	mov    %edx,%fs:(%eax)
42fe93:	68 b5 ff 42 00       	push   $0x42ffb5
42fe98:	8b 45 08             	mov    0x8(%ebp),%eax
42fe9b:	8b 40 b4             	mov    -0x4c(%eax),%eax
42fe9e:	e8 51 3a fd ff       	call   0x4038f4
42fea3:	c3                   	ret
42fea4:	e9 df 41 fd ff       	jmp    0x404088
42fea9:	eb ed                	jmp    0x42fe98
42feab:	8b 45 08             	mov    0x8(%ebp),%eax
42feae:	8b 55 08             	mov    0x8(%ebp),%edx
42feb1:	8d 70 f0             	lea    -0x10(%eax),%esi
42feb4:	8d 7a a4             	lea    -0x5c(%edx),%edi
42feb7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42feb8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42feb9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42feba:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42febb:	8b 45 08             	mov    0x8(%ebp),%eax
42febe:	8b 40 c8             	mov    -0x38(%eax),%eax
42fec1:	8b 40 4c             	mov    0x4c(%eax),%eax
42fec4:	8b 10                	mov    (%eax),%edx
42fec6:	ff 52 2c             	call   *0x2c(%edx)
42fec9:	8b 55 08             	mov    0x8(%ebp),%edx
42fecc:	8b 52 f8             	mov    -0x8(%edx),%edx
42fecf:	8b 4d 08             	mov    0x8(%ebp),%ecx
42fed2:	2b 51 f0             	sub    -0x10(%ecx),%edx
42fed5:	3b c2                	cmp    %edx,%eax
42fed7:	7d 4a                	jge    0x42ff23
42fed9:	8b 45 08             	mov    0x8(%ebp),%eax
42fedc:	8b 40 c8             	mov    -0x38(%eax),%eax
42fedf:	8b 40 4c             	mov    0x4c(%eax),%eax
42fee2:	8b 10                	mov    (%eax),%edx
42fee4:	ff 52 2c             	call   *0x2c(%edx)
42fee7:	8b 55 08             	mov    0x8(%ebp),%edx
42feea:	8b 52 f8             	mov    -0x8(%edx),%edx
42feed:	8b 4d 08             	mov    0x8(%ebp),%ecx
42fef0:	2b 51 f0             	sub    -0x10(%ecx),%edx
42fef3:	2b d0                	sub    %eax,%edx
42fef5:	d1 fa                	sar    $1,%edx
42fef7:	79 03                	jns    0x42fefc
42fef9:	83 d2 00             	adc    $0x0,%edx
42fefc:	8b 45 08             	mov    0x8(%ebp),%eax
42feff:	03 50 f0             	add    -0x10(%eax),%edx
42ff02:	42                   	inc    %edx
42ff03:	8b 45 08             	mov    0x8(%ebp),%eax
42ff06:	89 50 f0             	mov    %edx,-0x10(%eax)
42ff09:	8b 45 08             	mov    0x8(%ebp),%eax
42ff0c:	8b 40 c8             	mov    -0x38(%eax),%eax
42ff0f:	8b 40 4c             	mov    0x4c(%eax),%eax
42ff12:	8b 10                	mov    (%eax),%edx
42ff14:	ff 52 2c             	call   *0x2c(%edx)
42ff17:	8b 55 08             	mov    0x8(%ebp),%edx
42ff1a:	03 42 f0             	add    -0x10(%edx),%eax
42ff1d:	8b 55 08             	mov    0x8(%ebp),%edx
42ff20:	89 42 f8             	mov    %eax,-0x8(%edx)
42ff23:	8b 45 08             	mov    0x8(%ebp),%eax
42ff26:	8b 40 c8             	mov    -0x38(%eax),%eax
42ff29:	8b 40 4c             	mov    0x4c(%eax),%eax
42ff2c:	8b 10                	mov    (%eax),%edx
42ff2e:	ff 52 20             	call   *0x20(%edx)
42ff31:	8b 55 08             	mov    0x8(%ebp),%edx
42ff34:	8b 52 fc             	mov    -0x4(%edx),%edx
42ff37:	8b 4d 08             	mov    0x8(%ebp),%ecx
42ff3a:	2b 51 f4             	sub    -0xc(%ecx),%edx
42ff3d:	3b c2                	cmp    %edx,%eax
42ff3f:	7d 4a                	jge    0x42ff8b
42ff41:	8b 45 08             	mov    0x8(%ebp),%eax
42ff44:	8b 40 c8             	mov    -0x38(%eax),%eax
42ff47:	8b 40 4c             	mov    0x4c(%eax),%eax
42ff4a:	8b 10                	mov    (%eax),%edx
42ff4c:	ff 52 20             	call   *0x20(%edx)
42ff4f:	8b 55 08             	mov    0x8(%ebp),%edx
42ff52:	8b 52 fc             	mov    -0x4(%edx),%edx
42ff55:	8b 4d 08             	mov    0x8(%ebp),%ecx
42ff58:	2b 51 f4             	sub    -0xc(%ecx),%edx
42ff5b:	2b d0                	sub    %eax,%edx
42ff5d:	d1 fa                	sar    $1,%edx
42ff5f:	79 03                	jns    0x42ff64
42ff61:	83 d2 00             	adc    $0x0,%edx
42ff64:	8b 45 08             	mov    0x8(%ebp),%eax
42ff67:	03 50 f4             	add    -0xc(%eax),%edx
42ff6a:	42                   	inc    %edx
42ff6b:	8b 45 08             	mov    0x8(%ebp),%eax
42ff6e:	89 50 f4             	mov    %edx,-0xc(%eax)
42ff71:	8b 45 08             	mov    0x8(%ebp),%eax
42ff74:	8b 40 c8             	mov    -0x38(%eax),%eax
42ff77:	8b 40 4c             	mov    0x4c(%eax),%eax
42ff7a:	8b 10                	mov    (%eax),%edx
42ff7c:	ff 52 20             	call   *0x20(%edx)
42ff7f:	8b 55 08             	mov    0x8(%ebp),%edx
42ff82:	03 42 f4             	add    -0xc(%edx),%eax
42ff85:	8b 55 08             	mov    0x8(%ebp),%edx
42ff88:	89 42 fc             	mov    %eax,-0x4(%edx)
42ff8b:	8b 45 08             	mov    0x8(%ebp),%eax
42ff8e:	8b 40 c8             	mov    -0x38(%eax),%eax
42ff91:	8b 48 4c             	mov    0x4c(%eax),%ecx
42ff94:	8b 45 08             	mov    0x8(%ebp),%eax
42ff97:	8d 50 f0             	lea    -0x10(%eax),%edx
42ff9a:	8b 45 08             	mov    0x8(%ebp),%eax
42ff9d:	8b 40 d8             	mov    -0x28(%eax),%eax
42ffa0:	e8 df 3c ff ff       	call   0x423c84
42ffa5:	8b 45 08             	mov    0x8(%ebp),%eax
42ffa8:	8b 55 08             	mov    0x8(%ebp),%edx
42ffab:	8d 70 a4             	lea    -0x5c(%eax),%esi
42ffae:	8d 7a f0             	lea    -0x10(%edx),%edi
42ffb1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42ffb2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42ffb3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42ffb4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42ffb5:	8b 45 08             	mov    0x8(%ebp),%eax
42ffb8:	8b 40 c8             	mov    -0x38(%eax),%eax
42ffbb:	80 78 38 00          	cmpb   $0x0,0x38(%eax)
42ffbf:	74 6b                	je     0x43002c
42ffc1:	8b 45 08             	mov    0x8(%ebp),%eax
42ffc4:	ff 48 f8             	decl   -0x8(%eax)
42ffc7:	8b 45 08             	mov    0x8(%ebp),%eax
42ffca:	ff 48 fc             	decl   -0x4(%eax)
42ffcd:	eb 5d                	jmp    0x43002c
42ffcf:	8b 45 08             	mov    0x8(%ebp),%eax
42ffd2:	83 78 c0 00          	cmpl   $0x0,-0x40(%eax)
42ffd6:	74 35                	je     0x43000d
42ffd8:	8b 45 08             	mov    0x8(%ebp),%eax
42ffdb:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
42ffdf:	75 2c                	jne    0x43000d
42ffe1:	8b 45 08             	mov    0x8(%ebp),%eax
42ffe4:	8b 40 f0             	mov    -0x10(%eax),%eax
42ffe7:	8b 55 08             	mov    0x8(%ebp),%edx
42ffea:	8b 52 c0             	mov    -0x40(%edx),%edx
42ffed:	03 42 34             	add    0x34(%edx),%eax
42fff0:	8b 55 08             	mov    0x8(%ebp),%edx
42fff3:	89 42 f8             	mov    %eax,-0x8(%edx)
42fff6:	8b 45 08             	mov    0x8(%ebp),%eax
42fff9:	8b 40 f4             	mov    -0xc(%eax),%eax
42fffc:	8b 55 08             	mov    0x8(%ebp),%edx
42ffff:	8b 52 c0             	mov    -0x40(%edx),%edx
430002:	03 42 30             	add    0x30(%edx),%eax
430005:	8b 55 08             	mov    0x8(%ebp),%edx
430008:	89 42 fc             	mov    %eax,-0x4(%edx)
43000b:	eb 18                	jmp    0x430025
43000d:	8b 45 08             	mov    0x8(%ebp),%eax
430010:	8b 40 f0             	mov    -0x10(%eax),%eax
430013:	8b 55 08             	mov    0x8(%ebp),%edx
430016:	89 42 f8             	mov    %eax,-0x8(%edx)
430019:	8b 45 08             	mov    0x8(%ebp),%eax
43001c:	8b 40 f4             	mov    -0xc(%eax),%eax
43001f:	8b 55 08             	mov    0x8(%ebp),%edx
430022:	89 42 fc             	mov    %eax,-0x4(%edx)
430025:	8b 45 08             	mov    0x8(%ebp),%eax
430028:	c6 40 c7 00          	movb   $0x0,-0x39(%eax)
43002c:	8b 45 08             	mov    0x8(%ebp),%eax
43002f:	ff 48 f0             	decl   -0x10(%eax)
430032:	8b 45 08             	mov    0x8(%ebp),%eax
430035:	ff 48 f4             	decl   -0xc(%eax)
430038:	8b 45 08             	mov    0x8(%ebp),%eax
43003b:	83 40 f8 02          	addl   $0x2,-0x8(%eax)
43003f:	8b 45 08             	mov    0x8(%ebp),%eax
430042:	83 40 fc 02          	addl   $0x2,-0x4(%eax)
430046:	8b 45 08             	mov    0x8(%ebp),%eax
430049:	8b 40 c8             	mov    -0x38(%eax),%eax
43004c:	80 78 38 00          	cmpb   $0x0,0x38(%eax)
430050:	75 12                	jne    0x430064
430052:	8b 45 08             	mov    0x8(%ebp),%eax
430055:	80 78 d7 00          	cmpb   $0x0,-0x29(%eax)
430059:	74 3e                	je     0x430099
43005b:	8b 45 08             	mov    0x8(%ebp),%eax
43005e:	80 78 c7 00          	cmpb   $0x0,-0x39(%eax)
430062:	74 35                	je     0x430099
430064:	8b 45 08             	mov    0x8(%ebp),%eax
430067:	80 78 df 00          	cmpb   $0x0,-0x21(%eax)
43006b:	75 2c                	jne    0x430099
43006d:	6a 0f                	push   $0xf
43006f:	8b 45 08             	mov    0x8(%ebp),%eax