422905:	83 ee 0c             	sub    $0xc,%esi
422908:	83 7b 20 00          	cmpl   $0x0,0x20(%ebx)
42290c:	75 0c                	jne    0x42291a
42290e:	66 8b 43 0e          	mov    0xe(%ebx),%ax
422912:	e8 7d b6 ff ff       	call   0x41df94
422917:	89 43 20             	mov    %eax,0x20(%ebx)
42291a:	8b 4b 20             	mov    0x20(%ebx),%ecx
42291d:	0f b6 7d df          	movzbl -0x21(%ebp),%edi
422921:	33 c0                	xor    %eax,%eax
422923:	8a 87 d4 d6 45 00    	mov    0x45d6d4(%edi),%al
422929:	0f af c8             	imul   %eax,%ecx
42292c:	8b 55 e4             	mov    -0x1c(%ebp),%edx
42292f:	8b 45 f8             	mov    -0x8(%ebp),%eax
422932:	e8 d9 32 ff ff       	call   0x415c10
422937:	8b 43 20             	mov    0x20(%ebx),%eax
42293a:	33 d2                	xor    %edx,%edx
42293c:	8a 97 d4 d6 45 00    	mov    0x45d6d4(%edi),%dl
422942:	f7 ea                	imul   %edx
422944:	2b f0                	sub    %eax,%esi
422946:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
42294a:	75 21                	jne    0x42296d
42294c:	0f b7 53 0e          	movzwl 0xe(%ebx),%edx
422950:	8b 43 04             	mov    0x4(%ebx),%eax
422953:	b9 20 00 00 00       	mov    $0x20,%ecx
422958:	e8 57 b6 ff ff       	call   0x41dfb4
42295d:	8b c8                	mov    %eax,%ecx
42295f:	8b 43 08             	mov    0x8(%ebx),%eax
422962:	99                   	cltd
422963:	33 c2                	xor    %edx,%eax
422965:	2b c2                	sub    %edx,%eax
422967:	0f af c8             	imul   %eax,%ecx
42296a:	89 4b 14             	mov    %ecx,0x14(%ebx)
42296d:	8b 43 14             	mov    0x14(%ebx),%eax
422970:	3b f0                	cmp    %eax,%esi
422972:	76 02                	jbe    0x422976
422974:	8b f0                	mov    %eax,%esi
422976:	80 7d df 00          	cmpb   $0x0,-0x21(%ebp)
42297a:	74 08                	je     0x422984
42297c:	8b 45 e4             	mov    -0x1c(%ebp),%eax
42297f:	e8 d8 b8 ff ff       	call   0x41e25c
422984:	6a 00                	push   $0x0
422986:	e8 1d 3c fe ff       	call   0x4065a8
42298b:	e8 94 b4 ff ff       	call   0x41de24
422990:	89 45 f4             	mov    %eax,-0xc(%ebp)
422993:	33 d2                	xor    %edx,%edx
422995:	55                   	push   %ebp
422996:	68 87 2b 42 00       	push   $0x422b87
42299b:	64 ff 32             	push   %fs:(%edx)
42299e:	64 89 22             	mov    %esp,%fs:(%edx)
4229a1:	8b 45 c4             	mov    -0x3c(%ebp),%eax
4229a4:	8b 40 10             	mov    0x10(%eax),%eax
4229a7:	85 c0                	test   %eax,%eax
4229a9:	74 05                	je     0x4229b0
4229ab:	83 f8 03             	cmp    $0x3,%eax
4229ae:	75 0d                	jne    0x4229bd
4229b0:	80 3d 44 d4 45 00 00 	cmpb   $0x0,0x45d444
4229b7:	0f 84 39 01 00 00    	je     0x422af6
4229bd:	33 c0                	xor    %eax,%eax
4229bf:	89 45 f0             	mov    %eax,-0x10(%ebp)
4229c2:	8b c6                	mov    %esi,%eax
4229c4:	e8 f3 fc fd ff       	call   0x4026bc
4229c9:	89 45 ec             	mov    %eax,-0x14(%ebp)
4229cc:	33 d2                	xor    %edx,%edx
4229ce:	55                   	push   %ebp
4229cf:	68 ef 2a 42 00       	push   $0x422aef
4229d4:	64 ff 32             	push   %fs:(%edx)
4229d7:	64 89 22             	mov    %esp,%fs:(%edx)
4229da:	8b 55 ec             	mov    -0x14(%ebp),%edx
4229dd:	8b ce                	mov    %esi,%ecx
4229df:	8b 45 f8             	mov    -0x8(%ebp),%eax
4229e2:	e8 29 32 ff ff       	call   0x415c10
4229e7:	8b 45 f4             	mov    -0xc(%ebp),%eax
4229ea:	50                   	push   %eax
4229eb:	e8 38 38 fe ff       	call   0x406228
4229f0:	e8 2f b4 ff ff       	call   0x41de24
4229f5:	89 45 f0             	mov    %eax,-0x10(%ebp)
4229f8:	6a 01                	push   $0x1
4229fa:	6a 01                	push   $0x1
4229fc:	8b 45 f4             	mov    -0xc(%ebp),%eax
4229ff:	50                   	push   %eax
422a00:	e8 1b 38 fe ff       	call   0x406220
422a05:	50                   	push   %eax
422a06:	8b 45 f0             	mov    -0x10(%ebp),%eax
422a09:	50                   	push   %eax
422a0a:	e8 89 39 fe ff       	call   0x406398
422a0f:	89 45 d4             	mov    %eax,-0x2c(%ebp)
422a12:	33 c0                	xor    %eax,%eax
422a14:	89 45 cc             	mov    %eax,-0x34(%ebp)
422a17:	8b 45 c4             	mov    -0x3c(%ebp),%eax
422a1a:	8b 40 20             	mov    0x20(%eax),%eax
422a1d:	85 c0                	test   %eax,%eax
422a1f:	76 2a                	jbe    0x422a4b
422a21:	8b c8                	mov    %eax,%ecx
422a23:	8b 55 e4             	mov    -0x1c(%ebp),%edx
422a26:	33 c0                	xor    %eax,%eax
422a28:	e8 e7 ba ff ff       	call   0x41e514
422a2d:	89 45 d0             	mov    %eax,-0x30(%ebp)
422a30:	6a 00                	push   $0x0
422a32:	8b 45 d0             	mov    -0x30(%ebp),%eax
422a35:	50                   	push   %eax
422a36:	8b 45 f0             	mov    -0x10(%ebp),%eax
422a39:	50                   	push   %eax
422a3a:	e8 61 39 fe ff       	call   0x4063a0
422a3f:	89 45 cc             	mov    %eax,-0x34(%ebp)
422a42:	8b 45 f0             	mov    -0x10(%ebp),%eax
422a45:	50                   	push   %eax
422a46:	e8 15 39 fe ff       	call   0x406360
422a4b:	33 d2                	xor    %edx,%edx
422a4d:	55                   	push   %ebp
422a4e:	68 c3 2a 42 00       	push   $0x422ac3
422a53:	64 ff 32             	push   %fs:(%edx)
422a56:	64 89 22             	mov    %esp,%fs:(%edx)
422a59:	6a 00                	push   $0x0
422a5b:	8b 45 e8             	mov    -0x18(%ebp),%eax
422a5e:	50                   	push   %eax
422a5f:	8b 55 ec             	mov    -0x14(%ebp),%edx
422a62:	52                   	push   %edx
422a63:	6a 04                	push   $0x4
422a65:	50                   	push   %eax
422a66:	8b 45 f0             	mov    -0x10(%ebp),%eax
422a69:	50                   	push   %eax
422a6a:	e8 c9 37 fe ff       	call   0x406238
422a6f:	89 45 d8             	mov    %eax,-0x28(%ebp)
422a72:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
422a76:	75 15                	jne    0x422a8d
422a78:	e8 03 36 fe ff       	call   0x406080
422a7d:	85 c0                	test   %eax,%eax
422a7f:	75 07                	jne    0x422a88
422a81:	e8 7e b2 ff ff       	call   0x41dd04
422a86:	eb 05                	jmp    0x422a8d
422a88:	e8 5b a1 fe ff       	call   0x40cbe8
422a8d:	33 c0                	xor    %eax,%eax
422a8f:	5a                   	pop    %edx
422a90:	59                   	pop    %ecx
422a91:	59                   	pop    %ecx
422a92:	64 89 10             	mov    %edx,%fs:(%eax)
422a95:	68 ca 2a 42 00       	push   $0x422aca
422a9a:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
422a9e:	74 0f                	je     0x422aaf
422aa0:	6a ff                	push   $0xffffffff
422aa2:	8b 45 cc             	mov    -0x34(%ebp),%eax
422aa5:	50                   	push   %eax
422aa6:	8b 45 f0             	mov    -0x10(%ebp),%eax
422aa9:	50                   	push   %eax
422aaa:	e8 f1 38 fe ff       	call   0x4063a0
422aaf:	8b 45 d4             	mov    -0x2c(%ebp),%eax
422ab2:	50                   	push   %eax
422ab3:	8b 45 f0             	mov    -0x10(%ebp),%eax
422ab6:	50                   	push   %eax
422ab7:	e8 dc 38 fe ff       	call   0x406398
422abc:	50                   	push   %eax
422abd:	e8 b6 37 fe ff       	call   0x406278
422ac2:	c3                   	ret
422ac3:	e9 f8 0e fe ff       	jmp    0x4039c0
422ac8:	eb d0                	jmp    0x422a9a
422aca:	33 c0                	xor    %eax,%eax
422acc:	5a                   	pop    %edx
422acd:	59                   	pop    %ecx
422ace:	59                   	pop    %ecx
422acf:	64 89 10             	mov    %edx,%fs:(%eax)
422ad2:	68 6e 2b 42 00       	push   $0x422b6e
422ad7:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
422adb:	74 09                	je     0x422ae6
422add:	8b 45 f0             	mov    -0x10(%ebp),%eax
422ae0:	50                   	push   %eax
422ae1:	e8 82 37 fe ff       	call   0x406268
422ae6:	8b 45 ec             	mov    -0x14(%ebp),%eax
422ae9:	e8 ee fb fd ff       	call   0x4026dc
422aee:	c3                   	ret
422aef:	e9 cc 0e fe ff       	jmp    0x4039c0
422af4:	eb e1                	jmp    0x422ad7
422af6:	6a 00                	push   $0x0
422af8:	6a 00                	push   $0x0
422afa:	8d 45 ec             	lea    -0x14(%ebp),%eax
422afd:	50                   	push   %eax
422afe:	6a 00                	push   $0x0
422b00:	8b 45 e8             	mov    -0x18(%ebp),%eax
422b03:	50                   	push   %eax
422b04:	8b 45 f4             	mov    -0xc(%ebp),%eax
422b07:	50                   	push   %eax
422b08:	e8 23 37 fe ff       	call   0x406230
422b0d:	89 45 d8             	mov    %eax,-0x28(%ebp)
422b10:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
422b14:	74 06                	je     0x422b1c
422b16:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
422b1a:	75 15                	jne    0x422b31
422b1c:	e8 5f 35 fe ff       	call   0x406080
422b21:	85 c0                	test   %eax,%eax
422b23:	75 07                	jne    0x422b2c
422b25:	e8 da b1 ff ff       	call   0x41dd04
422b2a:	eb 05                	jmp    0x422b31
422b2c:	e8 b7 a0 fe ff       	call   0x40cbe8
422b31:	33 c0                	xor    %eax,%eax
422b33:	55                   	push   %ebp
422b34:	68 56 2b 42 00       	push   $0x422b56
422b39:	64 ff 30             	push   %fs:(%eax)
422b3c:	64 89 20             	mov    %esp,%fs:(%eax)
422b3f:	8b 55 ec             	mov    -0x14(%ebp),%edx
422b42:	8b ce                	mov    %esi,%ecx
422b44:	8b 45 f8             	mov    -0x8(%ebp),%eax
422b47:	e8 c4 30 ff ff       	call   0x415c10
422b4c:	33 c0                	xor    %eax,%eax
422b4e:	5a                   	pop    %edx
422b4f:	59                   	pop    %ecx
422b50:	59                   	pop    %ecx
422b51:	64 89 10             	mov    %edx,%fs:(%eax)
422b54:	eb 18                	jmp    0x422b6e
422b56:	e9 b1 0b fe ff       	jmp    0x40370c
422b5b:	8b 45 d8             	mov    -0x28(%ebp),%eax
422b5e:	50                   	push   %eax
422b5f:	e8 14 37 fe ff       	call   0x406278
422b64:	e8 b7 0e fe ff       	call   0x403a20
422b69:	e8 06 0f fe ff       	call   0x403a74
422b6e:	33 c0                	xor    %eax,%eax
422b70:	5a                   	pop    %edx
422b71:	59                   	pop    %ecx
422b72:	59                   	pop    %ecx
422b73:	64 89 10             	mov    %edx,%fs:(%eax)
422b76:	68 8e 2b 42 00       	push   $0x422b8e
422b7b:	8b 45 f4             	mov    -0xc(%ebp),%eax
422b7e:	50                   	push   %eax
422b7f:	6a 00                	push   $0x0
422b81:	e8 62 3c fe ff       	call   0x4067e8
422b86:	c3                   	ret
422b87:	e9 34 0e fe ff       	jmp    0x4039c0
422b8c:	eb ed                	jmp    0x422b7b
422b8e:	8b 45 c4             	mov    -0x3c(%ebp),%eax
422b91:	66 83 78 0e 08       	cmpw   $0x8,0xe(%eax)
422b96:	76 22                	jbe    0x422bba
422b98:	8b 45 c4             	mov    -0x3c(%ebp),%eax
422b9b:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
422b9f:	76 19                	jbe    0x422bba
422ba1:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
422ba5:	75 13                	jne    0x422bba
422ba7:	8b 45 c4             	mov    -0x3c(%ebp),%eax
422baa:	8b 48 20             	mov    0x20(%eax),%ecx
422bad:	8b 55 e4             	mov    -0x1c(%ebp),%edx
422bb0:	33 c0                	xor    %eax,%eax
422bb2:	e8 5d b9 ff ff       	call   0x41e514
422bb7:	89 45 d0             	mov    %eax,-0x30(%ebp)
422bba:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
422bc0:	33 c9                	xor    %ecx,%ecx
422bc2:	ba 54 00 00 00       	mov    $0x54,%edx
422bc7:	e8 bc 00 fe ff       	call   0x402c88
422bcc:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
422bd2:	50                   	push   %eax
422bd3:	6a 54                	push   $0x54
422bd5:	8b 45 d8             	mov    -0x28(%ebp),%eax
422bd8:	50                   	push   %eax
422bd9:	e8 02 37 fe ff       	call   0x4062e0
422bde:	8b 45 c4             	mov    -0x3c(%ebp),%eax
422be1:	8b 40 18             	mov    0x18(%eax),%eax
422be4:	89 45 94             	mov    %eax,-0x6c(%ebp)
422be7:	8b 45 c4             	mov    -0x3c(%ebp),%eax
422bea:	8b 40 1c             	mov    0x1c(%eax),%eax
422bed:	89 45 98             	mov    %eax,-0x68(%ebp)
422bf0:	8b 45 c4             	mov    -0x3c(%ebp),%eax
422bf3:	8b 40 20             	mov    0x20(%eax),%eax
422bf6:	89 45 9c             	mov    %eax,-0x64(%ebp)
422bf9:	8b 45 c4             	mov    -0x3c(%ebp),%eax
422bfc:	8b 40 24             	mov    0x24(%eax),%eax
422bff:	89 45 a0             	mov    %eax,-0x60(%ebp)
422c02:	33 c0                	xor    %eax,%eax
422c04:	5a                   	pop    %edx
422c05:	59                   	pop    %ecx
422c06:	59                   	pop    %ecx
422c07:	64 89 10             	mov    %edx,%fs:(%eax)
422c0a:	eb 17                	jmp    0x422c23
422c0c:	e9 fb 0a fe ff       	jmp    0x40370c
422c11:	8b 45 c8             	mov    -0x38(%ebp),%eax
422c14:	e8 53 06 fe ff       	call   0x40326c
422c19:	e8 02 0e fe ff       	call   0x403a20
422c1e:	e8 51 0e fe ff       	call   0x403a74
422c23:	33 c0                	xor    %eax,%eax
422c25:	5a                   	pop    %edx
422c26:	59                   	pop    %ecx
422c27:	59                   	pop    %ecx
422c28:	64 89 10             	mov    %edx,%fs:(%eax)
422c2b:	68 40 2c 42 00       	push   $0x422c40
422c30:	8b 45 e8             	mov    -0x18(%ebp),%eax
422c33:	e8 a4 fa fd ff       	call   0x4026dc
422c38:	c3                   	ret
422c39:	e9 82 0d fe ff       	jmp    0x4039c0
422c3e:	eb f0                	jmp    0x422c30
422c40:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
422c46:	50                   	push   %eax
422c47:	8a 45 df             	mov    -0x21(%ebp),%al
422c4a:	50                   	push   %eax
422c4b:	8b 45 c8             	mov    -0x38(%ebp),%eax
422c4e:	50                   	push   %eax
422c4f:	8b 4d d0             	mov    -0x30(%ebp),%ecx
422c52:	8b 55 d8             	mov    -0x28(%ebp),%edx
422c55:	8b 45 fc             	mov    -0x4(%ebp),%eax
422c58:	e8 97 f9 ff ff       	call   0x4225f4
422c5d:	8b 45 fc             	mov    -0x4(%ebp),%eax
422c60:	8b 10                	mov    (%eax),%edx
422c62:	ff 52 24             	call   *0x24(%edx)
422c65:	85 c0                	test   %eax,%eax
422c67:	0f 95 c0             	setne  %al
422c6a:	8b 55 fc             	mov    -0x4(%ebp),%edx
422c6d:	88 42 22             	mov    %al,0x22(%edx)
422c70:	8b 55 fc             	mov    -0x4(%ebp),%edx
422c73:	8b 45 fc             	mov    -0x4(%ebp),%eax
422c76:	8b 08                	mov    (%eax),%ecx
422c78:	ff 51 10             	call   *0x10(%ecx)
422c7b:	5f                   	pop    %edi
422c7c:	5e                   	pop    %esi
422c7d:	5b                   	pop    %ebx
422c7e:	8b e5                	mov    %ebp,%esp
422c80:	5d                   	pop    %ebp
422c81:	c2 04 00             	ret    $0x4
422c84:	53                   	push   %ebx
422c85:	56                   	push   %esi
422c86:	57                   	push   %edi
422c87:	83 c4 9c             	add    $0xffffff9c,%esp
422c8a:	8b f1                	mov    %ecx,%esi
422c8c:	8b fa                	mov    %edx,%edi
422c8e:	8b d8                	mov    %eax,%ebx
422c90:	8b c3                	mov    %ebx,%eax
422c92:	e8 8d f6 ff ff       	call   0x422324
422c97:	85 f6                	test   %esi,%esi
422c99:	75 26                	jne    0x422cc1
422c9b:	8d 44 24 0e          	lea    0xe(%esp),%eax
422c9f:	33 c9                	xor    %ecx,%ecx
422ca1:	ba 54 00 00 00       	mov    $0x54,%edx
422ca6:	e8 dd ff fd ff       	call   0x402c88
422cab:	8d 44 24 0e          	lea    0xe(%esp),%eax
422caf:	50                   	push   %eax
422cb0:	6a 00                	push   $0x0
422cb2:	6a 00                	push   $0x0
422cb4:	33 c9                	xor    %ecx,%ecx
422cb6:	33 d2                	xor    %edx,%edx
422cb8:	8b c3                	mov    %ebx,%eax
422cba:	e8 35 f9 ff ff       	call   0x4225f4
422cbf:	eb 2a                	jmp    0x422ceb
422cc1:	8b d4                	mov    %esp,%edx
422cc3:	b9 0e 00 00 00       	mov    $0xe,%ecx
422cc8:	8b c7                	mov    %edi,%eax
422cca:	e8 41 2f ff ff       	call   0x415c10
422ccf:	66 81 3c 24 42 4d    	cmpw   $0x4d42,(%esp)
422cd5:	74 05                	je     0x422cdc
422cd7:	e8 28 b0 ff ff       	call   0x41dd04
422cdc:	54                   	push   %esp
422cdd:	8b ce                	mov    %esi,%ecx
422cdf:	83 e9 0e             	sub    $0xe,%ecx
422ce2:	8b d7                	mov    %edi,%edx
422ce4:	8b c3                	mov    %ebx,%eax
422ce6:	e8 31 fa ff ff       	call   0x42271c
422ceb:	83 c4 64             	add    $0x64,%esp
422cee:	5f                   	pop    %edi