423cf6:	8b 44 24 28          	mov    0x28(%esp),%eax
423cfa:	8b 58 08             	mov    0x8(%eax),%ebx
423cfd:	8b 70 0c             	mov    0xc(%eax),%esi
423d00:	83 fe ff             	cmp    $0xffffffff,%esi
423d03:	74 3a                	je     0x423d3f
423d05:	83 7c 24 2c ff       	cmpl   $0xffffffff,0x2c(%esp)
423d0a:	74 06                	je     0x423d12
423d0c:	3b 74 24 2c          	cmp    0x2c(%esp),%esi
423d10:	76 2d                	jbe    0x423d3f
423d12:	8d 34 76             	lea    (%esi,%esi,2),%esi
423d15:	8b 0c b3             	mov    (%ebx,%esi,4),%ecx
423d18:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
423d1c:	89 48 0c             	mov    %ecx,0xc(%eax)
423d1f:	83 7c b3 04 00       	cmpl   $0x0,0x4(%ebx,%esi,4)
423d24:	75 17                	jne    0x423d3d
423d26:	68 01 01 00 00       	push   $0x101
423d2b:	8b 44 b3 08          	mov    0x8(%ebx,%esi,4),%eax
423d2f:	e8 49 00 00 00       	call   0x423d7d
423d34:	8b 44 b3 08          	mov    0x8(%ebx,%esi,4),%eax
423d38:	e8 5f 00 00 00       	call   0x423d9c
423d3d:	eb b7                	jmp    0x423cf6
423d3f:	8b 4c 24 04          	mov    0x4(%esp),%ecx
423d43:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
423d4a:	83 c4 18             	add    $0x18,%esp
423d4d:	5f                   	pop    %edi
423d4e:	5e                   	pop    %esi
423d4f:	5b                   	pop    %ebx
423d50:	c3                   	ret
423d51:	33 c0                	xor    %eax,%eax
423d53:	64 8b 0d 00 00 00 00 	mov    %fs:0x0,%ecx
423d5a:	81 79 04 88 3c 42 00 	cmpl   $0x423c88,0x4(%ecx)
423d61:	75 10                	jne    0x423d73
423d63:	8b 51 0c             	mov    0xc(%ecx),%edx
423d66:	8b 52 0c             	mov    0xc(%edx),%edx
423d69:	39 51 08             	cmp    %edx,0x8(%ecx)
423d6c:	75 05                	jne    0x423d73
423d6e:	b8 01 00 00 00       	mov    $0x1,%eax
423d73:	c3                   	ret
423d74:	53                   	push   %ebx
423d75:	51                   	push   %ecx
423d76:	bb 0c ff 42 00       	mov    $0x42ff0c,%ebx
423d7b:	eb 0b                	jmp    0x423d88
423d7d:	53                   	push   %ebx
423d7e:	51                   	push   %ecx
423d7f:	bb 0c ff 42 00       	mov    $0x42ff0c,%ebx
423d84:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
423d88:	89 4b 08             	mov    %ecx,0x8(%ebx)
423d8b:	89 43 04             	mov    %eax,0x4(%ebx)
423d8e:	89 6b 0c             	mov    %ebp,0xc(%ebx)
423d91:	55                   	push   %ebp
423d92:	51                   	push   %ecx
423d93:	50                   	push   %eax
423d94:	58                   	pop    %eax
423d95:	59                   	pop    %ecx
423d96:	5d                   	pop    %ebp
423d97:	59                   	pop    %ecx
423d98:	5b                   	pop    %ebx
423d99:	c2 04 00             	ret    $0x4
423d9c:	ff d0                	call   *%eax
423d9e:	c3                   	ret
423d9f:	8b ff                	mov    %edi,%edi
423da1:	55                   	push   %ebp
423da2:	8b ec                	mov    %esp,%ebp
423da4:	8b 45 08             	mov    0x8(%ebp),%eax
423da7:	a3 44 f6 44 00       	mov    %eax,0x44f644
423dac:	5d                   	pop    %ebp
423dad:	c3                   	ret
423dae:	6a 10                	push   $0x10
423db0:	68 10 da 42 00       	push   $0x42da10
423db5:	e8 d2 b7 ff ff       	call   0x41f58c
423dba:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
423dbe:	ff 75 0c             	push   0xc(%ebp)
423dc1:	ff 75 08             	push   0x8(%ebp)
423dc4:	ff 15 64 a1 42 00    	call   *0x42a164
423dca:	89 45 e4             	mov    %eax,-0x1c(%ebp)
423dcd:	eb 2f                	jmp    0x423dfe
423dcf:	8b 45 ec             	mov    -0x14(%ebp),%eax
423dd2:	8b 00                	mov    (%eax),%eax
423dd4:	8b 00                	mov    (%eax),%eax
423dd6:	89 45 e0             	mov    %eax,-0x20(%ebp)
423dd9:	33 c9                	xor    %ecx,%ecx
423ddb:	3d 17 00 00 c0       	cmp    $0xc0000017,%eax
423de0:	0f 94 c1             	sete   %cl
423de3:	8b c1                	mov    %ecx,%eax
423de5:	c3                   	ret
423de6:	8b 65 e8             	mov    -0x18(%ebp),%esp
423de9:	81 7d e0 17 00 00 c0 	cmpl   $0xc0000017,-0x20(%ebp)
423df0:	75 08                	jne    0x423dfa
423df2:	6a 08                	push   $0x8
423df4:	ff 15 20 a2 42 00    	call   *0x42a220
423dfa:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
423dfe:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
423e05:	8b 45 e4             	mov    -0x1c(%ebp),%eax
423e08:	e8 c4 b7 ff ff       	call   0x41f5d1
423e0d:	c3                   	ret
423e0e:	cc                   	int3
423e0f:	cc                   	int3
423e10:	8b ff                	mov    %edi,%edi
423e12:	55                   	push   %ebp
423e13:	8b ec                	mov    %esp,%ebp
423e15:	8b 4d 08             	mov    0x8(%ebp),%ecx
423e18:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
423e1d:	66 39 01             	cmp    %ax,(%ecx)
423e20:	74 04                	je     0x423e26
423e22:	33 c0                	xor    %eax,%eax
423e24:	5d                   	pop    %ebp
423e25:	c3                   	ret
423e26:	8b 41 3c             	mov    0x3c(%ecx),%eax
423e29:	03 c1                	add    %ecx,%eax
423e2b:	81 38 50 45 00 00    	cmpl   $0x4550,(%eax)
423e31:	75 ef                	jne    0x423e22
423e33:	33 d2                	xor    %edx,%edx
423e35:	b9 0b 01 00 00       	mov    $0x10b,%ecx
423e3a:	66 39 48 18          	cmp    %cx,0x18(%eax)
423e3e:	0f 94 c2             	sete   %dl
423e41:	8b c2                	mov    %edx,%eax
423e43:	5d                   	pop    %ebp
423e44:	c3                   	ret
423e45:	cc                   	int3
423e46:	cc                   	int3
423e47:	cc                   	int3
423e48:	cc                   	int3
423e49:	cc                   	int3
423e4a:	cc                   	int3
423e4b:	cc                   	int3
423e4c:	cc                   	int3
423e4d:	cc                   	int3
423e4e:	cc                   	int3
423e4f:	cc                   	int3
423e50:	8b ff                	mov    %edi,%edi
423e52:	55                   	push   %ebp
423e53:	8b ec                	mov    %esp,%ebp
423e55:	8b 45 08             	mov    0x8(%ebp),%eax
423e58:	8b 48 3c             	mov    0x3c(%eax),%ecx
423e5b:	03 c8                	add    %eax,%ecx
423e5d:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
423e61:	53                   	push   %ebx
423e62:	56                   	push   %esi
423e63:	0f b7 71 06          	movzwl 0x6(%ecx),%esi
423e67:	33 d2                	xor    %edx,%edx
423e69:	57                   	push   %edi
423e6a:	8d 44 08 18          	lea    0x18(%eax,%ecx,1),%eax
423e6e:	85 f6                	test   %esi,%esi
423e70:	76 1b                	jbe    0x423e8d
423e72:	8b 7d 0c             	mov    0xc(%ebp),%edi
423e75:	8b 48 0c             	mov    0xc(%eax),%ecx
423e78:	3b f9                	cmp    %ecx,%edi
423e7a:	72 09                	jb     0x423e85
423e7c:	8b 58 08             	mov    0x8(%eax),%ebx
423e7f:	03 d9                	add    %ecx,%ebx
423e81:	3b fb                	cmp    %ebx,%edi
423e83:	72 0a                	jb     0x423e8f
423e85:	42                   	inc    %edx
423e86:	83 c0 28             	add    $0x28,%eax
423e89:	3b d6                	cmp    %esi,%edx
423e8b:	72 e8                	jb     0x423e75
423e8d:	33 c0                	xor    %eax,%eax
423e8f:	5f                   	pop    %edi
423e90:	5e                   	pop    %esi
423e91:	5b                   	pop    %ebx
423e92:	5d                   	pop    %ebp
423e93:	c3                   	ret
423e94:	cc                   	int3
423e95:	cc                   	int3
423e96:	cc                   	int3
423e97:	cc                   	int3
423e98:	cc                   	int3
423e99:	cc                   	int3
423e9a:	cc                   	int3
423e9b:	cc                   	int3
423e9c:	cc                   	int3
423e9d:	cc                   	int3
423e9e:	cc                   	int3
423e9f:	cc                   	int3
423ea0:	8b ff                	mov    %edi,%edi
423ea2:	55                   	push   %ebp
423ea3:	8b ec                	mov    %esp,%ebp
423ea5:	6a fe                	push   $0xfffffffe
423ea7:	68 30 da 42 00       	push   $0x42da30
423eac:	68 f0 f5 41 00       	push   $0x41f5f0
423eb1:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
423eb7:	50                   	push   %eax
423eb8:	83 ec 08             	sub    $0x8,%esp
423ebb:	53                   	push   %ebx
423ebc:	56                   	push   %esi
423ebd:	57                   	push   %edi
423ebe:	a1 98 f2 42 00       	mov    0x42f298,%eax
423ec3:	31 45 f8             	xor    %eax,-0x8(%ebp)
423ec6:	33 c5                	xor    %ebp,%eax
423ec8:	50                   	push   %eax
423ec9:	8d 45 f0             	lea    -0x10(%ebp),%eax
423ecc:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
423ed2:	89 65 e8             	mov    %esp,-0x18(%ebp)
423ed5:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
423edc:	68 00 00 40 00       	push   $0x400000
423ee1:	e8 2a ff ff ff       	call   0x423e10
423ee6:	83 c4 04             	add    $0x4,%esp
423ee9:	85 c0                	test   %eax,%eax
423eeb:	74 55                	je     0x423f42
423eed:	8b 45 08             	mov    0x8(%ebp),%eax
423ef0:	2d 00 00 40 00       	sub    $0x400000,%eax
423ef5:	50                   	push   %eax
423ef6:	68 00 00 40 00       	push   $0x400000
423efb:	e8 50 ff ff ff       	call   0x423e50
423f00:	83 c4 08             	add    $0x8,%esp
423f03:	85 c0                	test   %eax,%eax
423f05:	74 3b                	je     0x423f42
423f07:	8b 40 24             	mov    0x24(%eax),%eax
423f0a:	c1 e8 1f             	shr    $0x1f,%eax
423f0d:	f7 d0                	not    %eax
423f0f:	83 e0 01             	and    $0x1,%eax
423f12:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
423f19:	8b 4d f0             	mov    -0x10(%ebp),%ecx
423f1c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
423f23:	59                   	pop    %ecx
423f24:	5f                   	pop    %edi
423f25:	5e                   	pop    %esi
423f26:	5b                   	pop    %ebx
423f27:	8b e5                	mov    %ebp,%esp
423f29:	5d                   	pop    %ebp
423f2a:	c3                   	ret
423f2b:	8b 45 ec             	mov    -0x14(%ebp),%eax
423f2e:	8b 08                	mov    (%eax),%ecx
423f30:	8b 01                	mov    (%ecx),%eax
423f32:	33 d2                	xor    %edx,%edx
423f34:	3d 05 00 00 c0       	cmp    $0xc0000005,%eax
423f39:	0f 94 c2             	sete   %dl
423f3c:	8b c2                	mov    %edx,%eax
423f3e:	c3                   	ret
423f3f:	8b 65 e8             	mov    -0x18(%ebp),%esp
423f42:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
423f49:	33 c0                	xor    %eax,%eax
423f4b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
423f4e:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
423f55:	59                   	pop    %ecx
423f56:	5f                   	pop    %edi
423f57:	5e                   	pop    %esi
423f58:	5b                   	pop    %ebx
423f59:	8b e5                	mov    %ebp,%esp
423f5b:	5d                   	pop    %ebp
423f5c:	c3                   	ret
423f5d:	8b ff                	mov    %edi,%edi
423f5f:	55                   	push   %ebp
423f60:	8b ec                	mov    %esp,%ebp
423f62:	51                   	push   %ecx
423f63:	51                   	push   %ecx
423f64:	8b 45 0c             	mov    0xc(%ebp),%eax
423f67:	56                   	push   %esi
423f68:	8b 75 08             	mov    0x8(%ebp),%esi
423f6b:	89 45 f8             	mov    %eax,-0x8(%ebp)
423f6e:	8b 45 10             	mov    0x10(%ebp),%eax
423f71:	57                   	push   %edi
423f72:	56                   	push   %esi
423f73:	89 45 fc             	mov    %eax,-0x4(%ebp)
423f76:	e8 54 24 00 00       	call   0x4263cf
423f7b:	83 cf ff             	or     $0xffffffff,%edi
423f7e:	59                   	pop    %ecx
423f7f:	3b c7                	cmp    %edi,%eax
423f81:	75 11                	jne    0x423f94
423f83:	e8 16 a9 ff ff       	call   0x41e89e
423f88:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
423f8e:	8b c7                	mov    %edi,%eax
423f90:	8b d7                	mov    %edi,%edx
423f92:	eb 4a                	jmp    0x423fde
423f94:	ff 75 14             	push   0x14(%ebp)
423f97:	8d 4d fc             	lea    -0x4(%ebp),%ecx
423f9a:	51                   	push   %ecx
423f9b:	ff 75 f8             	push   -0x8(%ebp)
423f9e:	50                   	push   %eax
423f9f:	ff 15 e4 a1 42 00    	call   *0x42a1e4
423fa5:	89 45 f8             	mov    %eax,-0x8(%ebp)
423fa8:	3b c7                	cmp    %edi,%eax
423faa:	75 13                	jne    0x423fbf
423fac:	ff 15 24 a2 42 00    	call   *0x42a224
423fb2:	85 c0                	test   %eax,%eax
423fb4:	74 09                	je     0x423fbf
423fb6:	50                   	push   %eax
423fb7:	e8 08 a9 ff ff       	call   0x41e8c4
423fbc:	59                   	pop    %ecx
423fbd:	eb cf                	jmp    0x423f8e
423fbf:	8b c6                	mov    %esi,%eax
423fc1:	c1 f8 05             	sar    $0x5,%eax
423fc4:	8b 04 85 a0 f7 44 00 	mov    0x44f7a0(,%eax,4),%eax
423fcb:	83 e6 1f             	and    $0x1f,%esi
423fce:	c1 e6 06             	shl    $0x6,%esi
423fd1:	8d 44 30 04          	lea    0x4(%eax,%esi,1),%eax
423fd5:	80 20 fd             	andb   $0xfd,(%eax)
423fd8:	8b 45 f8             	mov    -0x8(%ebp),%eax
423fdb:	8b 55 fc             	mov    -0x4(%ebp),%edx
423fde:	5f                   	pop    %edi
423fdf:	5e                   	pop    %esi
423fe0:	c9                   	leave
423fe1:	c3                   	ret
423fe2:	6a 14                	push   $0x14
423fe4:	68 50 da 42 00       	push   $0x42da50
423fe9:	e8 9e b5 ff ff       	call   0x41f58c
423fee:	83 ce ff             	or     $0xffffffff,%esi
423ff1:	89 75 dc             	mov    %esi,-0x24(%ebp)
423ff4:	89 75 e0             	mov    %esi,-0x20(%ebp)
423ff7:	8b 45 08             	mov    0x8(%ebp),%eax
423ffa:	83 f8 fe             	cmp    $0xfffffffe,%eax
423ffd:	75 1c                	jne    0x42401b
423fff:	e8 ad a8 ff ff       	call   0x41e8b1
424004:	83 20 00             	andl   $0x0,(%eax)
424007:	e8 92 a8 ff ff       	call   0x41e89e
42400c:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
424012:	8b c6                	mov    %esi,%eax
424014:	8b d6                	mov    %esi,%edx
424016:	e9 d0 00 00 00       	jmp    0x4240eb
42401b:	33 ff                	xor    %edi,%edi
42401d:	3b c7                	cmp    %edi,%eax
42401f:	7c 08                	jl     0x424029
424021:	3b 05 98 f7 44 00    	cmp    0x44f798,%eax
424027:	72 21                	jb     0x42404a
424029:	e8 83 a8 ff ff       	call   0x41e8b1
42402e:	89 38                	mov    %edi,(%eax)
424030:	e8 69 a8 ff ff       	call   0x41e89e
424035:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
42403b:	57                   	push   %edi
42403c:	57                   	push   %edi
42403d:	57                   	push   %edi
42403e:	57                   	push   %edi
42403f:	57                   	push   %edi
424040:	e8 ae bb ff ff       	call   0x41fbf3
424045:	83 c4 14             	add    $0x14,%esp
424048:	eb c8                	jmp    0x424012
42404a:	8b c8                	mov    %eax,%ecx
42404c:	c1 f9 05             	sar    $0x5,%ecx
42404f:	8d 1c 8d a0 f7 44 00 	lea    0x44f7a0(,%ecx,4),%ebx
424056:	8b f0                	mov    %eax,%esi
424058:	83 e6 1f             	and    $0x1f,%esi
42405b:	c1 e6 06             	shl    $0x6,%esi
42405e:	8b 0b                	mov    (%ebx),%ecx
424060:	0f be 4c 31 04       	movsbl 0x4(%ecx,%esi,1),%ecx
424065:	83 e1 01             	and    $0x1,%ecx
424068:	75 26                	jne    0x424090
42406a:	e8 42 a8 ff ff       	call   0x41e8b1
42406f:	89 38                	mov    %edi,(%eax)
424071:	e8 28 a8 ff ff       	call   0x41e89e
424076:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
42407c:	57                   	push   %edi
42407d:	57                   	push   %edi
42407e:	57                   	push   %edi
42407f:	57                   	push   %edi
424080:	57                   	push   %edi
424081:	e8 6d bb ff ff       	call   0x41fbf3
424086:	83 c4 14             	add    $0x14,%esp
424089:	83 ca ff             	or     $0xffffffff,%edx
42408c:	8b c2                	mov    %edx,%eax
42408e:	eb 5b                	jmp    0x4240eb