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
422cb2:	a1 a8 dc 46 00       	mov    0x46dca8,%eax
422cb7:	e8 e0 b7 ff ff       	call   0x41e49c
422cbc:	8b c6                	mov    %esi,%eax
422cbe:	e8 11 fe ff ff       	call   0x422ad4
422cc3:	8d 45 ac             	lea    -0x54(%ebp),%eax
422cc6:	33 c9                	xor    %ecx,%ecx
422cc8:	ba 54 00 00 00       	mov    $0x54,%edx
422ccd:	e8 92 ff fd ff       	call   0x402c64
422cd2:	8d 45 ac             	lea    -0x54(%ebp),%eax
422cd5:	50                   	push   %eax
422cd6:	6a 54                	push   $0x54
422cd8:	53                   	push   %ebx
422cd9:	e8 ee 35 fe ff       	call   0x4062cc
422cde:	83 7d c0 00          	cmpl   $0x0,-0x40(%ebp)
422ce2:	75 05                	jne    0x422ce9
422ce4:	33 c0                	xor    %eax,%eax
422ce6:	89 45 c4             	mov    %eax,-0x3c(%ebp)
422ce9:	8d 45 ac             	lea    -0x54(%ebp),%eax
422cec:	50                   	push   %eax
422ced:	8b 4d 08             	mov    0x8(%ebp),%ecx
422cf0:	8b d3                	mov    %ebx,%edx
422cf2:	8b c6                	mov    %esi,%eax
422cf4:	e8 f7 f7 ff ff       	call   0x4224f0
422cf9:	8b 46 28             	mov    0x28(%esi),%eax
422cfc:	c6 40 70 00          	movb   $0x0,0x70(%eax)
422d00:	8b c6                	mov    %esi,%eax
422d02:	8b 10                	mov    (%eax),%edx
422d04:	ff 52 24             	call   *0x24(%edx)
422d07:	85 c0                	test   %eax,%eax
422d09:	0f 95 c0             	setne  %al
422d0c:	88 46 22             	mov    %al,0x22(%esi)
422d0f:	8b d6                	mov    %esi,%edx
422d11:	8b c6                	mov    %esi,%eax
422d13:	8b 08                	mov    (%eax),%ecx
422d15:	ff 51 10             	call   *0x10(%ecx)
422d18:	5e                   	pop    %esi
422d19:	5b                   	pop    %ebx
422d1a:	8b e5                	mov    %ebp,%esp
422d1c:	5d                   	pop    %ebp
422d1d:	c2 04 00             	ret    $0x4
422d20:	53                   	push   %ebx
422d21:	56                   	push   %esi
422d22:	8b da                	mov    %edx,%ebx
422d24:	8b f0                	mov    %eax,%esi
422d26:	8b c3                	mov    %ebx,%eax
422d28:	8b 10                	mov    (%eax),%edx
422d2a:	ff 12                	call   *(%edx)
422d2c:	50                   	push   %eax
422d2d:	8b c3                	mov    %ebx,%eax
422d2f:	e8 48 34 ff ff       	call   0x41617c
422d34:	59                   	pop    %ecx
422d35:	2b c8                	sub    %eax,%ecx
422d37:	8b d3                	mov    %ebx,%edx
422d39:	8b c6                	mov    %esi,%eax
422d3b:	e8 f4 06 00 00       	call   0x423434
422d40:	5e                   	pop    %esi
422d41:	5b                   	pop    %ebx
422d42:	c3                   	ret
422d43:	90                   	nop
422d44:	55                   	push   %ebp
422d45:	8b ec                	mov    %esp,%ebp
422d47:	51                   	push   %ecx
422d48:	53                   	push   %ebx
422d49:	8b d8                	mov    %eax,%ebx
422d4b:	51                   	push   %ecx
422d4c:	6a 02                	push   $0x2
422d4e:	a1 9c 21 41 00       	mov    0x41219c,%eax
422d53:	b1 01                	mov    $0x1,%cl
422d55:	87 ca                	xchg   %ecx,%edx
422d57:	e8 b0 3c ff ff       	call   0x416a0c
422d5c:	89 45 fc             	mov    %eax,-0x4(%ebp)
422d5f:	33 c0                	xor    %eax,%eax
422d61:	55                   	push   %ebp
422d62:	68 98 2d 42 00       	push   $0x422d98
422d67:	64 ff 30             	push   %fs:(%eax)
422d6a:	64 89 20             	mov    %esp,%fs:(%eax)
422d6d:	6a 00                	push   $0x0
422d6f:	8b 45 fc             	mov    -0x4(%ebp),%eax
422d72:	8b 10                	mov    (%eax),%edx
422d74:	ff 12                	call   *(%edx)
422d76:	8b c8                	mov    %eax,%ecx
422d78:	8b 55 fc             	mov    -0x4(%ebp),%edx
422d7b:	8b c3                	mov    %ebx,%eax
422d7d:	e8 4a 01 00 00       	call   0x422ecc
422d82:	33 c0                	xor    %eax,%eax
422d84:	5a                   	pop    %edx
422d85:	59                   	pop    %ecx
422d86:	59                   	pop    %ecx
422d87:	64 89 10             	mov    %edx,%fs:(%eax)
422d8a:	68 9f 2d 42 00       	push   $0x422d9f
422d8f:	8b 45 fc             	mov    -0x4(%ebp),%eax
422d92:	e8 b1 04 fe ff       	call   0x403248
422d97:	c3                   	ret
422d98:	e9 ff 0b fe ff       	jmp    0x40399c
422d9d:	eb f0                	jmp    0x422d8f
422d9f:	5b                   	pop    %ebx
422da0:	59                   	pop    %ecx
422da1:	5d                   	pop    %ebp
422da2:	c3                   	ret
422da3:	90                   	nop
422da4:	55                   	push   %ebp
422da5:	8b ec                	mov    %esp,%ebp
422da7:	83 c4 f8             	add    $0xfffffff8,%esp
422daa:	53                   	push   %ebx
422dab:	56                   	push   %esi
422dac:	57                   	push   %edi
422dad:	8b f1                	mov    %ecx,%esi
422daf:	8b da                	mov    %edx,%ebx
422db1:	89 45 fc             	mov    %eax,-0x4(%ebp)
422db4:	b2 01                	mov    $0x1,%dl
422db6:	a1 bc c2 41 00       	mov    0x41c2bc,%eax
422dbb:	e8 58 04 fe ff       	call   0x403218
422dc0:	89 45 f8             	mov    %eax,-0x8(%ebp)
422dc3:	33 c0                	xor    %eax,%eax
422dc5:	55                   	push   %ebp
422dc6:	68 2b 2e 42 00       	push   $0x422e2b
422dcb:	64 ff 30             	push   %fs:(%eax)
422dce:	64 89 20             	mov    %esp,%fs:(%eax)
422dd1:	8b 45 f8             	mov    -0x8(%ebp),%eax
422dd4:	89 58 08             	mov    %ebx,0x8(%eax)
422dd7:	8b 45 f8             	mov    -0x8(%ebp),%eax
422dda:	89 70 10             	mov    %esi,0x10(%eax)
422ddd:	8b 45 10             	mov    0x10(%ebp),%eax
422de0:	8b 55 f8             	mov    -0x8(%ebp),%edx
422de3:	8b f0                	mov    %eax,%esi
422de5:	8d 7a 18             	lea    0x18(%edx),%edi
422de8:	b9 15 00 00 00       	mov    $0x15,%ecx
422ded:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
422def:	8b 45 f8             	mov    -0x8(%ebp),%eax
422df2:	8a 55 0c             	mov    0xc(%ebp),%dl
422df5:	88 50 70             	mov    %dl,0x70(%eax)
422df8:	8b 45 f8             	mov    -0x8(%ebp),%eax
422dfb:	83 78 2c 00          	cmpl   $0x0,0x2c(%eax)
422dff:	74 0c                	je     0x422e0d
422e01:	8b 45 f8             	mov    -0x8(%ebp),%eax
422e04:	8b 40 08             	mov    0x8(%eax),%eax
422e07:	8b 55 f8             	mov    -0x8(%ebp),%edx
422e0a:	89 42 14             	mov    %eax,0x14(%edx)
422e0d:	8b 45 08             	mov    0x8(%ebp),%eax
422e10:	8b 15 20 21 41 00    	mov    0x412120,%edx
422e16:	e8 dd 05 fe ff       	call   0x4033f8
422e1b:	8b 55 f8             	mov    -0x8(%ebp),%edx
422e1e:	89 42 6c             	mov    %eax,0x6c(%edx)
422e21:	33 c0                	xor    %eax,%eax
422e23:	5a                   	pop    %edx
422e24:	59                   	pop    %ecx
422e25:	59                   	pop    %ecx
422e26:	64 89 10             	mov    %edx,%fs:(%eax)
422e29:	eb 17                	jmp    0x422e42
422e2b:	e9 b8 08 fe ff       	jmp    0x4036e8
422e30:	8b 45 f8             	mov    -0x8(%ebp),%eax
422e33:	e8 10 04 fe ff       	call   0x403248
422e38:	e8 bf 0b fe ff       	call   0x4039fc
422e3d:	e8 0e 0c fe ff       	call   0x403a50
422e42:	68 a8 e8 46 00       	push   $0x46e8a8
422e47:	e8 70 31 fe ff       	call   0x405fbc
422e4c:	33 d2                	xor    %edx,%edx
422e4e:	55                   	push   %ebp
422e4f:	68 8b 2e 42 00       	push   $0x422e8b
422e54:	64 ff 32             	push   %fs:(%edx)
422e57:	64 89 22             	mov    %esp,%fs:(%edx)
422e5a:	8b 45 fc             	mov    -0x4(%ebp),%eax
422e5d:	8b 40 28             	mov    0x28(%eax),%eax
422e60:	e8 53 ea ff ff       	call   0x4218b8
422e65:	8b 55 fc             	mov    -0x4(%ebp),%edx
422e68:	8b 45 f8             	mov    -0x8(%ebp),%eax
422e6b:	89 42 28             	mov    %eax,0x28(%edx)
422e6e:	e8 41 ea ff ff       	call   0x4218b4
422e73:	33 c0                	xor    %eax,%eax
422e75:	5a                   	pop    %edx
422e76:	59                   	pop    %ecx
422e77:	59                   	pop    %ecx
422e78:	64 89 10             	mov    %edx,%fs:(%eax)
422e7b:	68 92 2e 42 00       	push   $0x422e92
422e80:	68 a8 e8 46 00       	push   $0x46e8a8