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
422d5a:	66 85 db             	test   %bx,%bx
422d5d:	75 05                	jne    0x422d64
422d5f:	6a 01                	push   $0x1
422d61:	58                   	pop    %eax
422d62:	eb 02                	jmp    0x422d66
422d64:	33 c0                	xor    %eax,%eax
422d66:	8b 11                	mov    (%ecx),%edx
422d68:	50                   	push   %eax
422d69:	ff 52 60             	call   *0x60(%edx)
422d6c:	e8 4b b2 ff ff       	call   0x41dfbc
422d71:	39 70 1c             	cmp    %esi,0x1c(%eax)
422d74:	75 2c                	jne    0x422da2
422d76:	8b ce                	mov    %esi,%ecx
422d78:	e8 10 04 00 00       	call   0x42318d
422d7d:	85 c0                	test   %eax,%eax
422d7f:	75 13                	jne    0x422d94
422d81:	8b ce                	mov    %esi,%ecx
422d83:	ff 97 c8 00 00 00    	call   *0xc8(%edi)
422d89:	8b c8                	mov    %eax,%ecx
422d8b:	e8 fd 03 00 00       	call   0x42318d
422d90:	85 c0                	test   %eax,%eax
422d92:	74 0e                	je     0x422da2
422d94:	8b 10                	mov    (%eax),%edx
422d96:	50                   	push   %eax
422d97:	50                   	push   %eax
422d98:	6a 00                	push   $0x0
422d9a:	8b c8                	mov    %eax,%ecx
422d9c:	ff 92 ec 00 00 00    	call   *0xec(%edx)
422da2:	5f                   	pop    %edi
422da3:	5e                   	pop    %esi
422da4:	33 c0                	xor    %eax,%eax
422da6:	5b                   	pop    %ebx
422da7:	c2 08 00             	ret    $0x8
422daa:	55                   	push   %ebp
422dab:	8b ec                	mov    %esp,%ebp
422dad:	53                   	push   %ebx
422dae:	56                   	push   %esi
422daf:	57                   	push   %edi
422db0:	8b d9                	mov    %ecx,%ebx
422db2:	e8 5e 74 ff ff       	call   0x41a215
422db7:	8b cb                	mov    %ebx,%ecx
422db9:	e8 1a a9 ff ff       	call   0x41d6d8
422dbe:	a9 00 00 00 40       	test   $0x40000000,%eax
422dc3:	74 04                	je     0x422dc9
422dc5:	8b f3                	mov    %ebx,%esi
422dc7:	eb 09                	jmp    0x422dd2
422dc9:	8b cb                	mov    %ebx,%ecx
422dcb:	e8 33 8b ff ff       	call   0x41b903
422dd0:	8b f0                	mov    %eax,%esi
422dd2:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
422dd6:	8b 7d 0c             	mov    0xc(%ebp),%edi
422dd9:	74 02                	je     0x422ddd
422ddb:	8b fb                	mov    %ebx,%edi
422ddd:	3b f7                	cmp    %edi,%esi
422ddf:	74 25                	je     0x422e06
422de1:	8b cf                	mov    %edi,%ecx
422de3:	e8 1b 8b ff ff       	call   0x41b903
422de8:	3b f0                	cmp    %eax,%esi
422dea:	75 16                	jne    0x422e02
422dec:	6a 00                	push   $0x0
422dee:	6a 40                	push   $0x40
422df0:	68 6d 03 00 00       	push   $0x36d
422df5:	ff 77 1c             	push   0x1c(%edi)
422df8:	ff 15 88 99 43 00    	call   *0x439988
422dfe:	85 c0                	test   %eax,%eax
422e00:	75 04                	jne    0x422e06
422e02:	33 c0                	xor    %eax,%eax
422e04:	eb 03                	jmp    0x422e09
422e06:	6a 01                	push   $0x1
422e08:	58                   	pop    %eax
422e09:	83 66 24 df          	andl   $0xffffffdf,0x24(%esi)
422e0d:	8b 4e 24             	mov    0x24(%esi),%ecx
422e10:	85 c0                	test   %eax,%eax
422e12:	74 06                	je     0x422e1a
422e14:	83 c9 20             	or     $0x20,%ecx
422e17:	89 4e 24             	mov    %ecx,0x24(%esi)
422e1a:	f7 d8                	neg    %eax
422e1c:	1b c0                	sbb    %eax,%eax
422e1e:	8b cb                	mov    %ebx,%ecx
422e20:	24 fc                	and    $0xfc,%al
422e22:	83 c0 08             	add    $0x8,%eax
422e25:	50                   	push   %eax
422e26:	e8 b3 f8 ff ff       	call   0x4226de
422e2b:	8b cb                	mov    %ebx,%ecx
422e2d:	e8 5b 03 00 00       	call   0x42318d
422e32:	8b f0                	mov    %eax,%esi
422e34:	85 f6                	test   %esi,%esi
422e36:	75 17                	jne    0x422e4f
422e38:	8b 03                	mov    (%ebx),%eax
422e3a:	8b cb                	mov    %ebx,%ecx
422e3c:	ff 90 c8 00 00 00    	call   *0xc8(%eax)
422e42:	8b c8                	mov    %eax,%ecx
422e44:	e8 44 03 00 00       	call   0x42318d
422e49:	8b f0                	mov    %eax,%esi
422e4b:	85 f6                	test   %esi,%esi
422e4d:	74 28                	je     0x422e77
422e4f:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
422e53:	74 14                	je     0x422e69
422e55:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
422e59:	75 0e                	jne    0x422e69
422e5b:	8b 06                	mov    (%esi),%eax
422e5d:	56                   	push   %esi
422e5e:	56                   	push   %esi
422e5f:	6a 01                	push   $0x1
422e61:	8b ce                	mov    %esi,%ecx
422e63:	ff 90 ec 00 00 00    	call   *0xec(%eax)
422e69:	8b 06                	mov    (%esi),%eax
422e6b:	53                   	push   %ebx
422e6c:	ff 75 08             	push   0x8(%ebp)
422e6f:	8b ce                	mov    %esi,%ecx
422e71:	ff 90 f0 00 00 00    	call   *0xf0(%eax)
422e77:	5f                   	pop    %edi
422e78:	5e                   	pop    %esi
422e79:	5b                   	pop    %ebx
422e7a:	5d                   	pop    %ebp
422e7b:	c2 0c 00             	ret    $0xc
422e7e:	56                   	push   %esi
422e7f:	8b f1                	mov    %ecx,%esi
422e81:	57                   	push   %edi
422e82:	f6 46 24 20          	testb  $0x20,0x24(%esi)
422e86:	74 05                	je     0x422e8d
422e88:	6a 01                	push   $0x1
422e8a:	5f                   	pop    %edi
422e8b:	eb 04                	jmp    0x422e91
422e8d:	8b 7c 24 0c          	mov    0xc(%esp),%edi
422e91:	8b ce                	mov    %esi,%ecx
422e93:	e8 79 a9 ff ff       	call   0x41d811
422e98:	85 c0                	test   %eax,%eax
422e9a:	75 02                	jne    0x422e9e
422e9c:	33 ff                	xor    %edi,%edi
422e9e:	8b 06                	mov    (%esi),%eax
422ea0:	6a 00                	push   $0x0
422ea2:	57                   	push   %edi
422ea3:	68 86 00 00 00       	push   $0x86
422ea8:	8b ce                	mov    %esi,%ecx
422eaa:	ff 90 a8 00 00 00    	call   *0xa8(%eax)
422eb0:	5f                   	pop    %edi
422eb1:	5e                   	pop    %esi
422eb2:	c2 04 00             	ret    $0x4
422eb5:	56                   	push   %esi
422eb6:	57                   	push   %edi
422eb7:	8b f9                	mov    %ecx,%edi
422eb9:	e8 45 8a ff ff       	call   0x41b903
422ebe:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
422ec2:	81 e1 f0 ff 00 00    	and    $0xfff0,%ecx
422ec8:	83 78 50 00          	cmpl   $0x0,0x50(%eax)
422ecc:	74 13                	je     0x422ee1
422ece:	b8 10 f0 00 00       	mov    $0xf010,%eax
422ed3:	3b c8                	cmp    %eax,%ecx
422ed5:	77 16                	ja     0x422eed
422ed7:	74 3b                	je     0x422f14
422ed9:	81 f9 00 f0 00 00    	cmp    $0xf000,%ecx
422edf:	74 33                	je     0x422f14
422ee1:	8b cf                	mov    %edi,%ecx
422ee3:	e8 2d 73 ff ff       	call   0x41a215
422ee8:	5f                   	pop    %edi
422ee9:	5e                   	pop    %esi
422eea:	c2 08 00             	ret    $0x8
422eed:	8b c1                	mov    %ecx,%eax
422eef:	2d 20 f0 00 00       	sub    $0xf020,%eax
422ef4:	74 1e                	je     0x422f14
422ef6:	6a 10                	push   $0x10
422ef8:	5a                   	pop    %edx
422ef9:	2b c2                	sub    %edx,%eax
422efb:	74 17                	je     0x422f14
422efd:	2b c2                	sub    %edx,%eax
422eff:	74 13                	je     0x422f14
422f01:	2b c2                	sub    %edx,%eax
422f03:	74 0f                	je     0x422f14
422f05:	2b c2                	sub    %edx,%eax
422f07:	74 0b                	je     0x422f14
422f09:	2d c0 00 00 00       	sub    $0xc0,%eax
422f0e:	74 04                	je     0x422f14
422f10:	2b c2                	sub    %edx,%eax
422f12:	75 cd                	jne    0x422ee1