417daa:	5d                   	pop    %ebp
417dab:	c3                   	ret
417dac:	81 7d 0c 00 00 f0 ff 	cmpl   $0xfff00000,0xc(%ebp)
417db3:	75 09                	jne    0x417dbe
417db5:	85 c0                	test   %eax,%eax
417db7:	75 05                	jne    0x417dbe
417db9:	6a 02                	push   $0x2
417dbb:	58                   	pop    %eax
417dbc:	5d                   	pop    %ebp
417dbd:	c3                   	ret
417dbe:	66 8b 4d 0e          	mov    0xe(%ebp),%cx
417dc2:	ba f8 7f 00 00       	mov    $0x7ff8,%edx
417dc7:	66 23 ca             	and    %dx,%cx
417dca:	66 3b ca             	cmp    %dx,%cx
417dcd:	75 04                	jne    0x417dd3
417dcf:	6a 03                	push   $0x3
417dd1:	eb e8                	jmp    0x417dbb
417dd3:	ba f0 7f 00 00       	mov    $0x7ff0,%edx
417dd8:	66 3b ca             	cmp    %dx,%cx
417ddb:	75 11                	jne    0x417dee
417ddd:	f7 45 0c ff ff 07 00 	testl  $0x7ffff,0xc(%ebp)
417de4:	75 04                	jne    0x417dea
417de6:	85 c0                	test   %eax,%eax
417de8:	74 04                	je     0x417dee
417dea:	6a 04                	push   $0x4
417dec:	eb cd                	jmp    0x417dbb
417dee:	33 c0                	xor    %eax,%eax
417df0:	5d                   	pop    %ebp
417df1:	c3                   	ret
417df2:	8b ff                	mov    %edi,%edi
417df4:	55                   	push   %ebp
417df5:	8b ec                	mov    %esp,%ebp
417df7:	66 8b 4d 0e          	mov    0xe(%ebp),%cx
417dfb:	ba f0 7f 00 00       	mov    $0x7ff0,%edx
417e00:	66 8b c1             	mov    %cx,%ax
417e03:	66 23 c2             	and    %dx,%ax
417e06:	66 3b c2             	cmp    %dx,%ax
417e09:	75 33                	jne    0x417e3e
417e0b:	dd 45 08             	fldl   0x8(%ebp)
417e0e:	51                   	push   %ecx
417e0f:	51                   	push   %ecx
417e10:	dd 1c 24             	fstpl  (%esp)
417e13:	e8 7c ff ff ff       	call   0x417d94
417e18:	59                   	pop    %ecx
417e19:	59                   	pop    %ecx
417e1a:	83 e8 01             	sub    $0x1,%eax
417e1d:	74 18                	je     0x417e37
417e1f:	83 e8 01             	sub    $0x1,%eax
417e22:	74 0e                	je     0x417e32
417e24:	83 e8 01             	sub    $0x1,%eax
417e27:	74 05                	je     0x417e2e
417e29:	33 c0                	xor    %eax,%eax
417e2b:	40                   	inc    %eax
417e2c:	5d                   	pop    %ebp
417e2d:	c3                   	ret
417e2e:	6a 02                	push   $0x2
417e30:	eb 02                	jmp    0x417e34
417e32:	6a 04                	push   $0x4
417e34:	58                   	pop    %eax
417e35:	5d                   	pop    %ebp
417e36:	c3                   	ret
417e37:	b8 00 02 00 00       	mov    $0x200,%eax
417e3c:	5d                   	pop    %ebp
417e3d:	c3                   	ret
417e3e:	0f b7 c9             	movzwl %cx,%ecx
417e41:	81 e1 00 80 00 00    	and    $0x8000,%ecx
417e47:	66 85 c0             	test   %ax,%ax
417e4a:	75 1e                	jne    0x417e6a
417e4c:	f7 45 0c ff ff 0f 00 	testl  $0xfffff,0xc(%ebp)
417e53:	75 06                	jne    0x417e5b
417e55:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
417e59:	74 0f                	je     0x417e6a
417e5b:	f7 d9                	neg    %ecx
417e5d:	1b c9                	sbb    %ecx,%ecx
417e5f:	83 e1 90             	and    $0xffffff90,%ecx
417e62:	8d 81 80 00 00 00    	lea    0x80(%ecx),%eax
417e68:	5d                   	pop    %ebp
417e69:	c3                   	ret
417e6a:	dd 45 08             	fldl   0x8(%ebp)
417e6d:	d9 ee                	fldz
417e6f:	da e9                	fucompp
417e71:	df e0                	fnstsw %ax
417e73:	f6 c4 44             	test   $0x44,%ah
417e76:	7a 0c                	jp     0x417e84
417e78:	f7 d9                	neg    %ecx
417e7a:	1b c9                	sbb    %ecx,%ecx
417e7c:	83 e1 e0             	and    $0xffffffe0,%ecx
417e7f:	8d 41 40             	lea    0x40(%ecx),%eax
417e82:	5d                   	pop    %ebp
417e83:	c3                   	ret
417e84:	f7 d9                	neg    %ecx
417e86:	1b c9                	sbb    %ecx,%ecx
417e88:	81 e1 08 ff ff ff    	and    $0xffffff08,%ecx
417e8e:	8d 81 00 01 00 00    	lea    0x100(%ecx),%eax
417e94:	5d                   	pop    %ebp
417e95:	c3                   	ret
417e96:	cc                   	int3
417e97:	cc                   	int3
417e98:	cc                   	int3
417e99:	cc                   	int3
417e9a:	cc                   	int3
417e9b:	cc                   	int3
417e9c:	cc                   	int3
417e9d:	cc                   	int3
417e9e:	cc                   	int3
417e9f:	cc                   	int3
417ea0:	55                   	push   %ebp
417ea1:	8b ec                	mov    %esp,%ebp
417ea3:	8b 45 08             	mov    0x8(%ebp),%eax
417ea6:	33 d2                	xor    %edx,%edx
417ea8:	53                   	push   %ebx
417ea9:	56                   	push   %esi
417eaa:	57                   	push   %edi
417eab:	8b 48 3c             	mov    0x3c(%eax),%ecx
417eae:	03 c8                	add    %eax,%ecx
417eb0:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
417eb4:	0f b7 59 06          	movzwl 0x6(%ecx),%ebx
417eb8:	83 c0 18             	add    $0x18,%eax
417ebb:	03 c1                	add    %ecx,%eax
417ebd:	85 db                	test   %ebx,%ebx
417ebf:	74 1b                	je     0x417edc
417ec1:	8b 7d 0c             	mov    0xc(%ebp),%edi
417ec4:	8b 70 0c             	mov    0xc(%eax),%esi
417ec7:	3b fe                	cmp    %esi,%edi
417ec9:	72 09                	jb     0x417ed4
417ecb:	8b 48 08             	mov    0x8(%eax),%ecx
417ece:	03 ce                	add    %esi,%ecx
417ed0:	3b f9                	cmp    %ecx,%edi
417ed2:	72 0a                	jb     0x417ede
417ed4:	42                   	inc    %edx
417ed5:	83 c0 28             	add    $0x28,%eax
417ed8:	3b d3                	cmp    %ebx,%edx
417eda:	72 e8                	jb     0x417ec4
417edc:	33 c0                	xor    %eax,%eax
417ede:	5f                   	pop    %edi
417edf:	5e                   	pop    %esi
417ee0:	5b                   	pop    %ebx
417ee1:	5d                   	pop    %ebp
417ee2:	c3                   	ret
417ee3:	cc                   	int3
417ee4:	cc                   	int3
417ee5:	cc                   	int3
417ee6:	cc                   	int3
417ee7:	cc                   	int3
417ee8:	cc                   	int3
417ee9:	cc                   	int3
417eea:	cc                   	int3
417eeb:	cc                   	int3
417eec:	cc                   	int3
417eed:	cc                   	int3
417eee:	cc                   	int3
417eef:	cc                   	int3
417ef0:	55                   	push   %ebp
417ef1:	8b ec                	mov    %esp,%ebp
417ef3:	6a fe                	push   $0xfffffffe
417ef5:	68 a8 1f 42 00       	push   $0x421fa8
417efa:	68 30 46 40 00       	push   $0x404630
417eff:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
417f05:	50                   	push   %eax
417f06:	83 ec 08             	sub    $0x8,%esp
417f09:	53                   	push   %ebx
417f0a:	56                   	push   %esi
417f0b:	57                   	push   %edi
417f0c:	a1 0c 30 42 00       	mov    0x42300c,%eax
417f11:	31 45 f8             	xor    %eax,-0x8(%ebp)
417f14:	33 c5                	xor    %ebp,%eax
417f16:	50                   	push   %eax
417f17:	8d 45 f0             	lea    -0x10(%ebp),%eax
417f1a:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
417f20:	89 65 e8             	mov    %esp,-0x18(%ebp)
417f23:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
417f2a:	68 00 00 40 00       	push   $0x400000
417f2f:	e8 7c 00 00 00       	call   0x417fb0
417f34:	83 c4 04             	add    $0x4,%esp
417f37:	85 c0                	test   %eax,%eax
417f39:	74 54                	je     0x417f8f
417f3b:	8b 45 08             	mov    0x8(%ebp),%eax
417f3e:	2d 00 00 40 00       	sub    $0x400000,%eax
417f43:	50                   	push   %eax
417f44:	68 00 00 40 00       	push   $0x400000
417f49:	e8 52 ff ff ff       	call   0x417ea0
417f4e:	83 c4 08             	add    $0x8,%esp
417f51:	85 c0                	test   %eax,%eax
417f53:	74 3a                	je     0x417f8f
417f55:	8b 40 24             	mov    0x24(%eax),%eax
417f58:	c1 e8 1f             	shr    $0x1f,%eax
417f5b:	f7 d0                	not    %eax
417f5d:	83 e0 01             	and    $0x1,%eax
417f60:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
417f67:	8b 4d f0             	mov    -0x10(%ebp),%ecx
417f6a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
417f71:	59                   	pop    %ecx
417f72:	5f                   	pop    %edi
417f73:	5e                   	pop    %esi
417f74:	5b                   	pop    %ebx
417f75:	8b e5                	mov    %ebp,%esp
417f77:	5d                   	pop    %ebp
417f78:	c3                   	ret
417f79:	8b 45 ec             	mov    -0x14(%ebp),%eax
417f7c:	8b 00                	mov    (%eax),%eax
417f7e:	33 c9                	xor    %ecx,%ecx
417f80:	81 38 05 00 00 c0    	cmpl   $0xc0000005,(%eax)
417f86:	0f 94 c1             	sete   %cl
417f89:	8b c1                	mov    %ecx,%eax
417f8b:	c3                   	ret
417f8c:	8b 65 e8             	mov    -0x18(%ebp),%esp
417f8f:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
417f96:	33 c0                	xor    %eax,%eax
417f98:	8b 4d f0             	mov    -0x10(%ebp),%ecx
417f9b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
417fa2:	59                   	pop    %ecx
417fa3:	5f                   	pop    %edi
417fa4:	5e                   	pop    %esi
417fa5:	5b                   	pop    %ebx
417fa6:	8b e5                	mov    %ebp,%esp
417fa8:	5d                   	pop    %ebp
417fa9:	c3                   	ret
417faa:	cc                   	int3
417fab:	cc                   	int3
417fac:	cc                   	int3
417fad:	cc                   	int3
417fae:	cc                   	int3
417faf:	cc                   	int3
417fb0:	55                   	push   %ebp
417fb1:	8b ec                	mov    %esp,%ebp
417fb3:	8b 45 08             	mov    0x8(%ebp),%eax
417fb6:	b9 4d 5a 00 00       	mov    $0x5a4d,%ecx
417fbb:	66 39 08             	cmp    %cx,(%eax)
417fbe:	74 04                	je     0x417fc4
417fc0:	33 c0                	xor    %eax,%eax
417fc2:	5d                   	pop    %ebp
417fc3:	c3                   	ret
417fc4:	8b 48 3c             	mov    0x3c(%eax),%ecx
417fc7:	03 c8                	add    %eax,%ecx
417fc9:	33 c0                	xor    %eax,%eax
417fcb:	81 39 50 45 00 00    	cmpl   $0x4550,(%ecx)
417fd1:	75 0c                	jne    0x417fdf
417fd3:	ba 0b 01 00 00       	mov    $0x10b,%edx
417fd8:	66 39 51 18          	cmp    %dx,0x18(%ecx)
417fdc:	0f 94 c0             	sete   %al
417fdf:	5d                   	pop    %ebp
417fe0:	c3                   	ret
417fe1:	cc                   	int3
417fe2:	cc                   	int3
417fe3:	cc                   	int3
417fe4:	cc                   	int3
417fe5:	cc                   	int3
417fe6:	cc                   	int3
417fe7:	cc                   	int3
417fe8:	cc                   	int3
417fe9:	cc                   	int3
417fea:	cc                   	int3
417feb:	cc                   	int3
417fec:	cc                   	int3
417fed:	cc                   	int3
417fee:	cc                   	int3
417fef:	cc                   	int3
417ff0:	56                   	push   %esi
417ff1:	8b 44 24 14          	mov    0x14(%esp),%eax
417ff5:	0b c0                	or     %eax,%eax
417ff7:	75 28                	jne    0x418021
417ff9:	8b 4c 24 10          	mov    0x10(%esp),%ecx
417ffd:	8b 44 24 0c          	mov    0xc(%esp),%eax
418001:	33 d2                	xor    %edx,%edx
418003:	f7 f1                	div    %ecx
418005:	8b d8                	mov    %eax,%ebx
418007:	8b 44 24 08          	mov    0x8(%esp),%eax
41800b:	f7 f1                	div    %ecx
41800d:	8b f0                	mov    %eax,%esi
41800f:	8b c3                	mov    %ebx,%eax
418011:	f7 64 24 10          	mull   0x10(%esp)
418015:	8b c8                	mov    %eax,%ecx
418017:	8b c6                	mov    %esi,%eax
418019:	f7 64 24 10          	mull   0x10(%esp)
41801d:	03 d1                	add    %ecx,%edx
41801f:	eb 47                	jmp    0x418068
418021:	8b c8                	mov    %eax,%ecx
418023:	8b 5c 24 10          	mov    0x10(%esp),%ebx
418027:	8b 54 24 0c          	mov    0xc(%esp),%edx
41802b:	8b 44 24 08          	mov    0x8(%esp),%eax
41802f:	d1 e9                	shr    $1,%ecx
418031:	d1 db                	rcr    $1,%ebx
418033:	d1 ea                	shr    $1,%edx
418035:	d1 d8                	rcr    $1,%eax
418037:	0b c9                	or     %ecx,%ecx
418039:	75 f4                	jne    0x41802f
41803b:	f7 f3                	div    %ebx
41803d:	8b f0                	mov    %eax,%esi
41803f:	f7 64 24 14          	mull   0x14(%esp)
418043:	8b c8                	mov    %eax,%ecx
418045:	8b 44 24 10          	mov    0x10(%esp),%eax
418049:	f7 e6                	mul    %esi
41804b:	03 d1                	add    %ecx,%edx
41804d:	72 0e                	jb     0x41805d
41804f:	3b 54 24 0c          	cmp    0xc(%esp),%edx
418053:	77 08                	ja     0x41805d
418055:	72 0f                	jb     0x418066
418057:	3b 44 24 08          	cmp    0x8(%esp),%eax
41805b:	76 09                	jbe    0x418066
41805d:	4e                   	dec    %esi
41805e:	2b 44 24 10          	sub    0x10(%esp),%eax
418062:	1b 54 24 14          	sbb    0x14(%esp),%edx
418066:	33 db                	xor    %ebx,%ebx
418068:	2b 44 24 08          	sub    0x8(%esp),%eax
41806c:	1b 54 24 0c          	sbb    0xc(%esp),%edx
418070:	f7 da                	neg    %edx
418072:	f7 d8                	neg    %eax
418074:	83 da 00             	sbb    $0x0,%edx
418077:	8b ca                	mov    %edx,%ecx
418079:	8b d3                	mov    %ebx,%edx
41807b:	8b d9                	mov    %ecx,%ebx
41807d:	8b c8                	mov    %eax,%ecx
41807f:	8b c6                	mov    %esi,%eax
418081:	5e                   	pop    %esi
418082:	c2 10 00             	ret    $0x10
418085:	cc                   	int3
418086:	cc                   	int3
418087:	cc                   	int3
418088:	cc                   	int3
418089:	cc                   	int3
41808a:	cc                   	int3
41808b:	cc                   	int3
41808c:	cc                   	int3
41808d:	cc                   	int3
41808e:	cc                   	int3
41808f:	cc                   	int3
418090:	57                   	push   %edi
418091:	56                   	push   %esi
418092:	53                   	push   %ebx
418093:	33 ff                	xor    %edi,%edi
418095:	8b 44 24 14          	mov    0x14(%esp),%eax
418099:	0b c0                	or     %eax,%eax
41809b:	7d 14                	jge    0x4180b1
41809d:	47                   	inc    %edi
41809e:	8b 54 24 10          	mov    0x10(%esp),%edx
4180a2:	f7 d8                	neg    %eax
4180a4:	f7 da                	neg    %edx
4180a6:	83 d8 00             	sbb    $0x0,%eax
4180a9:	89 44 24 14          	mov    %eax,0x14(%esp)
4180ad:	89 54 24 10          	mov    %edx,0x10(%esp)
4180b1:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4180b5:	0b c0                	or     %eax,%eax
4180b7:	7d 14                	jge    0x4180cd
4180b9:	47                   	inc    %edi
4180ba:	8b 54 24 18          	mov    0x18(%esp),%edx
4180be:	f7 d8                	neg    %eax
4180c0:	f7 da                	neg    %edx
4180c2:	83 d8 00             	sbb    $0x0,%eax
4180c5:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4180c9:	89 54 24 18          	mov    %edx,0x18(%esp)