42299b:	50                   	push   %eax
42299c:	e8 6f 9a fe ff       	call   0x40c410
4229a1:	8b 45 08             	mov    0x8(%ebp),%eax
4229a4:	83 c4 0c             	add    $0xc,%esp
4229a7:	8d 4d a8             	lea    -0x58(%ebp),%ecx
4229aa:	89 45 c8             	mov    %eax,-0x38(%ebp)
4229ad:	8b 06                	mov    (%esi),%eax
4229af:	51                   	push   %ecx
4229b0:	8b ce                	mov    %esi,%ecx
4229b2:	ff 50 64             	call   *0x64(%eax)
4229b5:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
4229b9:	74 30                	je     0x4229eb
4229bb:	e8 87 1d 00 00       	call   0x424747
4229c0:	8b 40 08             	mov    0x8(%eax),%eax
4229c3:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4229c6:	51                   	push   %ecx
4229c7:	ff 75 d0             	push   -0x30(%ebp)
4229ca:	50                   	push   %eax
4229cb:	ff 15 b8 98 43 00    	call   *0x4398b8
4229d1:	85 c0                	test   %eax,%eax
4229d3:	74 16                	je     0x4229eb
4229d5:	39 7d ec             	cmp    %edi,-0x14(%ebp)
4229d8:	74 11                	je     0x4229eb
4229da:	57                   	push   %edi
4229db:	ff 75 f4             	push   -0xc(%ebp)
4229de:	ff 75 f0             	push   -0x10(%ebp)
4229e1:	ff 75 d8             	push   -0x28(%ebp)
4229e4:	e8 62 85 ff ff       	call   0x41af4b
4229e9:	eb 02                	jmp    0x4229ed
4229eb:	33 c0                	xor    %eax,%eax
4229ed:	5f                   	pop    %edi
4229ee:	5e                   	pop    %esi
4229ef:	c9                   	leave
4229f0:	c2 08 00             	ret    $0x8
4229f3:	b8 84 79 42 00       	mov    $0x427984,%eax
4229f8:	e8 33 92 fe ff       	call   0x40bc30
4229fd:	53                   	push   %ebx
4229fe:	56                   	push   %esi
4229ff:	57                   	push   %edi
422a00:	8b 7d 08             	mov    0x8(%ebp),%edi
422a03:	8b f1                	mov    %ecx,%esi
422a05:	8d 4d 08             	lea    0x8(%ebp),%ecx
422a08:	89 be 8c 00 00 00    	mov    %edi,0x8c(%esi)
422a0e:	e8 79 bf ff ff       	call   0x41e98c
422a13:	33 db                	xor    %ebx,%ebx
422a15:	57                   	push   %edi
422a16:	8d 4d 08             	lea    0x8(%ebp),%ecx
422a19:	89 5d fc             	mov    %ebx,-0x4(%ebp)
422a1c:	e8 c8 c1 ff ff       	call   0x41ebe9
422a21:	85 c0                	test   %eax,%eax
422a23:	74 12                	je     0x422a37
422a25:	6a 0a                	push   $0xa
422a27:	53                   	push   %ebx
422a28:	ff 75 08             	push   0x8(%ebp)
422a2b:	8d 86 ac 00 00 00    	lea    0xac(%esi),%eax
422a31:	50                   	push   %eax
422a32:	e8 5d c2 ff ff       	call   0x41ec94
422a37:	e8 0b 1d 00 00       	call   0x424747
422a3c:	f6 40 18 08          	testb  $0x8,0x18(%eax)
422a40:	74 05                	je     0x422a47
422a42:	6a 01                	push   $0x1
422a44:	58                   	pop    %eax
422a45:	eb 07                	jmp    0x422a4e
422a47:	6a 08                	push   $0x8
422a49:	e8 8a 9f ff ff       	call   0x41c9d8
422a4e:	3b c3                	cmp    %ebx,%eax
422a50:	74 30                	je     0x422a82
422a52:	57                   	push   %edi
422a53:	8b ce                	mov    %esi,%ecx
422a55:	ff 75 0c             	push   0xc(%ebp)
422a58:	e8 13 ff ff ff       	call   0x422970
422a5d:	ff 75 14             	push   0x14(%ebp)
422a60:	8b ce                	mov    %esi,%ecx
422a62:	0f b7 ff             	movzwl %di,%edi
422a65:	53                   	push   %ebx
422a66:	57                   	push   %edi
422a67:	ff 75 10             	push   0x10(%ebp)
422a6a:	68 a0 6a 43 00       	push   $0x436aa0
422a6f:	ff 75 0c             	push   0xc(%ebp)
422a72:	ff b6 ac 00 00 00    	push   0xac(%esi)
422a78:	50                   	push   %eax
422a79:	e8 62 fd ff ff       	call   0x4227e0
422a7e:	85 c0                	test   %eax,%eax
422a80:	75 10                	jne    0x422a92
422a82:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
422a86:	8d 4d 08             	lea    0x8(%ebp),%ecx
422a89:	e8 12 c0 ff ff       	call   0x41eaa0
422a8e:	33 c0                	xor    %eax,%eax
422a90:	eb 3b                	jmp    0x422acd
422a92:	ff 76 1c             	push   0x1c(%esi)
422a95:	ff 15 cc 98 43 00    	call   *0x4398cc
422a9b:	57                   	push   %edi
422a9c:	8b ce                	mov    %esi,%ecx
422a9e:	89 46 44             	mov    %eax,0x44(%esi)
422aa1:	e8 9c f6 ff ff       	call   0x422142
422aa6:	39 5d 14             	cmp    %ebx,0x14(%ebp)
422aa9:	75 13                	jne    0x422abe
422aab:	6a 01                	push   $0x1
422aad:	6a 01                	push   $0x1
422aaf:	53                   	push   %ebx
422ab0:	53                   	push   %ebx
422ab1:	68 64 03 00 00       	push   $0x364
422ab6:	ff 76 1c             	push   0x1c(%esi)
422ab9:	e8 a2 8f ff ff       	call   0x41ba60
422abe:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
422ac2:	8d 4d 08             	lea    0x8(%ebp),%ecx
422ac5:	e8 d6 bf ff ff       	call   0x41eaa0
422aca:	6a 01                	push   $0x1
422acc:	58                   	pop    %eax
422acd:	8b 4d f4             	mov    -0xc(%ebp),%ecx
422ad0:	5f                   	pop    %edi
422ad1:	5e                   	pop    %esi
422ad2:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
422ad9:	5b                   	pop    %ebx
422ada:	c9                   	leave
422adb:	c2 10 00             	ret    $0x10
422ade:	56                   	push   %esi
422adf:	57                   	push   %edi
422ae0:	8b 7c 24 0c          	mov    0xc(%esp),%edi
422ae4:	8b f1                	mov    %ecx,%esi
422ae6:	85 ff                	test   %edi,%edi
422ae8:	75 1f                	jne    0x422b09
422aea:	8b 06                	mov    (%esi),%eax
422aec:	ff 90 c4 00 00 00    	call   *0xc4(%eax)
422af2:	85 c0                	test   %eax,%eax
422af4:	74 0c                	je     0x422b02
422af6:	8b 10                	mov    (%eax),%edx
422af8:	8b c8                	mov    %eax,%ecx
422afa:	ff 92 ac 00 00 00    	call   *0xac(%edx)
422b00:	8b f8                	mov    %eax,%edi
422b02:	85 ff                	test   %edi,%edi
422b04:	75 03                	jne    0x422b09
422b06:	8b 7e 44             	mov    0x44(%esi),%edi
422b09:	57                   	push   %edi
422b0a:	ff 76 1c             	push   0x1c(%esi)
422b0d:	ff 15 00 98 43 00    	call   *0x439800
422b13:	5f                   	pop    %edi
422b14:	5e                   	pop    %esi
422b15:	c2 04 00             	ret    $0x4
422b18:	55                   	push   %ebp
422b19:	8b ec                	mov    %esp,%ebp
422b1b:	83 ec 0c             	sub    $0xc,%esp
422b1e:	53                   	push   %ebx
422b1f:	8b d9                	mov    %ecx,%ebx
422b21:	56                   	push   %esi
422b22:	57                   	push   %edi
422b23:	8b 83 9c 00 00 00    	mov    0x9c(%ebx),%eax
422b29:	85 c0                	test   %eax,%eax
422b2b:	74 0b                	je     0x422b38
422b2d:	53                   	push   %ebx
422b2e:	ff d0                	call   *%eax
422b30:	85 c0                	test   %eax,%eax
422b32:	0f 84 e4 00 00 00    	je     0x422c1c
422b38:	8b 03                	mov    (%ebx),%eax
422b3a:	8b cb                	mov    %ebx,%ecx
422b3c:	89 45 f4             	mov    %eax,-0xc(%ebp)
422b3f:	ff 90 c4 00 00 00    	call   *0xc4(%eax)
422b45:	8b f8                	mov    %eax,%edi
422b47:	85 ff                	test   %edi,%edi
422b49:	74 13                	je     0x422b5e
422b4b:	8b 07                	mov    (%edi),%eax
422b4d:	53                   	push   %ebx
422b4e:	8b cf                	mov    %edi,%ecx
422b50:	ff 90 94 00 00 00    	call   *0x94(%eax)
422b56:	85 c0                	test   %eax,%eax
422b58:	0f 84 be 00 00 00    	je     0x422c1c
422b5e:	e8 e4 1b 00 00       	call   0x424747
422b63:	8b 70 04             	mov    0x4(%eax),%esi
422b66:	39 5e 1c             	cmp    %ebx,0x1c(%esi)
422b69:	75 51                	jne    0x422bbc
422b6b:	85 ff                	test   %edi,%edi
422b6d:	75 12                	jne    0x422b81
422b6f:	8b 06                	mov    (%esi),%eax
422b71:	8b ce                	mov    %esi,%ecx
422b73:	ff 90 90 00 00 00    	call   *0x90(%eax)
422b79:	85 c0                	test   %eax,%eax
422b7b:	0f 84 9b 00 00 00    	je     0x422c1c
422b81:	8b ce                	mov    %esi,%ecx
422b83:	e8 b4 e0 ff ff       	call   0x420c3c
422b88:	6a 00                	push   $0x0
422b8a:	8b ce                	mov    %esi,%ecx
422b8c:	e8 44 e3 ff ff       	call   0x420ed5
422b91:	e8 e2 14 00 00       	call   0x424078
422b96:	85 c0                	test   %eax,%eax
422b98:	75 08                	jne    0x422ba2
422b9a:	50                   	push   %eax
422b9b:	e8 e8 14 00 00       	call   0x424088
422ba0:	eb 7a                	jmp    0x422c1c
422ba2:	e8 a0 1b 00 00       	call   0x424747
422ba7:	80 78 14 00          	cmpb   $0x0,0x14(%eax)
422bab:	75 0f                	jne    0x422bbc
422bad:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
422bb1:	75 09                	jne    0x422bbc
422bb3:	6a 00                	push   $0x0
422bb5:	e8 83 2c 00 00       	call   0x42583d
422bba:	eb 60                	jmp    0x422c1c
422bbc:	85 ff                	test   %edi,%edi
422bbe:	74 54                	je     0x422c14
422bc0:	83 7f 48 00          	cmpl   $0x0,0x48(%edi)
422bc4:	74 4e                	je     0x422c14
422bc6:	8b 37                	mov    (%edi),%esi
422bc8:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
422bcc:	8b cf                	mov    %edi,%ecx
422bce:	ff 56 68             	call   *0x68(%esi)
422bd1:	85 c0                	test   %eax,%eax
422bd3:	89 45 fc             	mov    %eax,-0x4(%ebp)
422bd6:	74 23                	je     0x422bfb
422bd8:	8d 45 fc             	lea    -0x4(%ebp),%eax
422bdb:	8b cf                	mov    %edi,%ecx
422bdd:	50                   	push   %eax
422bde:	ff 56 6c             	call   *0x6c(%esi)
422be1:	8b c8                	mov    %eax,%ecx
422be3:	e8 66 8c ff ff       	call   0x41b84e
422be8:	3b c3                	cmp    %ebx,%eax
422bea:	75 08                	jne    0x422bf4
422bec:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
422bf0:	75 e6                	jne    0x422bd8
422bf2:	eb 07                	jmp    0x422bfb
422bf4:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
422bfb:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
422bff:	75 0a                	jne    0x422c0b
422c01:	8b cf                	mov    %edi,%ecx
422c03:	ff 96 84 00 00 00    	call   *0x84(%esi)
422c09:	eb 11                	jmp    0x422c1c
422c0b:	53                   	push   %ebx
422c0c:	8b cf                	mov    %edi,%ecx
422c0e:	ff 96 9c 00 00 00    	call   *0x9c(%esi)
422c14:	8b 45 f4             	mov    -0xc(%ebp),%eax
422c17:	8b cb                	mov    %ebx,%ecx
422c19:	ff 50 60             	call   *0x60(%eax)
422c1c:	5f                   	pop    %edi
422c1d:	5e                   	pop    %esi
422c1e:	5b                   	pop    %ebx
422c1f:	c9                   	leave
422c20:	c3                   	ret
422c21:	56                   	push   %esi
422c22:	57                   	push   %edi
422c23:	8b f1                	mov    %ecx,%esi
422c25:	e8 d2 0a 00 00       	call   0x4236fc
422c2a:	83 7e 44 00          	cmpl   $0x0,0x44(%esi)
422c2e:	74 1a                	je     0x422c4a
422c30:	ff 76 1c             	push   0x1c(%esi)
422c33:	8b 7e 44             	mov    0x44(%esi),%edi
422c36:	ff 15 cc 98 43 00    	call   *0x4398cc
422c3c:	3b c7                	cmp    %edi,%eax
422c3e:	74 0a                	je     0x422c4a
422c40:	57                   	push   %edi
422c41:	ff 76 1c             	push   0x1c(%esi)
422c44:	ff 15 00 98 43 00    	call   *0x439800
422c4a:	e8 f8 1a 00 00       	call   0x424747
422c4f:	8b 40 04             	mov    0x4(%eax),%eax
422c52:	39 70 1c             	cmp    %esi,0x1c(%eax)
422c55:	75 0f                	jne    0x422c66
422c57:	6a 00                	push   $0x0
422c59:	6a 02                	push   $0x2
422c5b:	6a 00                	push   $0x0
422c5d:	ff 76 1c             	push   0x1c(%esi)
422c60:	ff 15 b0 98 43 00    	call   *0x4398b0
422c66:	8b ce                	mov    %esi,%ecx
422c68:	e8 b0 7d ff ff       	call   0x41aa1d
422c6d:	5f                   	pop    %edi
422c6e:	5e                   	pop    %esi
422c6f:	c3                   	ret
422c70:	55                   	push   %ebp
422c71:	8b ec                	mov    %esp,%ebp
422c73:	56                   	push   %esi
422c74:	8b f1                	mov    %ecx,%esi
422c76:	e8 12 05 00 00       	call   0x42318d
422c7b:	85 c0                	test   %eax,%eax
422c7d:	74 17                	je     0x422c96
422c7f:	ff 75 14             	push   0x14(%ebp)
422c82:	8b 10                	mov    (%eax),%edx
422c84:	8b c8                	mov    %eax,%ecx
422c86:	ff 75 10             	push   0x10(%ebp)
422c89:	ff 75 0c             	push   0xc(%ebp)
422c8c:	ff 75 08             	push   0x8(%ebp)
422c8f:	ff 52 14             	call   *0x14(%edx)
422c92:	85 c0                	test   %eax,%eax
422c94:	75 3a                	jne    0x422cd0
422c96:	ff 75 14             	push   0x14(%ebp)
422c99:	8b ce                	mov    %esi,%ecx
422c9b:	ff 75 10             	push   0x10(%ebp)
422c9e:	ff 75 0c             	push   0xc(%ebp)
422ca1:	ff 75 08             	push   0x8(%ebp)
422ca4:	e8 b8 ac ff ff       	call   0x41d961
422ca9:	85 c0                	test   %eax,%eax
422cab:	75 23                	jne    0x422cd0
422cad:	e8 95 1a 00 00       	call   0x424747
422cb2:	8b 40 04             	mov    0x4(%eax),%eax
422cb5:	85 c0                	test   %eax,%eax
422cb7:	74 1c                	je     0x422cd5
422cb9:	ff 75 14             	push   0x14(%ebp)
422cbc:	8b 10                	mov    (%eax),%edx
422cbe:	8b c8                	mov    %eax,%ecx
422cc0:	ff 75 10             	push   0x10(%ebp)
422cc3:	ff 75 0c             	push   0xc(%ebp)
422cc6:	ff 75 08             	push   0x8(%ebp)
422cc9:	ff 52 14             	call   *0x14(%edx)
422ccc:	85 c0                	test   %eax,%eax
422cce:	74 05                	je     0x422cd5
422cd0:	6a 01                	push   $0x1
422cd2:	58                   	pop    %eax
422cd3:	eb 02                	jmp    0x422cd7
422cd5:	33 c0                	xor    %eax,%eax
422cd7:	5e                   	pop    %esi
422cd8:	5d                   	pop    %ebp
422cd9:	c2 10 00             	ret    $0x10
422cdc:	56                   	push   %esi
422cdd:	e8 ab 04 00 00       	call   0x42318d
422ce2:	8b f0                	mov    %eax,%esi
422ce4:	85 f6                	test   %esi,%esi
422ce6:	74 19                	je     0x422d01
422ce8:	e8 f3 74 ff ff       	call   0x41a1e0
422ced:	ff 70 0c             	push   0xc(%eax)
422cf0:	ff 70 08             	push   0x8(%eax)
422cf3:	68 14 01 00 00       	push   $0x114
422cf8:	ff 76 1c             	push   0x1c(%esi)
422cfb:	ff 15 88 99 43 00    	call   *0x439988
422d01:	5e                   	pop    %esi
422d02:	c2 0c 00             	ret    $0xc
422d05:	56                   	push   %esi
422d06:	e8 82 04 00 00       	call   0x42318d
422d0b:	8b f0                	mov    %eax,%esi
422d0d:	85 f6                	test   %esi,%esi
422d0f:	74 19                	je     0x422d2a
422d11:	e8 ca 74 ff ff       	call   0x41a1e0
422d16:	ff 70 0c             	push   0xc(%eax)
422d19:	ff 70 08             	push   0x8(%eax)
422d1c:	68 15 01 00 00       	push   $0x115
422d21:	ff 76 1c             	push   0x1c(%esi)
422d24:	ff 15 88 99 43 00    	call   *0x439988
422d2a:	5e                   	pop    %esi
422d2b:	c2 0c 00             	ret    $0xc
422d2e:	53                   	push   %ebx
422d2f:	8b 5c 24 08          	mov    0x8(%esp),%ebx
422d33:	56                   	push   %esi
422d34:	57                   	push   %edi
422d35:	ff 74 24 14          	push   0x14(%esp)
422d39:	8b f1                	mov    %ecx,%esi
422d3b:	53                   	push   %ebx
422d3c:	e8 09 94 ff ff       	call   0x41c14a
422d41:	8b 3e                	mov    (%esi),%edi
422d43:	8b ce                	mov    %esi,%ecx
422d45:	ff 97 f8 00 00 00    	call   *0xf8(%edi)
422d4b:	8b 4e 68             	mov    0x68(%esi),%ecx
422d4e:	85 c9                	test   %ecx,%ecx
422d50:	74 1a                	je     0x422d6c
422d52:	66 85 db             	test   %bx,%bx
422d55:	74 0d                	je     0x422d64
422d57:	c1 eb 10             	shr    $0x10,%ebx