42291d:	33 c0                	xor    %eax,%eax
42291f:	c3                   	ret
422920:	b0 01                	mov    $0x1,%al
422922:	c3                   	ret
422923:	90                   	nop
422924:	53                   	push   %ebx
422925:	56                   	push   %esi
422926:	8b d8                	mov    %eax,%ebx
422928:	83 7b 2c 00          	cmpl   $0x0,0x2c(%ebx)
42292c:	75 35                	jne    0x422963
42292e:	8b c3                	mov    %ebx,%eax
422930:	e8 af 01 00 00       	call   0x422ae4
422935:	83 7b 2c 00          	cmpl   $0x0,0x2c(%ebx)
422939:	75 28                	jne    0x422963
42293b:	8b cb                	mov    %ebx,%ecx
42293d:	b2 01                	mov    $0x1,%dl
42293f:	a1 fc 14 42 00       	mov    0x4214fc,%eax
422944:	e8 77 ed ff ff       	call   0x4216c0
422949:	8b f0                	mov    %eax,%esi
42294b:	89 73 2c             	mov    %esi,0x2c(%ebx)
42294e:	89 5e 2c             	mov    %ebx,0x2c(%esi)
422951:	8b 03                	mov    (%ebx),%eax
422953:	8b 40 10             	mov    0x10(%eax),%eax
422956:	89 46 28             	mov    %eax,0x28(%esi)
422959:	89 5e 34             	mov    %ebx,0x34(%esi)
42295c:	c7 46 30 b0 25 42 00 	movl   $0x4225b0,0x30(%esi)
422963:	8b 43 2c             	mov    0x2c(%ebx),%eax
422966:	5e                   	pop    %esi
422967:	5b                   	pop    %ebx
422968:	c3                   	ret
422969:	8d 40 00             	lea    0x0(%eax),%eax
42296c:	53                   	push   %ebx
42296d:	8b d8                	mov    %eax,%ebx
42296f:	8b c3                	mov    %ebx,%eax
422971:	e8 5e 01 00 00       	call   0x422ad4
422976:	8b c3                	mov    %ebx,%eax
422978:	e8 67 01 00 00       	call   0x422ae4
42297d:	8b d3                	mov    %ebx,%edx
42297f:	8b c3                	mov    %ebx,%eax
422981:	e8 2a fc ff ff       	call   0x4225b0
422986:	8b 43 28             	mov    0x28(%ebx),%eax
422989:	8b 40 08             	mov    0x8(%eax),%eax
42298c:	5b                   	pop    %ebx
42298d:	c3                   	ret
42298e:	8b c0                	mov    %eax,%eax
422990:	8b 40 28             	mov    0x28(%eax),%eax
422993:	8b 50 08             	mov    0x8(%eax),%edx
422996:	85 d2                	test   %edx,%edx
422998:	74 05                	je     0x42299f
42299a:	3b 50 14             	cmp    0x14(%eax),%edx
42299d:	75 17                	jne    0x4229b6
42299f:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
4229a3:	75 0e                	jne    0x4229b3
4229a5:	83 78 30 00          	cmpl   $0x0,0x30(%eax)
4229a9:	75 04                	jne    0x4229af
4229ab:	b0 01                	mov    $0x1,%al
4229ad:	eb 09                	jmp    0x4229b8
4229af:	33 c0                	xor    %eax,%eax
4229b1:	eb 05                	jmp    0x4229b8
4229b3:	33 c0                	xor    %eax,%eax
4229b5:	c3                   	ret
4229b6:	b0 01                	mov    $0x1,%al
4229b8:	c3                   	ret
4229b9:	8d 40 00             	lea    0x0(%eax),%eax
4229bc:	8b c8                	mov    %eax,%ecx
4229be:	8b 41 28             	mov    0x28(%ecx),%eax
4229c1:	8b 40 20             	mov    0x20(%eax),%eax
4229c4:	99                   	cltd
4229c5:	33 c2                	xor    %edx,%eax
4229c7:	2b c2                	sub    %edx,%eax
4229c9:	c3                   	ret
4229ca:	8b c0                	mov    %eax,%eax
4229cc:	53                   	push   %ebx
4229cd:	8b d8                	mov    %eax,%ebx
4229cf:	8b c3                	mov    %ebx,%eax
4229d1:	e8 ae 01 00 00       	call   0x422b84
4229d6:	8b 43 28             	mov    0x28(%ebx),%eax
4229d9:	8b 40 0c             	mov    0xc(%eax),%eax
4229dc:	5b                   	pop    %ebx
4229dd:	c3                   	ret
4229de:	8b c0                	mov    %eax,%eax
4229e0:	8b 40 28             	mov    0x28(%eax),%eax
4229e3:	83 c0 18             	add    $0x18,%eax
4229e6:	66 83 78 10 01       	cmpw   $0x1,0x10(%eax)
4229eb:	75 07                	jne    0x4229f4
4229ed:	66 83 78 12 01       	cmpw   $0x1,0x12(%eax)
4229f2:	74 03                	je     0x4229f7
4229f4:	33 c0                	xor    %eax,%eax
4229f6:	c3                   	ret
4229f7:	b0 01                	mov    $0x1,%al
4229f9:	c3                   	ret
4229fa:	8b c0                	mov    %eax,%eax
4229fc:	53                   	push   %ebx
4229fd:	8b d8                	mov    %eax,%ebx
4229ff:	8b c3                	mov    %ebx,%eax
422a01:	e8 de 01 00 00       	call   0x422be4
422a06:	8b 43 28             	mov    0x28(%ebx),%eax
422a09:	8b 40 10             	mov    0x10(%eax),%eax
422a0c:	5b                   	pop    %ebx
422a0d:	c3                   	ret
422a0e:	8b c0                	mov    %eax,%eax
422a10:	53                   	push   %ebx
422a11:	8b d8                	mov    %eax,%ebx
422a13:	8b 43 34             	mov    0x34(%ebx),%eax
422a16:	3d 00 00 00 20       	cmp    $0x20000000,%eax
422a1b:	75 2c                	jne    0x422a49
422a1d:	8b c3                	mov    %ebx,%eax
422a1f:	e8 bc ff ff ff       	call   0x4229e0
422a24:	84 c0                	test   %al,%al
422a26:	74 07                	je     0x422a2f
422a28:	b8 ff ff ff 00       	mov    $0xffffff,%eax
422a2d:	eb 1f                	jmp    0x422a4e
422a2f:	8b c3                	mov    %ebx,%eax
422a31:	8b 10                	mov    (%eax),%edx
422a33:	ff 52 20             	call   *0x20(%edx)
422a36:	48                   	dec    %eax
422a37:	50                   	push   %eax
422a38:	8b c3                	mov    %ebx,%eax
422a3a:	e8 e5 fe ff ff       	call   0x422924
422a3f:	33 d2                	xor    %edx,%edx
422a41:	59                   	pop    %ecx
422a42:	e8 21 b7 ff ff       	call   0x41e168
422a47:	eb 05                	jmp    0x422a4e
422a49:	e8 ba a3 ff ff       	call   0x41ce08
422a4e:	0d 00 00 00 02       	or     $0x2000000,%eax
422a53:	5b                   	pop    %ebx
422a54:	c3                   	ret
422a55:	8d 40 00             	lea    0x0(%eax),%eax
422a58:	8b 40 28             	mov    0x28(%eax),%eax
422a5b:	8b 40 1c             	mov    0x1c(%eax),%eax
422a5e:	c3                   	ret
422a5f:	90                   	nop
422a60:	53                   	push   %ebx
422a61:	56                   	push   %esi
422a62:	8b 58 28             	mov    0x28(%eax),%ebx
422a65:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
422a69:	74 65                	je     0x422ad0
422a6b:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
422a6f:	75 5f                	jne    0x422ad0
422a71:	e8 6e 01 00 00       	call   0x422be4
422a76:	83 7b 30 00          	cmpl   $0x0,0x30(%ebx)
422a7a:	75 3c                	jne    0x422ab8
422a7c:	8d 43 18             	lea    0x18(%ebx),%eax
422a7f:	50                   	push   %eax
422a80:	6a 54                	push   $0x54
422a82:	8b 43 08             	mov    0x8(%ebx),%eax
422a85:	50                   	push   %eax
422a86:	e8 41 38 fe ff       	call   0x4062cc
422a8b:	8d 43 18             	lea    0x18(%ebx),%eax
422a8e:	8b d0                	mov    %eax,%edx
422a90:	83 c0 18             	add    $0x18,%eax
422a93:	c7 00 28 00 00 00    	movl   $0x28,(%eax)
422a99:	8b 4a 04             	mov    0x4(%edx),%ecx
422a9c:	89 48 04             	mov    %ecx,0x4(%eax)
422a9f:	8b 4a 08             	mov    0x8(%edx),%ecx
422aa2:	89 48 08             	mov    %ecx,0x8(%eax)
422aa5:	66 c7 40 0c 01 00    	movw   $0x1,0xc(%eax)
422aab:	66 8b 4a 10          	mov    0x10(%edx),%cx
422aaf:	66 0f af 4a 12       	imul   0x12(%edx),%cx
422ab4:	66 89 48 0e          	mov    %cx,0xe(%eax)
422ab8:	8d 43 18             	lea    0x18(%ebx),%eax
422abb:	50                   	push   %eax
422abc:	6a 00                	push   $0x0
422abe:	8b 73 10             	mov    0x10(%ebx),%esi
422ac1:	8b ce                	mov    %esi,%ecx
422ac3:	8b d6                	mov    %esi,%edx
422ac5:	8b 43 08             	mov    0x8(%ebx),%eax
422ac8:	e8 bb ef ff ff       	call   0x421a88
422acd:	89 43 14             	mov    %eax,0x14(%ebx)
422ad0:	5e                   	pop    %esi
422ad1:	5b                   	pop    %ebx
422ad2:	c3                   	ret
422ad3:	90                   	nop
422ad4:	8b 50 2c             	mov    0x2c(%eax),%edx
422ad7:	85 d2                	test   %edx,%edx
422ad9:	74 07                	je     0x422ae2
422adb:	8b c2                	mov    %edx,%eax
422add:	e8 46 ec ff ff       	call   0x421728
422ae2:	c3                   	ret
422ae3:	90                   	nop
422ae4:	55                   	push   %ebp
422ae5:	8b ec                	mov    %esp,%ebp
422ae7:	83 c4 f0             	add    $0xfffffff0,%esp
422aea:	89 45 fc             	mov    %eax,-0x4(%ebp)
422aed:	8b 45 fc             	mov    -0x4(%ebp),%eax
422af0:	8b 40 28             	mov    0x28(%eax),%eax
422af3:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
422af7:	75 75                	jne    0x422b6e
422af9:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
422afd:	75 6f                	jne    0x422b6e
422aff:	83 78 6c 00          	cmpl   $0x0,0x6c(%eax)
422b03:	74 69                	je     0x422b6e
422b05:	6a 00                	push   $0x0
422b07:	6a 00                	push   $0x0
422b09:	8b 40 6c             	mov    0x6c(%eax),%eax
422b0c:	e8 8b 36 ff ff       	call   0x41619c
422b11:	8b 45 fc             	mov    -0x4(%ebp),%eax
422b14:	8b 50 10             	mov    0x10(%eax),%edx
422b17:	89 55 f0             	mov    %edx,-0x10(%ebp)
422b1a:	8b 50 14             	mov    0x14(%eax),%edx
422b1d:	89 55 f4             	mov    %edx,-0xc(%ebp)
422b20:	33 c0                	xor    %eax,%eax
422b22:	55                   	push   %ebp
422b23:	68 67 2b 42 00       	push   $0x422b67
422b28:	64 ff 30             	push   %fs:(%eax)
422b2b:	64 89 20             	mov    %esp,%fs:(%eax)
422b2e:	8b 45 fc             	mov    -0x4(%ebp),%eax
422b31:	33 d2                	xor    %edx,%edx
422b33:	89 50 10             	mov    %edx,0x10(%eax)
422b36:	89 50 14             	mov    %edx,0x14(%eax)
422b39:	8b 45 fc             	mov    -0x4(%ebp),%eax
422b3c:	8b 40 28             	mov    0x28(%eax),%eax
422b3f:	8b 50 6c             	mov    0x6c(%eax),%edx
422b42:	8b 45 fc             	mov    -0x4(%ebp),%eax
422b45:	8b 08                	mov    (%eax),%ecx
422b47:	ff 51 54             	call   *0x54(%ecx)
422b4a:	33 c0                	xor    %eax,%eax
422b4c:	5a                   	pop    %edx
422b4d:	59                   	pop    %ecx
422b4e:	59                   	pop    %ecx
422b4f:	64 89 10             	mov    %edx,%fs:(%eax)
422b52:	68 6e 2b 42 00       	push   $0x422b6e
422b57:	8b 45 fc             	mov    -0x4(%ebp),%eax
422b5a:	8b 55 f0             	mov    -0x10(%ebp),%edx
422b5d:	89 50 10             	mov    %edx,0x10(%eax)
422b60:	8b 55 f4             	mov    -0xc(%ebp),%edx
422b63:	89 50 14             	mov    %edx,0x14(%eax)
422b66:	c3                   	ret
422b67:	e9 30 0e fe ff       	jmp    0x40399c
422b6c:	eb e9                	jmp    0x422b57
422b6e:	8b 45 fc             	mov    -0x4(%ebp),%eax
422b71:	8b 40 28             	mov    0x28(%eax),%eax
422b74:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
422b78:	75 06                	jne    0x422b80
422b7a:	8b 50 14             	mov    0x14(%eax),%edx
422b7d:	89 50 08             	mov    %edx,0x8(%eax)
422b80:	8b e5                	mov    %ebp,%esp
422b82:	5d                   	pop    %ebp
422b83:	c3                   	ret
422b84:	53                   	push   %ebx
422b85:	56                   	push   %esi
422b86:	8b d8                	mov    %eax,%ebx
422b88:	80 7b 32 00          	cmpb   $0x0,0x32(%ebx)
422b8c:	74 06                	je     0x422b94
422b8e:	80 7b 31 00          	cmpb   $0x0,0x31(%ebx)
422b92:	75 4d                	jne    0x422be1
422b94:	8b 73 28             	mov    0x28(%ebx),%esi
422b97:	8b 46 0c             	mov    0xc(%esi),%eax
422b9a:	85 c0                	test   %eax,%eax
422b9c:	74 13                	je     0x422bb1
422b9e:	e8 a1 ea ff ff       	call   0x421644
422ba3:	8b 46 0c             	mov    0xc(%esi),%eax
422ba6:	50                   	push   %eax
422ba7:	e8 b0 36 fe ff       	call   0x40625c
422bac:	33 c0                	xor    %eax,%eax
422bae:	89 46 0c             	mov    %eax,0xc(%esi)
422bb1:	8b c3                	mov    %ebx,%eax
422bb3:	e8 1c ff ff ff       	call   0x422ad4
422bb8:	8b c3                	mov    %ebx,%eax
422bba:	e8 25 ff ff ff       	call   0x422ae4
422bbf:	8b 73 28             	mov    0x28(%ebx),%esi
422bc2:	8b c3                	mov    %ebx,%eax
422bc4:	e8 47 fe ff ff       	call   0x422a10
422bc9:	8b c8                	mov    %eax,%ecx
422bcb:	8b 56 10             	mov    0x10(%esi),%edx
422bce:	8b 46 08             	mov    0x8(%esi),%eax
422bd1:	e8 7a f5 ff ff       	call   0x422150
422bd6:	89 46 0c             	mov    %eax,0xc(%esi)
422bd9:	c6 43 32 01          	movb   $0x1,0x32(%ebx)
422bdd:	c6 43 31 01          	movb   $0x1,0x31(%ebx)
422be1:	5e                   	pop    %esi
422be2:	5b                   	pop    %ebx
422be3:	c3                   	ret
422be4:	53                   	push   %ebx
422be5:	56                   	push   %esi
422be6:	57                   	push   %edi
422be7:	55                   	push   %ebp
422be8:	8b f8                	mov    %eax,%edi
422bea:	8b 6f 28             	mov    0x28(%edi),%ebp
422bed:	80 7f 30 00          	cmpb   $0x0,0x30(%edi)
422bf1:	0f 85 a0 00 00 00    	jne    0x422c97
422bf7:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
422bfb:	0f 85 96 00 00 00    	jne    0x422c97
422c01:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
422c05:	0f 84 8c 00 00 00    	je     0x422c97
422c0b:	8b 45 14             	mov    0x14(%ebp),%eax
422c0e:	3b 45 08             	cmp    0x8(%ebp),%eax
422c11:	75 05                	jne    0x422c18
422c13:	e8 2c ea ff ff       	call   0x421644
422c18:	66 8b 4d 3e          	mov    0x3e(%ebp),%cx
422c1c:	b8 01 00 00 00       	mov    $0x1,%eax
422c21:	d3 e0                	shl    %cl,%eax
422c23:	8b c8                	mov    %eax,%ecx
422c25:	33 d2                	xor    %edx,%edx
422c27:	8b 45 14             	mov    0x14(%ebp),%eax
422c2a:	e8 95 c0 ff ff       	call   0x41ecc4
422c2f:	8b f0                	mov    %eax,%esi
422c31:	89 75 10             	mov    %esi,0x10(%ebp)
422c34:	85 f6                	test   %esi,%esi
422c36:	75 5f                	jne    0x422c97
422c38:	6a 00                	push   $0x0
422c3a:	e8 5d 39 fe ff       	call   0x40659c
422c3f:	e8 90 b9 ff ff       	call   0x41e5d4
422c44:	8b f0                	mov    %eax,%esi
422c46:	80 7d 71 00          	cmpb   $0x0,0x71(%ebp)
422c4a:	75 27                	jne    0x422c73
422c4c:	6a 0c                	push   $0xc
422c4e:	56                   	push   %esi
422c4f:	e8 58 36 fe ff       	call   0x4062ac
422c54:	8b d8                	mov    %eax,%ebx
422c56:	6a 0e                	push   $0xe
422c58:	56                   	push   %esi
422c59:	e8 4e 36 fe ff       	call   0x4062ac
422c5e:	0f af d8             	imul   %eax,%ebx
422c61:	0f b7 45 2a          	movzwl 0x2a(%ebp),%eax
422c65:	0f b7 55 28          	movzwl 0x28(%ebp),%edx
422c69:	f7 ea                	imul   %edx
422c6b:	3b d8                	cmp    %eax,%ebx
422c6d:	7c 04                	jl     0x422c73
422c6f:	33 db                	xor    %ebx,%ebx
422c71:	eb 02                	jmp    0x422c75
422c73:	b3 01                	mov    $0x1,%bl
422c75:	88 5d 71             	mov    %bl,0x71(%ebp)
422c78:	84 db                	test   %bl,%bl
422c7a:	74 09                	je     0x422c85
422c7c:	56                   	push   %esi
422c7d:	e8 a2 35 fe ff       	call   0x406224
422c82:	89 45 10             	mov    %eax,0x10(%ebp)
422c85:	56                   	push   %esi
422c86:	6a 00                	push   $0x0
422c88:	e8 5f 3b fe ff       	call   0x4067ec
422c8d:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
422c91:	75 04                	jne    0x422c97
422c93:	c6 47 30 01          	movb   $0x1,0x30(%edi)
422c97:	5d                   	pop    %ebp
422c98:	5f                   	pop    %edi
422c99:	5e                   	pop    %esi
422c9a:	5b                   	pop    %ebx
422c9b:	c3                   	ret
422c9c:	55                   	push   %ebp
422c9d:	8b ec                	mov    %esp,%ebp
422c9f:	83 c4 ac             	add    $0xffffffac,%esp
422ca2:	53                   	push   %ebx
422ca3:	56                   	push   %esi
422ca4:	8b d9                	mov    %ecx,%ebx
422ca6:	8b f0                	mov    %eax,%esi
422ca8:	66 83 fa 02          	cmp    $0x2,%dx
422cac:	75 04                	jne    0x422cb2
422cae:	85 db                	test   %ebx,%ebx
422cb0:	75 0a                	jne    0x422cbc