493f88:	80 4c 08 28 20       	orb    $0x20,0x28(%eax,%ecx,1)
493f8d:	8b 75 d4             	mov    -0x2c(%ebp),%esi
493f90:	b9 00 00 00 c0       	mov    $0xc0000000,%ecx
493f95:	8b c6                	mov    %esi,%eax
493f97:	23 c1                	and    %ecx,%eax
493f99:	3b c1                	cmp    %ecx,%eax
493f9b:	0f 85 85 00 00 00    	jne    0x494026
493fa1:	f6 45 14 01          	testb  $0x1,0x14(%ebp)
493fa5:	74 7f                	je     0x494026
493fa7:	ff 75 f8             	push   -0x8(%ebp)
493faa:	ff 15 64 e0 49 00    	call   *0x49e064
493fb0:	83 ec 18             	sub    $0x18,%esp
493fb3:	8d 45 e8             	lea    -0x18(%ebp),%eax
493fb6:	81 e6 ff ff ff 7f    	and    $0x7fffffff,%esi
493fbc:	89 75 d4             	mov    %esi,-0x2c(%ebp)
493fbf:	8d 75 d0             	lea    -0x30(%ebp),%esi
493fc2:	6a 06                	push   $0x6
493fc4:	59                   	pop    %ecx
493fc5:	8b fc                	mov    %esp,%edi
493fc7:	50                   	push   %eax
493fc8:	ff 75 10             	push   0x10(%ebp)
493fcb:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
493fcd:	e8 78 fa ff ff       	call   0x493a4a
493fd2:	8b d0                	mov    %eax,%edx
493fd4:	83 c4 20             	add    $0x20,%esp
493fd7:	83 fa ff             	cmp    $0xffffffff,%edx
493fda:	75 32                	jne    0x49400e
493fdc:	ff 15 30 e1 49 00    	call   *0x49e130
493fe2:	50                   	push   %eax
493fe3:	e8 f3 5e fe ff       	call   0x479edb
493fe8:	8b 0b                	mov    (%ebx),%ecx
493fea:	8b c1                	mov    %ecx,%eax
493fec:	83 e1 3f             	and    $0x3f,%ecx
493fef:	c1 f8 06             	sar    $0x6,%eax
493ff2:	6b c9 38             	imul   $0x38,%ecx,%ecx
493ff5:	8b 04 85 00 88 4c 00 	mov    0x4c8800(,%eax,4),%eax
493ffc:	80 64 08 28 fe       	andb   $0xfe,0x28(%eax,%ecx,1)
494001:	ff 33                	push   (%ebx)
494003:	e8 08 c2 ff ff       	call   0x490210
494008:	59                   	pop    %ecx
494009:	e9 15 fe ff ff       	jmp    0x493e23
49400e:	8b 0b                	mov    (%ebx),%ecx
494010:	8b c1                	mov    %ecx,%eax
494012:	c1 f8 06             	sar    $0x6,%eax
494015:	83 e1 3f             	and    $0x3f,%ecx
494018:	6b c9 38             	imul   $0x38,%ecx,%ecx
49401b:	8b 04 85 00 88 4c 00 	mov    0x4c8800(,%eax,4),%eax
494022:	89 54 08 18          	mov    %edx,0x18(%eax,%ecx,1)
494026:	33 c0                	xor    %eax,%eax
494028:	5f                   	pop    %edi
494029:	5e                   	pop    %esi
49402a:	5b                   	pop    %ebx
49402b:	c9                   	leave
49402c:	c3                   	ret
49402d:	8b ff                	mov    %edi,%edi
49402f:	55                   	push   %ebp
494030:	8b ec                	mov    %esp,%ebp
494032:	6a 01                	push   $0x1
494034:	ff 75 08             	push   0x8(%ebp)
494037:	ff 75 18             	push   0x18(%ebp)
49403a:	ff 75 14             	push   0x14(%ebp)
49403d:	ff 75 10             	push   0x10(%ebp)
494040:	ff 75 0c             	push   0xc(%ebp)
494043:	e8 d1 f6 ff ff       	call   0x493719
494048:	83 c4 18             	add    $0x18,%esp
49404b:	5d                   	pop    %ebp
49404c:	c3                   	ret
49404d:	8b ff                	mov    %edi,%edi
49404f:	55                   	push   %ebp
494050:	8b ec                	mov    %esp,%ebp
494052:	56                   	push   %esi
494053:	e8 84 f2 ff ff       	call   0x4932dc
494058:	8b 75 08             	mov    0x8(%ebp),%esi
49405b:	89 06                	mov    %eax,(%esi)
49405d:	e8 fa f2 ff ff       	call   0x49335c
494062:	89 46 04             	mov    %eax,0x4(%esi)
494065:	33 c0                	xor    %eax,%eax
494067:	5e                   	pop    %esi
494068:	5d                   	pop    %ebp
494069:	c3                   	ret
49406a:	8b ff                	mov    %edi,%edi
49406c:	55                   	push   %ebp
49406d:	8b ec                	mov    %esp,%ebp
49406f:	51                   	push   %ecx
494070:	51                   	push   %ecx
494071:	56                   	push   %esi
494072:	8b 75 08             	mov    0x8(%ebp),%esi
494075:	ff 36                	push   (%esi)
494077:	e8 8a f3 ff ff       	call   0x493406
49407c:	ff 76 04             	push   0x4(%esi)
49407f:	e8 fd f3 ff ff       	call   0x493481
494084:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
494088:	8d 45 f8             	lea    -0x8(%ebp),%eax
49408b:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
49408f:	50                   	push   %eax
494090:	e8 b8 ff ff ff       	call   0x49404d
494095:	83 c4 0c             	add    $0xc,%esp
494098:	85 c0                	test   %eax,%eax
49409a:	75 14                	jne    0x4940b0
49409c:	8b 06                	mov    (%esi),%eax
49409e:	3b 45 f8             	cmp    -0x8(%ebp),%eax
4940a1:	75 0d                	jne    0x4940b0
4940a3:	8b 4e 04             	mov    0x4(%esi),%ecx
4940a6:	33 c0                	xor    %eax,%eax
4940a8:	3b 4d fc             	cmp    -0x4(%ebp),%ecx
4940ab:	0f 95 c0             	setne  %al
4940ae:	eb 03                	jmp    0x4940b3
4940b0:	33 c0                	xor    %eax,%eax
4940b2:	40                   	inc    %eax
4940b3:	5e                   	pop    %esi
4940b4:	c9                   	leave
4940b5:	c3                   	ret
4940b6:	8b ff                	mov    %edi,%edi
4940b8:	55                   	push   %ebp
4940b9:	8b ec                	mov    %esp,%ebp
4940bb:	51                   	push   %ecx
4940bc:	51                   	push   %ecx
4940bd:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
4940c1:	8d 45 f8             	lea    -0x8(%ebp),%eax
4940c4:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4940c8:	50                   	push   %eax
4940c9:	e8 7f ff ff ff       	call   0x49404d
4940ce:	59                   	pop    %ecx
4940cf:	85 c0                	test   %eax,%eax
4940d1:	75 2b                	jne    0x4940fe
4940d3:	8b 45 08             	mov    0x8(%ebp),%eax
4940d6:	8b 55 f8             	mov    -0x8(%ebp),%edx
4940d9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4940dc:	89 10                	mov    %edx,(%eax)
4940de:	83 ca 1f             	or     $0x1f,%edx
4940e1:	89 48 04             	mov    %ecx,0x4(%eax)
4940e4:	8d 45 f8             	lea    -0x8(%ebp),%eax
4940e7:	50                   	push   %eax
4940e8:	89 55 f8             	mov    %edx,-0x8(%ebp)
4940eb:	e8 7a ff ff ff       	call   0x49406a
4940f0:	59                   	pop    %ecx
4940f1:	85 c0                	test   %eax,%eax
4940f3:	75 09                	jne    0x4940fe
4940f5:	e8 60 e6 ff ff       	call   0x49275a
4940fa:	33 c0                	xor    %eax,%eax
4940fc:	c9                   	leave
4940fd:	c3                   	ret
4940fe:	33 c0                	xor    %eax,%eax
494100:	40                   	inc    %eax
494101:	c9                   	leave
494102:	c3                   	ret
494103:	cc                   	int3
494104:	cc                   	int3
494105:	cc                   	int3
494106:	cc                   	int3
494107:	cc                   	int3
494108:	cc                   	int3
494109:	cc                   	int3
49410a:	cc                   	int3
49410b:	cc                   	int3
49410c:	cc                   	int3
49410d:	cc                   	int3
49410e:	cc                   	int3
49410f:	cc                   	int3
494110:	83 3d 34 9f 4c 00 00 	cmpl   $0x0,0x4c9f34
494117:	74 32                	je     0x49414b
494119:	83 ec 08             	sub    $0x8,%esp
49411c:	0f ae 5c 24 04       	stmxcsr 0x4(%esp)
494121:	8b 44 24 04          	mov    0x4(%esp),%eax
494125:	25 80 7f 00 00       	and    $0x7f80,%eax
49412a:	3d 80 1f 00 00       	cmp    $0x1f80,%eax
49412f:	75 0f                	jne    0x494140
494131:	d9 3c 24             	fnstcw (%esp)
494134:	66 8b 04 24          	mov    (%esp),%ax
494138:	66 83 e0 7f          	and    $0x7f,%ax
49413c:	66 83 f8 7f          	cmp    $0x7f,%ax
494140:	8d 64 24 08          	lea    0x8(%esp),%esp
494144:	75 05                	jne    0x49414b
494146:	e9 75 12 00 00       	jmp    0x4953c0
49414b:	83 ec 0c             	sub    $0xc,%esp
49414e:	dd 14 24             	fstl   (%esp)
494151:	e8 c2 a4 ff ff       	call   0x48e618
494156:	e8 0d 00 00 00       	call   0x494168
49415b:	83 c4 0c             	add    $0xc,%esp
49415e:	c3                   	ret
49415f:	8d 54 24 04          	lea    0x4(%esp),%edx
494163:	e8 6d a4 ff ff       	call   0x48e5d5
494168:	52                   	push   %edx
494169:	9b d9 3c 24          	fstcw  (%esp)
49416d:	74 4c                	je     0x4941bb
49416f:	8b 44 24 0c          	mov    0xc(%esp),%eax
494173:	66 81 3c 24 7f 02    	cmpw   $0x27f,(%esp)
494179:	74 06                	je     0x494181
49417b:	d9 2d 28 43 4a 00    	fldcw  0x4a4328
494181:	a9 00 00 f0 7f       	test   $0x7ff00000,%eax
494186:	74 5e                	je     0x4941e6
494188:	a9 00 00 00 80       	test   $0x80000000,%eax
49418d:	75 41                	jne    0x4941d0
49418f:	d9 ec                	fldlg2
494191:	d9 c9                	fxch   %st(1)
494193:	d9 f1                	fyl2x
494195:	83 3d bc 8b 4c 00 00 	cmpl   $0x0,0x4c8bbc
49419c:	0f 85 8c a4 ff ff    	jne    0x48e62e
4941a2:	8d 0d e0 71 4a 00    	lea    0x4a71e0,%ecx
4941a8:	ba 1b 00 00 00       	mov    $0x1b,%edx
4941ad:	e9 89 a4 ff ff       	jmp    0x48e63b
4941b2:	a9 00 00 00 80       	test   $0x80000000,%eax
4941b7:	75 17                	jne    0x4941d0
4941b9:	eb d4                	jmp    0x49418f
4941bb:	a9 ff ff 0f 00       	test   $0xfffff,%eax
4941c0:	75 1d                	jne    0x4941df
4941c2:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
4941c7:	75 16                	jne    0x4941df
4941c9:	25 00 00 00 80       	and    $0x80000000,%eax
4941ce:	74 c5                	je     0x494195
4941d0:	dd d8                	fstp   %st(0)
4941d2:	db 2d e0 42 4a 00    	fldt   0x4a42e0
4941d8:	b8 01 00 00 00       	mov    $0x1,%eax
4941dd:	eb 22                	jmp    0x494201
4941df:	e8 d8 a3 ff ff       	call   0x48e5bc
4941e4:	eb 1b                	jmp    0x494201
4941e6:	a9 ff ff 0f 00       	test   $0xfffff,%eax
4941eb:	75 c5                	jne    0x4941b2
4941ed:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
4941f2:	75 be                	jne    0x4941b2
4941f4:	dd d8                	fstp   %st(0)
4941f6:	db 2d 8a 42 4a 00    	fldt   0x4a428a
4941fc:	b8 02 00 00 00       	mov    $0x2,%eax
494201:	83 3d bc 8b 4c 00 00 	cmpl   $0x0,0x4c8bbc
494208:	0f 85 20 a4 ff ff    	jne    0x48e62e
49420e:	8d 0d e0 71 4a 00    	lea    0x4a71e0,%ecx
494214:	ba 1b 00 00 00       	mov    $0x1b,%edx
494219:	e8 29 a3 ff ff       	call   0x48e547
49421e:	5a                   	pop    %edx
49421f:	c3                   	ret
494220:	83 3d 34 9f 4c 00 00 	cmpl   $0x0,0x4c9f34
494227:	0f 84 23 14 00 00    	je     0x495650
49422d:	83 ec 08             	sub    $0x8,%esp
494230:	0f ae 5c 24 04       	stmxcsr 0x4(%esp)
494235:	8b 44 24 04          	mov    0x4(%esp),%eax
494239:	25 80 7f 00 00       	and    $0x7f80,%eax
49423e:	3d 80 1f 00 00       	cmp    $0x1f80,%eax
494243:	75 0f                	jne    0x494254
494245:	d9 3c 24             	fnstcw (%esp)
494248:	66 8b 04 24          	mov    (%esp),%ax
49424c:	66 83 e0 7f          	and    $0x7f,%ax
494250:	66 83 f8 7f          	cmp    $0x7f,%ax
494254:	8d 64 24 08          	lea    0x8(%esp),%esp
494258:	0f 85 f2 13 00 00    	jne    0x495650
49425e:	eb 00                	jmp    0x494260
494260:	f3 0f 7e 44 24 04    	movq   0x4(%esp),%xmm0
494266:	66 0f 28 15 00 72 4a 	movapd 0x4a7200,%xmm2
49426d:	00
49426e:	66 0f 28 c8          	movapd %xmm0,%xmm1
494272:	66 0f 28 f8          	movapd %xmm0,%xmm7
494276:	66 0f 73 d0 34       	psrlq  $0x34,%xmm0
49427b:	66 0f 7e c0          	movd   %xmm0,%eax
49427f:	66 0f 54 05 20 72 4a 	andpd  0x4a7220,%xmm0
494286:	00
494287:	66 0f fa d0          	psubd  %xmm0,%xmm2
49428b:	66 0f d3 ca          	psrlq  %xmm2,%xmm1
49428f:	a9 00 08 00 00       	test   $0x800,%eax
494294:	74 4c                	je     0x4942e2
494296:	3d ff 0b 00 00       	cmp    $0xbff,%eax
49429b:	7c 7d                	jl     0x49431a
49429d:	66 0f f3 ca          	psllq  %xmm2,%xmm1
4942a1:	3d 32 0c 00 00       	cmp    $0xc32,%eax
4942a6:	7f 0b                	jg     0x4942b3
4942a8:	66 0f d6 4c 24 04    	movq   %xmm1,0x4(%esp)
4942ae:	dd 44 24 04          	fldl   0x4(%esp)
4942b2:	c3                   	ret
4942b3:	66 0f 2e ff          	ucomisd %xmm7,%xmm7
4942b7:	7b 24                	jnp    0x4942dd
4942b9:	ba ec 03 00 00       	mov    $0x3ec,%edx
4942be:	83 ec 10             	sub    $0x10,%esp
4942c1:	89 54 24 0c          	mov    %edx,0xc(%esp)
4942c5:	8b d4                	mov    %esp,%edx
4942c7:	83 c2 14             	add    $0x14,%edx
4942ca:	89 54 24 08          	mov    %edx,0x8(%esp)
4942ce:	89 54 24 04          	mov    %edx,0x4(%esp)
4942d2:	89 14 24             	mov    %edx,(%esp)
4942d5:	e8 34 02 00 00       	call   0x49450e
4942da:	83 c4 10             	add    $0x10,%esp
4942dd:	dd 44 24 04          	fldl   0x4(%esp)
4942e1:	c3                   	ret
4942e2:	f3 0f 7e 44 24 04    	movq   0x4(%esp),%xmm0
4942e8:	66 0f f3 ca          	psllq  %xmm2,%xmm1
4942ec:	66 0f 28 d8          	movapd %xmm0,%xmm3
4942f0:	66 0f c2 c1 06       	cmpnlepd %xmm1,%xmm0
4942f5:	3d ff 03 00 00       	cmp    $0x3ff,%eax
4942fa:	7c 25                	jl     0x494321
4942fc:	3d 32 04 00 00       	cmp    $0x432,%eax
494301:	7f b0                	jg     0x4942b3
494303:	66 0f 54 05 f0 71 4a 	andpd  0x4a71f0,%xmm0
49430a:	00
49430b:	f2 0f 58 c8          	addsd  %xmm0,%xmm1
49430f:	66 0f d6 4c 24 04    	movq   %xmm1,0x4(%esp)
494315:	dd 44 24 04          	fldl   0x4(%esp)
494319:	c3                   	ret
49431a:	dd 05 30 72 4a 00    	fldl   0x4a7230
494320:	c3                   	ret
494321:	66 0f c2 1d 10 72 4a 	cmpnlepd 0x4a7210,%xmm3
494328:	00 06
49432a:	66 0f 54 1d f0 71 4a 	andpd  0x4a71f0,%xmm3
494331:	00
494332:	66 0f d6 5c 24 04    	movq   %xmm3,0x4(%esp)
494338:	dd 44 24 04          	fldl   0x4(%esp)
49433c:	c3                   	ret
49433d:	8b ff                	mov    %edi,%edi
49433f:	55                   	push   %ebp
494340:	8b ec                	mov    %esp,%ebp
494342:	83 ec 24             	sub    $0x24,%esp
494345:	a1 14 40 4c 00       	mov    0x4c4014,%eax
49434a:	33 c5                	xor    %ebp,%eax
49434c:	89 45 fc             	mov    %eax,-0x4(%ebp)
49434f:	8b 45 0c             	mov    0xc(%ebp),%eax
494352:	8b 4d 08             	mov    0x8(%ebp),%ecx
494355:	8b 55 18             	mov    0x18(%ebp),%edx
494358:	89 4d dc             	mov    %ecx,-0x24(%ebp)
49435b:	89 45 e8             	mov    %eax,-0x18(%ebp)
49435e:	89 55 e4             	mov    %edx,-0x1c(%ebp)
494361:	53                   	push   %ebx
494362:	8b 5d 14             	mov    0x14(%ebp),%ebx
494365:	89 5d e0             	mov    %ebx,-0x20(%ebp)
494368:	56                   	push   %esi
494369:	57                   	push   %edi
49436a:	8b 38                	mov    (%eax),%edi
49436c:	85 c9                	test   %ecx,%ecx
49436e:	0f 84 96 00 00 00    	je     0x49440a
494374:	8b 45 10             	mov    0x10(%ebp),%eax
494377:	8b f1                	mov    %ecx,%esi
494379:	89 7d f0             	mov    %edi,-0x10(%ebp)
49437c:	83 f8 04             	cmp    $0x4,%eax
49437f:	73 08                	jae    0x494389
494381:	8d 4d f4             	lea    -0xc(%ebp),%ecx
494384:	89 4d ec             	mov    %ecx,-0x14(%ebp)
494387:	eb 05                	jmp    0x49438e
494389:	8b ce                	mov    %esi,%ecx
49438b:	89 75 ec             	mov    %esi,-0x14(%ebp)
49438e:	0f b7 07             	movzwl (%edi),%eax
494391:	52                   	push   %edx
494392:	53                   	push   %ebx
494393:	50                   	push   %eax
494394:	51                   	push   %ecx
494395:	e8 74 13 00 00       	call   0x49570e
49439a:	8b d8                	mov    %eax,%ebx
49439c:	83 c4 10             	add    $0x10,%esp
49439f:	83 fb ff             	cmp    $0xffffffff,%ebx
4943a2:	74 59                	je     0x4943fd
4943a4:	8b 45 ec             	mov    -0x14(%ebp),%eax
4943a7:	3b c6                	cmp    %esi,%eax
4943a9:	74 10                	je     0x4943bb
4943ab:	39 5d 10             	cmp    %ebx,0x10(%ebp)
4943ae:	72 48                	jb     0x4943f8
4943b0:	53                   	push   %ebx