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
422cef:	5e                   	pop    %esi
422cf0:	5b                   	pop    %ebx
422cf1:	c3                   	ret
422cf2:	8b c0                	mov    %eax,%eax
422cf4:	55                   	push   %ebp
422cf5:	8b ec                	mov    %esp,%ebp
422cf7:	83 c4 a8             	add    $0xffffffa8,%esp
422cfa:	53                   	push   %ebx
422cfb:	56                   	push   %esi
422cfc:	57                   	push   %edi
422cfd:	8b fa                	mov    %edx,%edi
422cff:	8b d8                	mov    %eax,%ebx
422d01:	8b 73 28             	mov    0x28(%ebx),%esi
422d04:	3b 7e 08             	cmp    0x8(%esi),%edi
422d07:	0f 84 a2 00 00 00    	je     0x422daf
422d0d:	8b c3                	mov    %ebx,%eax
422d0f:	e8 10 f6 ff ff       	call   0x422324
422d14:	8d 45 a8             	lea    -0x58(%ebp),%eax
422d17:	33 c9                	xor    %ecx,%ecx
422d19:	ba 54 00 00 00       	mov    $0x54,%edx
422d1e:	e8 65 ff fd ff       	call   0x402c88
422d23:	85 ff                	test   %edi,%edi
422d25:	74 0c                	je     0x422d33
422d27:	8d 45 a8             	lea    -0x58(%ebp),%eax
422d2a:	50                   	push   %eax
422d2b:	6a 54                	push   $0x54
422d2d:	57                   	push   %edi
422d2e:	e8 ad 35 fe ff       	call   0x4062e0
422d33:	83 7e 04 01          	cmpl   $0x1,0x4(%esi)
422d37:	75 0d                	jne    0x422d46
422d39:	8b 46 10             	mov    0x10(%esi),%eax
422d3c:	89 45 fc             	mov    %eax,-0x4(%ebp)
422d3f:	33 c0                	xor    %eax,%eax
422d41:	89 46 10             	mov    %eax,0x10(%esi)
422d44:	eb 1d                	jmp    0x422d63
422d46:	8b 46 10             	mov    0x10(%esi),%eax
422d49:	3b 05 8c 98 46 00    	cmp    0x46988c,%eax
422d4f:	75 0a                	jne    0x422d5b
422d51:	a1 8c 98 46 00       	mov    0x46988c,%eax
422d56:	89 45 fc             	mov    %eax,-0x4(%ebp)
422d59:	eb 08                	jmp    0x422d63
422d5b:	e8 dc eb ff ff       	call   0x42193c
422d60:	89 45 fc             	mov    %eax,-0x4(%ebp)
422d63:	33 c0                	xor    %eax,%eax
422d65:	55                   	push   %ebp
422d66:	68 8f 2d 42 00       	push   $0x422d8f
422d6b:	64 ff 30             	push   %fs:(%eax)
422d6e:	64 89 20             	mov    %esp,%fs:(%eax)
422d71:	8d 45 a8             	lea    -0x58(%ebp),%eax
422d74:	50                   	push   %eax
422d75:	6a 00                	push   $0x0
422d77:	6a 00                	push   $0x0
422d79:	8b 4d fc             	mov    -0x4(%ebp),%ecx
422d7c:	8b d7                	mov    %edi,%edx
422d7e:	8b c3                	mov    %ebx,%eax
422d80:	e8 6f f8 ff ff       	call   0x4225f4
422d85:	33 c0                	xor    %eax,%eax
422d87:	5a                   	pop    %edx
422d88:	59                   	pop    %ecx
422d89:	59                   	pop    %ecx
422d8a:	64 89 10             	mov    %edx,%fs:(%eax)
422d8d:	eb 17                	jmp    0x422da6
422d8f:	e9 78 09 fe ff       	jmp    0x40370c
422d94:	8b 45 fc             	mov    -0x4(%ebp),%eax
422d97:	e8 ec 8f ff ff       	call   0x41bd88
422d9c:	e8 7f 0c fe ff       	call   0x403a20
422da1:	e8 ce 0c fe ff       	call   0x403a74
422da6:	8b d3                	mov    %ebx,%edx
422da8:	8b c3                	mov    %ebx,%eax
422daa:	8b 08                	mov    (%eax),%ecx
422dac:	ff 51 10             	call   *0x10(%ecx)
422daf:	5f                   	pop    %edi
422db0:	5e                   	pop    %esi
422db1:	5b                   	pop    %ebx
422db2:	8b e5                	mov    %ebp,%esp
422db4:	5d                   	pop    %ebp
422db5:	c3                   	ret
422db6:	8b c0                	mov    %eax,%eax
422db8:	53                   	push   %ebx
422db9:	56                   	push   %esi
422dba:	57                   	push   %edi
422dbb:	55                   	push   %ebp
422dbc:	83 c4 ac             	add    $0xffffffac,%esp
422dbf:	8b da                	mov    %edx,%ebx
422dc1:	8b f0                	mov    %eax,%esi
422dc3:	8b c6                	mov    %esi,%eax
422dc5:	e8 16 f4 ff ff       	call   0x4221e0
422dca:	3a d8                	cmp    %al,%bl
422dcc:	0f 84 16 01 00 00    	je     0x422ee8
422dd2:	8b 7e 28             	mov    0x28(%esi),%edi
422dd5:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
422dd9:	75 21                	jne    0x422dfc
422ddb:	83 7f 14 00          	cmpl   $0x0,0x14(%edi)
422ddf:	75 1b                	jne    0x422dfc
422de1:	80 fb 01             	cmp    $0x1,%bl
422de4:	75 0a                	jne    0x422df0
422de6:	33 c0                	xor    %eax,%eax
422de8:	89 47 30             	mov    %eax,0x30(%edi)
422deb:	e9 f8 00 00 00       	jmp    0x422ee8
422df0:	c7 47 30 28 00 00 00 	movl   $0x28,0x30(%edi)
422df7:	e9 ec 00 00 00       	jmp    0x422ee8
422dfc:	84 db                	test   %bl,%bl
422dfe:	75 68                	jne    0x422e68
422e00:	8b 47 14             	mov    0x14(%edi),%eax
422e03:	85 c0                	test   %eax,%eax
422e05:	74 09                	je     0x422e10
422e07:	3b 47 08             	cmp    0x8(%edi),%eax
422e0a:	0f 84 d8 00 00 00    	je     0x422ee8
422e10:	8b c6                	mov    %esi,%eax
422e12:	e8 0d f5 ff ff       	call   0x422324
422e17:	8b c6                	mov    %esi,%eax
422e19:	e8 16 f6 ff ff       	call   0x422434
422e1e:	8b c6                	mov    %esi,%eax
422e20:	e8 8b f4 ff ff       	call   0x4222b0
422e25:	83 7f 04 01          	cmpl   $0x1,0x4(%edi)
422e29:	75 2a                	jne    0x422e55
422e2b:	8b 47 14             	mov    0x14(%edi),%eax
422e2e:	33 d2                	xor    %edx,%edx
422e30:	89 57 14             	mov    %edx,0x14(%edi)
422e33:	8b 6f 10             	mov    0x10(%edi),%ebp
422e36:	33 d2                	xor    %edx,%edx
422e38:	89 57 10             	mov    %edx,0x10(%edi)
422e3b:	8d 57 18             	lea    0x18(%edi),%edx
422e3e:	52                   	push   %edx
422e3f:	8a 57 70             	mov    0x70(%edi),%dl
422e42:	52                   	push   %edx
422e43:	6a 00                	push   $0x0
422e45:	8b cd                	mov    %ebp,%ecx
422e47:	8b d0                	mov    %eax,%edx
422e49:	8b c6                	mov    %esi,%eax
422e4b:	e8 a4 f7 ff ff       	call   0x4225f4
422e50:	e9 8a 00 00 00       	jmp    0x422edf
422e55:	8d 47 18             	lea    0x18(%edi),%eax
422e58:	50                   	push   %eax
422e59:	8b 4f 10             	mov    0x10(%edi),%ecx
422e5c:	8b 57 14             	mov    0x14(%edi),%edx
422e5f:	8b c6                	mov    %esi,%eax
422e61:	e8 da ee ff ff       	call   0x421d40
422e66:	eb 77                	jmp    0x422edf
422e68:	8b 47 08             	mov    0x8(%edi),%eax
422e6b:	85 c0                	test   %eax,%eax
422e6d:	74 05                	je     0x422e74
422e6f:	3b 47 14             	cmp    0x14(%edi),%eax
422e72:	75 74                	jne    0x422ee8
422e74:	8b c6                	mov    %esi,%eax
422e76:	e8 a9 f4 ff ff       	call   0x422324
422e7b:	8b c6                	mov    %esi,%eax
422e7d:	e8 b2 f5 ff ff       	call   0x422434
422e82:	56                   	push   %esi
422e83:	57                   	push   %edi
422e84:	8d 77 18             	lea    0x18(%edi),%esi
422e87:	8d 7c 24 08          	lea    0x8(%esp),%edi
422e8b:	b9 15 00 00 00       	mov    $0x15,%ecx
422e90:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
422e92:	5f                   	pop    %edi
422e93:	5e                   	pop    %esi
422e94:	33 c0                	xor    %eax,%eax
422e96:	89 44 24 18          	mov    %eax,0x18(%esp)
422e9a:	83 7f 04 01          	cmpl   $0x1,0x4(%edi)
422e9e:	0f 94 c3             	sete   %bl
422ea1:	84 db                	test   %bl,%bl
422ea3:	74 05                	je     0x422eaa
422ea5:	8b 6f 10             	mov    0x10(%edi),%ebp
422ea8:	eb 0a                	jmp    0x422eb4
422eaa:	8b 47 10             	mov    0x10(%edi),%eax
422ead:	e8 8a ea ff ff       	call   0x42193c
422eb2:	8b e8                	mov    %eax,%ebp
422eb4:	54                   	push   %esp
422eb5:	6a 00                	push   $0x0
422eb7:	8b cd                	mov    %ebp,%ecx
422eb9:	8b 57 10             	mov    0x10(%edi),%edx
422ebc:	8b 47 14             	mov    0x14(%edi),%eax
422ebf:	e8 14 e4 ff ff       	call   0x4212d8
422ec4:	84 db                	test   %bl,%bl
422ec6:	74 05                	je     0x422ecd