42abf5:	6a 0e                	push   $0xe
42abf7:	8b 45 fc             	mov    -0x4(%ebp),%eax
42abfa:	8b 40 04             	mov    0x4(%eax),%eax
42abfd:	50                   	push   %eax
42abfe:	e8 3d be fd ff       	call   0x406a40
42ac03:	8b d0                	mov    %eax,%edx
42ac05:	58                   	pop    %eax
42ac06:	f7 ea                	imul   %edx
42ac08:	83 f8 08             	cmp    $0x8,%eax
42ac0b:	7f 0f                	jg     0x42ac1c
42ac0d:	0f b7 56 2a          	movzwl 0x2a(%esi),%edx
42ac11:	0f b7 4e 28          	movzwl 0x28(%esi),%ecx
42ac15:	0f af d1             	imul   %ecx,%edx
42ac18:	3b c2                	cmp    %edx,%eax
42ac1a:	7c 04                	jl     0x42ac20
42ac1c:	33 c0                	xor    %eax,%eax
42ac1e:	eb 02                	jmp    0x42ac22
42ac20:	b0 01                	mov    $0x1,%al
42ac22:	84 c0                	test   %al,%al
42ac24:	74 38                	je     0x42ac5e
42ac26:	8d 45 ef             	lea    -0x11(%ebp),%eax
42ac29:	50                   	push   %eax
42ac2a:	8b 45 fc             	mov    -0x4(%ebp),%eax
42ac2d:	8b 40 04             	mov    0x4(%eax),%eax
42ac30:	50                   	push   %eax
42ac31:	e8 da bd fd ff       	call   0x406a10
42ac36:	6a 04                	push   $0x4
42ac38:	8b 45 fc             	mov    -0x4(%ebp),%eax
42ac3b:	8b 40 04             	mov    0x4(%eax),%eax
42ac3e:	50                   	push   %eax
42ac3f:	e8 d4 be fd ff       	call   0x406b18
42ac44:	8d 45 ef             	lea    -0x11(%ebp),%eax
42ac47:	50                   	push   %eax
42ac48:	8b 45 f3             	mov    -0xd(%ebp),%eax
42ac4b:	50                   	push   %eax
42ac4c:	8b 45 ef             	mov    -0x11(%ebp),%eax
42ac4f:	50                   	push   %eax
42ac50:	8b 45 fc             	mov    -0x4(%ebp),%eax
42ac53:	8b 40 04             	mov    0x4(%eax),%eax
42ac56:	50                   	push   %eax
42ac57:	e8 9c be fd ff       	call   0x406af8
42ac5c:	eb 1b                	jmp    0x42ac79
42ac5e:	8b c3                	mov    %ebx,%eax
42ac60:	e8 b3 02 00 00       	call   0x42af18
42ac65:	84 c0                	test   %al,%al
42ac67:	75 10                	jne    0x42ac79
42ac69:	6a 03                	push   $0x3
42ac6b:	8b 45 fc             	mov    -0x4(%ebp),%eax
42ac6e:	e8 29 d5 ff ff       	call   0x42819c
42ac73:	50                   	push   %eax
42ac74:	e8 9f be fd ff       	call   0x406b18
42ac79:	33 c0                	xor    %eax,%eax
42ac7b:	55                   	push   %ebp
42ac7c:	68 c8 ad 42 00       	push   $0x42adc8
42ac81:	64 ff 30             	push   %fs:(%eax)
42ac84:	64 89 20             	mov    %esp,%fs:(%eax)
42ac87:	8b c3                	mov    %ebx,%eax
42ac89:	8b 10                	mov    (%eax),%edx
42ac8b:	ff 52 28             	call   *0x28(%edx)
42ac8e:	84 c0                	test   %al,%al
42ac90:	74 07                	je     0x42ac99
42ac92:	8b c3                	mov    %ebx,%eax
42ac94:	e8 23 04 00 00       	call   0x42b0bc
42ac99:	8b c3                	mov    %ebx,%eax
42ac9b:	e8 bc 01 00 00       	call   0x42ae5c
42aca0:	8a 15 d8 ad 42 00    	mov    0x42add8,%dl
42aca6:	e8 c5 d5 ff ff       	call   0x428270
42acab:	8b c3                	mov    %ebx,%eax
42acad:	8b 10                	mov    (%eax),%edx
42acaf:	ff 52 28             	call   *0x28(%edx)
42acb2:	84 c0                	test   %al,%al
42acb4:	0f 84 aa 00 00 00    	je     0x42ad64
42acba:	33 c0                	xor    %eax,%eax
42acbc:	89 45 e4             	mov    %eax,-0x1c(%ebp)
42acbf:	33 c0                	xor    %eax,%eax
42acc1:	89 45 e8             	mov    %eax,-0x18(%ebp)
42acc4:	33 c0                	xor    %eax,%eax
42acc6:	55                   	push   %ebp
42acc7:	68 5d ad 42 00       	push   $0x42ad5d
42accc:	64 ff 30             	push   %fs:(%eax)
42accf:	64 89 20             	mov    %esp,%fs:(%eax)
42acd2:	6a 00                	push   $0x0
42acd4:	e8 d7 bc fd ff       	call   0x4069b0
42acd9:	e8 aa d8 ff ff       	call   0x428588
42acde:	89 45 e8             	mov    %eax,-0x18(%ebp)
42ace1:	8b 46 0c             	mov    0xc(%esi),%eax
42ace4:	50                   	push   %eax
42ace5:	8b 45 e8             	mov    -0x18(%ebp),%eax
42ace8:	50                   	push   %eax
42ace9:	e8 ea bd fd ff       	call   0x406ad8
42acee:	89 45 e4             	mov    %eax,-0x1c(%ebp)
42acf1:	8b 47 08             	mov    0x8(%edi),%eax
42acf4:	2b 07                	sub    (%edi),%eax
42acf6:	50                   	push   %eax
42acf7:	8b 47 0c             	mov    0xc(%edi),%eax
42acfa:	2b 47 04             	sub    0x4(%edi),%eax
42acfd:	50                   	push   %eax
42acfe:	8b c3                	mov    %ebx,%eax
42ad00:	e8 57 01 00 00       	call   0x42ae5c
42ad05:	8b 40 04             	mov    0x4(%eax),%eax
42ad08:	50                   	push   %eax
42ad09:	6a 00                	push   $0x0
42ad0b:	6a 00                	push   $0x0
42ad0d:	8b 46 1c             	mov    0x1c(%esi),%eax
42ad10:	50                   	push   %eax
42ad11:	8b 46 20             	mov    0x20(%esi),%eax
42ad14:	50                   	push   %eax
42ad15:	8b 45 e8             	mov    -0x18(%ebp),%eax
42ad18:	50                   	push   %eax
42ad19:	6a 00                	push   $0x0
42ad1b:	6a 00                	push   $0x0
42ad1d:	8b 4f 04             	mov    0x4(%edi),%ecx
42ad20:	8b 17                	mov    (%edi),%edx
42ad22:	8b 45 fc             	mov    -0x4(%ebp),%eax
42ad25:	8b 40 04             	mov    0x4(%eax),%eax
42ad28:	e8 ff d9 ff ff       	call   0x42872c
42ad2d:	33 c0                	xor    %eax,%eax
42ad2f:	5a                   	pop    %edx
42ad30:	59                   	pop    %ecx
42ad31:	59                   	pop    %ecx
42ad32:	64 89 10             	mov    %edx,%fs:(%eax)
42ad35:	68 a2 ad 42 00       	push   $0x42ada2
42ad3a:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
42ad3e:	74 0d                	je     0x42ad4d
42ad40:	8b 45 e4             	mov    -0x1c(%ebp),%eax
42ad43:	50                   	push   %eax
42ad44:	8b 45 e8             	mov    -0x18(%ebp),%eax
42ad47:	50                   	push   %eax
42ad48:	e8 8b bd fd ff       	call   0x406ad8
42ad4d:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
42ad51:	74 09                	je     0x42ad5c
42ad53:	8b 45 e8             	mov    -0x18(%ebp),%eax
42ad56:	50                   	push   %eax
42ad57:	e8 94 bc fd ff       	call   0x4069f0
42ad5c:	c3                   	ret
42ad5d:	e9 06 8e fd ff       	jmp    0x403b68
42ad62:	eb d6                	jmp    0x42ad3a
42ad64:	8b 45 fc             	mov    -0x4(%ebp),%eax
42ad67:	8b 40 20             	mov    0x20(%eax),%eax
42ad6a:	50                   	push   %eax
42ad6b:	8b 46 20             	mov    0x20(%esi),%eax
42ad6e:	50                   	push   %eax
42ad6f:	8b 46 1c             	mov    0x1c(%esi),%eax
42ad72:	50                   	push   %eax
42ad73:	6a 00                	push   $0x0
42ad75:	6a 00                	push   $0x0
42ad77:	8b c3                	mov    %ebx,%eax
42ad79:	e8 de 00 00 00       	call   0x42ae5c
42ad7e:	8b 40 04             	mov    0x4(%eax),%eax
42ad81:	50                   	push   %eax
42ad82:	8b 47 0c             	mov    0xc(%edi),%eax
42ad85:	2b 47 04             	sub    0x4(%edi),%eax
42ad88:	50                   	push   %eax
42ad89:	8b 47 08             	mov    0x8(%edi),%eax
42ad8c:	2b 07                	sub    (%edi),%eax
42ad8e:	50                   	push   %eax
42ad8f:	8b 47 04             	mov    0x4(%edi),%eax
42ad92:	50                   	push   %eax
42ad93:	8b 07                	mov    (%edi),%eax
42ad95:	50                   	push   %eax
42ad96:	8b 45 fc             	mov    -0x4(%ebp),%eax
42ad99:	8b 40 04             	mov    0x4(%eax),%eax
42ad9c:	50                   	push   %eax
42ad9d:	e8 96 bd fd ff       	call   0x406b38
42ada2:	33 c0                	xor    %eax,%eax
42ada4:	5a                   	pop    %edx
42ada5:	59                   	pop    %ecx
42ada6:	59                   	pop    %ecx
42ada7:	64 89 10             	mov    %edx,%fs:(%eax)
42adaa:	68 cf ad 42 00       	push   $0x42adcf
42adaf:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
42adb3:	74 12                	je     0x42adc7
42adb5:	6a ff                	push   $0xffffffff
42adb7:	8b 45 f8             	mov    -0x8(%ebp),%eax
42adba:	50                   	push   %eax
42adbb:	8b 45 fc             	mov    -0x4(%ebp),%eax
42adbe:	8b 40 04             	mov    0x4(%eax),%eax
42adc1:	50                   	push   %eax
42adc2:	e8 19 bd fd ff       	call   0x406ae0
42adc7:	c3                   	ret
42adc8:	e9 9b 8d fd ff       	jmp    0x403b68
42adcd:	eb e0                	jmp    0x42adaf
42adcf:	5f                   	pop    %edi
42add0:	5e                   	pop    %esi
42add1:	5b                   	pop    %ebx
42add2:	8b e5                	mov    %ebp,%esp
42add4:	5d                   	pop    %ebp
42add5:	c3                   	ret
42add6:	00 00                	add    %al,(%eax)
42add8:	0f 00 00             	sldt   (%eax)
42addb:	00 53 56             	add    %dl,0x56(%ebx)
42adde:	8b f0                	mov    %eax,%esi
42ade0:	8b 5e 28             	mov    0x28(%esi),%ebx
42ade3:	83 7b 04 01          	cmpl   $0x1,0x4(%ebx)
42ade7:	7e 27                	jle    0x42ae10
42ade9:	8b c6                	mov    %esi,%eax
42adeb:	e8 2c 02 00 00       	call   0x42b01c
42adf0:	80 7b 71 00          	cmpb   $0x0,0x71(%ebx)
42adf4:	74 04                	je     0x42adfa
42adf6:	33 c0                	xor    %eax,%eax
42adf8:	eb 03                	jmp    0x42adfd
42adfa:	8b 43 10             	mov    0x10(%ebx),%eax
42adfd:	8d 53 18             	lea    0x18(%ebx),%edx
42ae00:	52                   	push   %edx
42ae01:	8b c8                	mov    %eax,%ecx
42ae03:	8b 53 08             	mov    0x8(%ebx),%edx
42ae06:	8b c6                	mov    %esi,%eax
42ae08:	e8 1b fc ff ff       	call   0x42aa28
42ae0d:	5e                   	pop    %esi
42ae0e:	5b                   	pop    %ebx
42ae0f:	c3                   	ret
42ae10:	8b 43 08             	mov    0x8(%ebx),%eax
42ae13:	85 c0                	test   %eax,%eax
42ae15:	74 25                	je     0x42ae3c
42ae17:	3b 43 14             	cmp    0x14(%ebx),%eax
42ae1a:	74 20                	je     0x42ae3c
42ae1c:	8b 73 14             	mov    0x14(%ebx),%esi
42ae1f:	85 f6                	test   %esi,%esi
42ae21:	74 0f                	je     0x42ae32
42ae23:	56                   	push   %esi
42ae24:	e8 cf bb fd ff       	call   0x4069f8
42ae29:	85 c0                	test   %eax,%eax
42ae2b:	75 05                	jne    0x42ae32
42ae2d:	e8 ae d6 ff ff       	call   0x4284e0
42ae32:	33 c0                	xor    %eax,%eax
42ae34:	89 43 14             	mov    %eax,0x14(%ebx)
42ae37:	33 c0                	xor    %eax,%eax
42ae39:	89 43 2c             	mov    %eax,0x2c(%ebx)
42ae3c:	5e                   	pop    %esi
42ae3d:	5b                   	pop    %ebx
42ae3e:	c3                   	ret
42ae3f:	90                   	nop
42ae40:	8b 40 28             	mov    0x28(%eax),%eax
42ae43:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
42ae47:	75 0c                	jne    0x42ae55
42ae49:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
42ae4d:	75 06                	jne    0x42ae55
42ae4f:	83 78 6c 00          	cmpl   $0x0,0x6c(%eax)
42ae53:	74 03                	je     0x42ae58
42ae55:	33 c0                	xor    %eax,%eax
42ae57:	c3                   	ret
42ae58:	b0 01                	mov    $0x1,%al
42ae5a:	c3                   	ret
42ae5b:	90                   	nop
42ae5c:	53                   	push   %ebx
42ae5d:	56                   	push   %esi
42ae5e:	8b d8                	mov    %eax,%ebx
42ae60:	83 7b 2c 00          	cmpl   $0x0,0x2c(%ebx)
42ae64:	75 35                	jne    0x42ae9b
42ae66:	8b c3                	mov    %ebx,%eax
42ae68:	e8 af 01 00 00       	call   0x42b01c
42ae6d:	83 7b 2c 00          	cmpl   $0x0,0x2c(%ebx)
42ae71:	75 28                	jne    0x42ae9b
42ae73:	8b cb                	mov    %ebx,%ecx
42ae75:	b2 01                	mov    $0x1,%dl
42ae77:	a1 34 9a 42 00       	mov    0x429a34,%eax
42ae7c:	e8 77 ed ff ff       	call   0x429bf8
42ae81:	8b f0                	mov    %eax,%esi
42ae83:	89 73 2c             	mov    %esi,0x2c(%ebx)
42ae86:	89 5e 2c             	mov    %ebx,0x2c(%esi)
42ae89:	8b 03                	mov    (%ebx),%eax
42ae8b:	8b 40 10             	mov    0x10(%eax),%eax
42ae8e:	89 46 28             	mov    %eax,0x28(%esi)
42ae91:	89 5e 34             	mov    %ebx,0x34(%esi)
42ae94:	c7 46 30 e8 aa 42 00 	movl   $0x42aae8,0x30(%esi)
42ae9b:	8b 43 2c             	mov    0x2c(%ebx),%eax
42ae9e:	5e                   	pop    %esi
42ae9f:	5b                   	pop    %ebx
42aea0:	c3                   	ret
42aea1:	8d 40 00             	lea    0x0(%eax),%eax
42aea4:	53                   	push   %ebx
42aea5:	8b d8                	mov    %eax,%ebx
42aea7:	8b c3                	mov    %ebx,%eax
42aea9:	e8 5e 01 00 00       	call   0x42b00c
42aeae:	8b c3                	mov    %ebx,%eax
42aeb0:	e8 67 01 00 00       	call   0x42b01c
42aeb5:	8b d3                	mov    %ebx,%edx
42aeb7:	8b c3                	mov    %ebx,%eax
42aeb9:	e8 2a fc ff ff       	call   0x42aae8
42aebe:	8b 43 28             	mov    0x28(%ebx),%eax
42aec1:	8b 40 08             	mov    0x8(%eax),%eax
42aec4:	5b                   	pop    %ebx
42aec5:	c3                   	ret
42aec6:	8b c0                	mov    %eax,%eax
42aec8:	8b 40 28             	mov    0x28(%eax),%eax
42aecb:	8b 50 08             	mov    0x8(%eax),%edx
42aece:	85 d2                	test   %edx,%edx
42aed0:	74 05                	je     0x42aed7
42aed2:	3b 50 14             	cmp    0x14(%eax),%edx
42aed5:	75 17                	jne    0x42aeee
42aed7:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
42aedb:	75 0e                	jne    0x42aeeb
42aedd:	83 78 30 00          	cmpl   $0x0,0x30(%eax)
42aee1:	75 04                	jne    0x42aee7
42aee3:	b0 01                	mov    $0x1,%al
42aee5:	eb 09                	jmp    0x42aef0
42aee7:	33 c0                	xor    %eax,%eax
42aee9:	eb 05                	jmp    0x42aef0
42aeeb:	33 c0                	xor    %eax,%eax
42aeed:	c3                   	ret
42aeee:	b0 01                	mov    $0x1,%al
42aef0:	c3                   	ret
42aef1:	8d 40 00             	lea    0x0(%eax),%eax
42aef4:	8b c8                	mov    %eax,%ecx
42aef6:	8b 41 28             	mov    0x28(%ecx),%eax
42aef9:	8b 40 20             	mov    0x20(%eax),%eax
42aefc:	99                   	cltd
42aefd:	33 c2                	xor    %edx,%eax
42aeff:	2b c2                	sub    %edx,%eax
42af01:	c3                   	ret
42af02:	8b c0                	mov    %eax,%eax
42af04:	53                   	push   %ebx
42af05:	8b d8                	mov    %eax,%ebx
42af07:	8b c3                	mov    %ebx,%eax
42af09:	e8 ae 01 00 00       	call   0x42b0bc
42af0e:	8b 43 28             	mov    0x28(%ebx),%eax
42af11:	8b 40 0c             	mov    0xc(%eax),%eax
42af14:	5b                   	pop    %ebx
42af15:	c3                   	ret
42af16:	8b c0                	mov    %eax,%eax
42af18:	8b 40 28             	mov    0x28(%eax),%eax
42af1b:	83 c0 18             	add    $0x18,%eax
42af1e:	66 83 78 10 01       	cmpw   $0x1,0x10(%eax)
42af23:	75 07                	jne    0x42af2c
42af25:	66 83 78 12 01       	cmpw   $0x1,0x12(%eax)
42af2a:	74 03                	je     0x42af2f
42af2c:	33 c0                	xor    %eax,%eax
42af2e:	c3                   	ret
42af2f:	b0 01                	mov    $0x1,%al
42af31:	c3                   	ret
42af32:	8b c0                	mov    %eax,%eax
42af34:	53                   	push   %ebx
42af35:	8b d8                	mov    %eax,%ebx
42af37:	8b c3                	mov    %ebx,%eax
42af39:	e8 de 01 00 00       	call   0x42b11c
42af3e:	8b 43 28             	mov    0x28(%ebx),%eax
42af41:	8b 40 10             	mov    0x10(%eax),%eax
42af44:	5b                   	pop    %ebx
42af45:	c3                   	ret
42af46:	8b c0                	mov    %eax,%eax
42af48:	53                   	push   %ebx
42af49:	8b d8                	mov    %eax,%ebx
42af4b:	8b 43 34             	mov    0x34(%ebx),%eax
42af4e:	3d 00 00 00 20       	cmp    $0x20000000,%eax
42af53:	75 2c                	jne    0x42af81
42af55:	8b c3                	mov    %ebx,%eax
42af57:	e8 bc ff ff ff       	call   0x42af18
42af5c:	84 c0                	test   %al,%al
42af5e:	74 07                	je     0x42af67
42af60:	b8 ff ff ff 00       	mov    $0xffffff,%eax