495f9e:	3b c1                	cmp    %ecx,%eax
495fa0:	76 0d                	jbe    0x495faf
495fa2:	e8 8e 3f fe ff       	call   0x479f35
495fa7:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
495fad:	eb 2b                	jmp    0x495fda
495faf:	51                   	push   %ecx
495fb0:	e8 4c 37 fe ff       	call   0x479701
495fb5:	59                   	pop    %ecx
495fb6:	8b c8                	mov    %eax,%ecx
495fb8:	85 c9                	test   %ecx,%ecx
495fba:	74 1e                	je     0x495fda
495fbc:	8d 41 03             	lea    0x3(%ecx),%eax
495fbf:	03 c6                	add    %esi,%eax
495fc1:	f7 de                	neg    %esi
495fc3:	23 c6                	and    %esi,%eax
495fc5:	89 48 fc             	mov    %ecx,-0x4(%eax)
495fc8:	eb 12                	jmp    0x495fdc
495fca:	e8 66 3f fe ff       	call   0x479f35
495fcf:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
495fd5:	e8 47 36 fe ff       	call   0x479621
495fda:	33 c0                	xor    %eax,%eax
495fdc:	5e                   	pop    %esi
495fdd:	5d                   	pop    %ebp
495fde:	c3                   	ret
495fdf:	cc                   	int3
495fe0:	8b ff                	mov    %edi,%edi
495fe2:	55                   	push   %ebp
495fe3:	8b ec                	mov    %esp,%ebp
495fe5:	83 ec 10             	sub    $0x10,%esp
495fe8:	8d 45 f8             	lea    -0x8(%ebp),%eax
495feb:	50                   	push   %eax
495fec:	ff 15 5c e0 49 00    	call   *0x49e05c
495ff2:	85 c0                	test   %eax,%eax
495ff4:	74 34                	je     0x49602a
495ff6:	8d 45 f0             	lea    -0x10(%ebp),%eax
495ff9:	50                   	push   %eax
495ffa:	ff 15 20 e2 49 00    	call   *0x49e220
496000:	85 c0                	test   %eax,%eax
496002:	74 26                	je     0x49602a
496004:	8b 4d f8             	mov    -0x8(%ebp),%ecx
496007:	8b c1                	mov    %ecx,%eax
496009:	8b 55 fc             	mov    -0x4(%ebp),%edx
49600c:	0b c2                	or     %edx,%eax
49600e:	74 1a                	je     0x49602a
496010:	8b 45 f0             	mov    -0x10(%ebp),%eax
496013:	89 0d 48 8c 4c 00    	mov    %ecx,0x4c8c48
496019:	8b 4d f4             	mov    -0xc(%ebp),%ecx
49601c:	89 15 4c 8c 4c 00    	mov    %edx,0x4c8c4c
496022:	89 0d 54 8c 4c 00    	mov    %ecx,0x4c8c54
496028:	eb 12                	jmp    0x49603c
49602a:	83 c8 ff             	or     $0xffffffff,%eax
49602d:	a3 48 8c 4c 00       	mov    %eax,0x4c8c48
496032:	a3 4c 8c 4c 00       	mov    %eax,0x4c8c4c
496037:	a3 54 8c 4c 00       	mov    %eax,0x4c8c54
49603c:	a3 50 8c 4c 00       	mov    %eax,0x4c8c50
496041:	33 c0                	xor    %eax,%eax
496043:	c9                   	leave
496044:	c3                   	ret
496045:	55                   	push   %ebp
496046:	8b ec                	mov    %esp,%ebp
496048:	51                   	push   %ecx
496049:	83 3d fc 82 4c 00 01 	cmpl   $0x1,0x4c82fc
496050:	7c 66                	jl     0x4960b8
496052:	81 7d 08 b4 02 00 c0 	cmpl   $0xc00002b4,0x8(%ebp)
496059:	74 09                	je     0x496064
49605b:	81 7d 08 b5 02 00 c0 	cmpl   $0xc00002b5,0x8(%ebp)
496062:	75 54                	jne    0x4960b8
496064:	0f ae 5d fc          	stmxcsr -0x4(%ebp)
496068:	8b 45 fc             	mov    -0x4(%ebp),%eax
49606b:	83 f0 3f             	xor    $0x3f,%eax
49606e:	a8 81                	test   $0x81,%al
496070:	74 3f                	je     0x4960b1
496072:	a9 04 02 00 00       	test   $0x204,%eax
496077:	75 07                	jne    0x496080
496079:	b8 8e 00 00 c0       	mov    $0xc000008e,%eax
49607e:	c9                   	leave
49607f:	c3                   	ret
496080:	a9 02 01 00 00       	test   $0x102,%eax
496085:	74 2a                	je     0x4960b1
496087:	a9 08 04 00 00       	test   $0x408,%eax
49608c:	75 07                	jne    0x496095
49608e:	b8 91 00 00 c0       	mov    $0xc0000091,%eax
496093:	c9                   	leave
496094:	c3                   	ret
496095:	a9 10 08 00 00       	test   $0x810,%eax
49609a:	75 07                	jne    0x4960a3
49609c:	b8 93 00 00 c0       	mov    $0xc0000093,%eax
4960a1:	c9                   	leave
4960a2:	c3                   	ret
4960a3:	a9 20 10 00 00       	test   $0x1020,%eax
4960a8:	75 0e                	jne    0x4960b8
4960aa:	b8 8f 00 00 c0       	mov    $0xc000008f,%eax
4960af:	c9                   	leave
4960b0:	c3                   	ret
4960b1:	b8 90 00 00 c0       	mov    $0xc0000090,%eax
4960b6:	c9                   	leave
4960b7:	c3                   	ret
4960b8:	8b 45 08             	mov    0x8(%ebp),%eax
4960bb:	c9                   	leave
4960bc:	c3                   	ret
4960bd:	cc                   	int3
4960be:	cc                   	int3
4960bf:	cc                   	int3
4960c0:	83 3d fc 82 4c 00 06 	cmpl   $0x6,0x4c82fc
4960c7:	7c 15                	jl     0x4960de
4960c9:	c5 fa 7e c0          	vmovq  %xmm0,%xmm0
4960cd:	62 f1 fd 08 7a c0    	vcvttpd2qq %xmm0,%xmm0
4960d3:	c5 f9 7e c0          	vmovd  %xmm0,%eax
4960d7:	c4 e3 79 16 c2 01    	vpextrd $0x1,%xmm0,%edx
4960dd:	c3                   	ret
4960de:	8b cc                	mov    %esp,%ecx
4960e0:	83 c4 f8             	add    $0xfffffff8,%esp
4960e3:	83 e4 f8             	and    $0xfffffff8,%esp
4960e6:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
4960eb:	8b 04 24             	mov    (%esp),%eax
4960ee:	8b 54 24 04          	mov    0x4(%esp),%edx
4960f2:	8b e1                	mov    %ecx,%esp
4960f4:	0f ba f2 1f          	btr    $0x1f,%edx
4960f8:	1b c9                	sbb    %ecx,%ecx
4960fa:	81 fa 00 00 e0 41    	cmp    $0x41e00000,%edx
496100:	73 3c                	jae    0x49613e
496102:	f2 0f 2c c0          	cvttsd2si %xmm0,%eax
496106:	99                   	cltd
496107:	c3                   	ret
496108:	8b ca                	mov    %edx,%ecx
49610a:	0f ba ea 14          	bts    $0x14,%edx
49610e:	c1 e9 14             	shr    $0x14,%ecx
496111:	81 e2 ff ff 1f 00    	and    $0x1fffff,%edx
496117:	81 e9 33 04 00 00    	sub    $0x433,%ecx
49611d:	7d 19                	jge    0x496138
49611f:	f7 d9                	neg    %ecx
496121:	53                   	push   %ebx
496122:	33 db                	xor    %ebx,%ebx
496124:	0f ad c3             	shrd   %cl,%eax,%ebx
496127:	74 08                	je     0x496131
496129:	f3 0f 2c 1d 94 74 4b 	cvttss2si 0x4b7494,%ebx
496130:	00
496131:	5b                   	pop    %ebx
496132:	0f ad d0             	shrd   %cl,%edx,%eax
496135:	d3 ea                	shr    %cl,%edx
496137:	c3                   	ret
496138:	0f a5 c2             	shld   %cl,%eax,%edx
49613b:	d3 e0                	shl    %cl,%eax
49613d:	c3                   	ret
49613e:	81 fa 00 00 e0 43    	cmp    $0x43e00000,%edx
496144:	73 11                	jae    0x496157
496146:	85 c9                	test   %ecx,%ecx
496148:	74 be                	je     0x496108
49614a:	e8 b9 ff ff ff       	call   0x496108
49614f:	f7 d8                	neg    %eax
496151:	83 d2 00             	adc    $0x0,%edx
496154:	f7 da                	neg    %edx
496156:	c3                   	ret
496157:	e3 06                	jecxz  0x49615f
496159:	77 04                	ja     0x49615f
49615b:	85 c0                	test   %eax,%eax
49615d:	74 08                	je     0x496167
49615f:	f3 0f 2c 0d 90 74 4b 	cvttss2si 0x4b7490,%ecx
496166:	00
496167:	ba 00 00 00 80       	mov    $0x80000000,%edx
49616c:	33 c0                	xor    %eax,%eax
49616e:	c3                   	ret
49616f:	cc                   	int3
496170:	83 3d fc 82 4c 00 06 	cmpl   $0x6,0x4c82fc
496177:	7c 11                	jl     0x49618a
496179:	c5 f9 6e c1          	vmovd  %ecx,%xmm0
49617d:	c4 e3 79 22 c2 01    	vpinsrd $0x1,%edx,%xmm0,%xmm0
496183:	62 f1 fe 08 7a c0    	vcvtuqq2pd %xmm0,%xmm0
496189:	c3                   	ret
49618a:	0f 57 c0             	xorps  %xmm0,%xmm0
49618d:	f2 0f 2a c1          	cvtsi2sd %ecx,%xmm0
496191:	c1 e9 1f             	shr    $0x1f,%ecx
496194:	f2 0f 58 04 cd 98 74 	addsd  0x4b7498(,%ecx,8),%xmm0
49619b:	4b 00
49619d:	85 d2                	test   %edx,%edx
49619f:	74 1f                	je     0x4961c0
4961a1:	0f 57 c9             	xorps  %xmm1,%xmm1
4961a4:	f2 0f 2a ca          	cvtsi2sd %edx,%xmm1
4961a8:	c1 ea 1f             	shr    $0x1f,%edx
4961ab:	f2 0f 58 0c d5 98 74 	addsd  0x4b7498(,%edx,8),%xmm1
4961b2:	4b 00
4961b4:	f2 0f 59 0d a0 74 4b 	mulsd  0x4b74a0,%xmm1
4961bb:	00
4961bc:	f2 0f 58 c1          	addsd  %xmm1,%xmm0
4961c0:	c3                   	ret
4961c1:	cc                   	int3
4961c2:	cc                   	int3
4961c3:	cc                   	int3
4961c4:	cc                   	int3
4961c5:	cc                   	int3
4961c6:	cc                   	int3
4961c7:	cc                   	int3
4961c8:	cc                   	int3
4961c9:	cc                   	int3
4961ca:	cc                   	int3
4961cb:	cc                   	int3
4961cc:	cc                   	int3
4961cd:	cc                   	int3
4961ce:	cc                   	int3
4961cf:	cc                   	int3
4961d0:	ba b0 74 4b 00       	mov    $0x4b74b0,%edx
4961d5:	e9 66 0c 00 00       	jmp    0x496e40
4961da:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
4961e0:	d9 c9                	fxch   %st(1)
4961e2:	d9 f8                	fprem
4961e4:	9b df e0             	fstsw  %ax
4961e7:	9b                   	fwait
4961e8:	9e                   	sahf
4961e9:	7a f7                	jp     0x4961e2
4961eb:	dd d9                	fstp   %st(1)
4961ed:	c3                   	ret
4961ee:	cc                   	int3
4961ef:	cc                   	int3
4961f0:	83 ec 10             	sub    $0x10,%esp
4961f3:	0f ae 5c 24 04       	stmxcsr 0x4(%esp)
4961f8:	8b 44 24 04          	mov    0x4(%esp),%eax
4961fc:	25 80 7f 00 00       	and    $0x7f80,%eax
496201:	3d 80 1f 00 00       	cmp    $0x1f80,%eax
496206:	0f 85 0f 0b 00 00    	jne    0x496d1b
49620c:	d9 3c 24             	fnstcw (%esp)
49620f:	66 8b 04 24          	mov    (%esp),%ax
496213:	66 83 e0 7f          	and    $0x7f,%ax
496217:	66 83 f8 7f          	cmp    $0x7f,%ax
49621b:	0f 85 fa 0a 00 00    	jne    0x496d1b
496221:	66 0f 13 04 24       	movlpd %xmm0,(%esp)
496226:	66 0f 13 4c 24 08    	movlpd %xmm1,0x8(%esp)
49622c:	66 0f 12 3d 10 75 4b 	movlpd 0x4b7510,%xmm7
496233:	00
496234:	66 0f 12 15 20 75 4b 	movlpd 0x4b7520,%xmm2
49623b:	00
49623c:	66 0f 54 f8          	andpd  %xmm0,%xmm7
496240:	f2 0f 10 e0          	movsd  %xmm0,%xmm4
496244:	66 0f 73 d0 2c       	psrlq  $0x2c,%xmm0
496249:	66 0f c5 c0 00       	pextrw $0x0,%xmm0,%eax
49624e:	66 0f 56 fa          	orpd   %xmm2,%xmm7
496252:	66 0f c5 cc 03       	pextrw $0x3,%xmm4,%ecx
496257:	25 ff 00 00 00       	and    $0xff,%eax
49625c:	83 c0 01             	add    $0x1,%eax
49625f:	25 fe 01 00 00       	and    $0x1fe,%eax
496264:	f2 0f 59 3c 85 38 72 	mulsd  0x4a7238(,%eax,4),%xmm7
49626b:	4a 00
49626d:	66 0f 12 2c 85 38 72 	movlpd 0x4a7238(,%eax,4),%xmm5
496274:	4a 00
496276:	03 c0                	add    %eax,%eax
496278:	66 0f 28 34 85 50 76 	movapd 0x4a7650(,%eax,4),%xmm6
49627f:	4a 00
496281:	ba ef 7f 00 00       	mov    $0x7fef,%edx
496286:	2b d1                	sub    %ecx,%edx
496288:	83 e9 10             	sub    $0x10,%ecx
49628b:	0b ca                	or     %edx,%ecx
49628d:	81 f9 00 00 00 80    	cmp    $0x80000000,%ecx
496293:	0f 83 ce 02 00 00    	jae    0x496567
496299:	b9 00 00 00 00       	mov    $0x0,%ecx
49629e:	ba 7f fe 03 00       	mov    $0x3fe7f,%edx
4962a3:	66 0f 6e ca          	movd   %edx,%xmm1
4962a7:	66 0f fb c1          	psubq  %xmm1,%xmm0
4962ab:	66 0f 73 d0 08       	psrlq  $0x8,%xmm0
4962b0:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
4962b4:	66 0f 12 0d 68 75 4b 	movlpd 0x4b7568,%xmm1
4962bb:	00
4962bc:	f2 0f 10 df          	movsd  %xmm7,%xmm3
4962c0:	66 0f 73 d7 26       	psrlq  $0x26,%xmm7
4962c5:	66 0f c5 c7 00       	pextrw $0x0,%xmm7,%eax
4962ca:	66 0f 54 25 10 75 4b 	andpd  0x4b7510,%xmm4
4962d1:	00
4962d2:	25 ff 00 00 00       	and    $0xff,%eax
4962d7:	83 c0 01             	add    $0x1,%eax
4962da:	25 fe 01 00 00       	and    $0x1fe,%eax
4962df:	f2 0f 59 1c 85 60 7e 	mulsd  0x4a7e60(,%eax,4),%xmm3
4962e6:	4a 00
4962e8:	f2 0f 59 2c 85 60 7e 	mulsd  0x4a7e60(,%eax,4),%xmm5
4962ef:	4a 00
4962f1:	03 c0                	add    %eax,%eax
4962f3:	66 0f 58 34 85 70 82 	addpd  0x4a8270(,%eax,4),%xmm6
4962fa:	4a 00
4962fc:	66 0f 56 25 20 75 4b 	orpd   0x4b7520,%xmm4
496303:	00
496304:	f2 0f 58 f0          	addsd  %xmm0,%xmm6
496308:	66 0f 54 cc          	andpd  %xmm4,%xmm1
49630c:	f2 0f 10 d3          	movsd  %xmm3,%xmm2
496310:	66 0f 73 d3 1f       	psrlq  $0x1f,%xmm3
496315:	66 0f c5 c3 00       	pextrw $0x0,%xmm3,%eax
49631a:	66 0f 12 05 68 75 4b 	movlpd 0x4b7568,%xmm0
496321:	00
496322:	f2 0f 5c e1          	subsd  %xmm1,%xmm4
496326:	66 0f 12 3d 70 75 4b 	movlpd 0x4b7570,%xmm7
49632d:	00
49632e:	25 ff 01 00 00       	and    $0x1ff,%eax
496333:	83 c0 01             	add    $0x1,%eax
496336:	25 fe 03 00 00       	and    $0x3fe,%eax
49633b:	f2 0f 59 2c 85 80 8a 	mulsd  0x4a8a80(,%eax,4),%xmm5
496342:	4a 00
496344:	f2 0f 59 14 85 80 8a 	mulsd  0x4a8a80(,%eax,4),%xmm2
49634b:	4a 00
49634d:	66 0f 58 34 c5 90 92 	addpd  0x4a9290(,%eax,8),%xmm6
496354:	4a 00
496356:	66 0f 54 c5          	andpd  %xmm5,%xmm0
49635a:	f2 0f 5c e8          	subsd  %xmm0,%xmm5
49635e:	f2 0f 58 fa          	addsd  %xmm2,%xmm7
496362:	f2 0f 10 d8          	movsd  %xmm0,%xmm3
496366:	f2 0f 59 c1          	mulsd  %xmm1,%xmm0
49636a:	f2 0f 59 cd          	mulsd  %xmm5,%xmm1
49636e:	f2 0f 59 dc          	mulsd  %xmm4,%xmm3
496372:	f2 0f 5c d0          	subsd  %xmm0,%xmm2
496376:	f2 0f 59 e5          	mulsd  %xmm5,%xmm4
49637a:	f2 0f 10 c6          	movsd  %xmm6,%xmm0
49637e:	f2 0f 5c d1          	subsd  %xmm1,%xmm2
496382:	f2 0f 58 f7          	addsd  %xmm7,%xmm6
496386:	66 0f 12 4c 24 08    	movlpd 0x8(%esp),%xmm1
49638c:	66 0f c5 c1 03       	pextrw $0x3,%xmm1,%eax
496391:	f2 0f 5c d3          	subsd  %xmm3,%xmm2
496395:	f2 0f 5c c6          	subsd  %xmm6,%xmm0
496399:	66 0f 12 1d 68 75 4b 	movlpd 0x4b7568,%xmm3
4963a0:	00
4963a1:	66 0f c5 d6 03       	pextrw $0x3,%xmm6,%edx
4963a6:	f2 0f 5c d4          	subsd  %xmm4,%xmm2
4963aa:	f2 0f 10 e6          	movsd  %xmm6,%xmm4
4963ae:	f2 0f 58 c7          	addsd  %xmm7,%xmm0
4963b2:	f2 0f 5c fa          	subsd  %xmm2,%xmm7
4963b6:	f2 0f 5c f2          	subsd  %xmm2,%xmm6
4963ba:	66 0f 14 ff          	unpcklpd %xmm7,%xmm7
4963be:	25 f0 7f 00 00       	and    $0x7ff0,%eax
4963c3:	3d f0 7f 00 00       	cmp    $0x7ff0,%eax
4963c8:	0f 83 1a 05 00 00    	jae    0x4968e8
4963ce:	81 e2 f0 7f 00 00    	and    $0x7ff0,%edx
4963d4:	2d f0 3f 00 00       	sub    $0x3ff0,%eax
4963d9:	03 c2                	add    %edx,%eax
4963db:	ba a0 40 00 00       	mov    $0x40a0,%edx
4963e0:	2b d0                	sub    %eax,%edx
4963e2:	2d 70 3c 00 00       	sub    $0x3c70,%eax
4963e7:	0b d0                	or     %eax,%edx
4963e9:	81 fa 00 00 00 80    	cmp    $0x80000000,%edx
4963ef:	0f 83 af 08 00 00    	jae    0x496ca4
4963f5:	f2 0f 5c e6          	subsd  %xmm6,%xmm4
4963f9:	f2 0f 5c d4          	subsd  %xmm4,%xmm2
4963fd:	66 0f 12 25 68 75 4b 	movlpd 0x4b7568,%xmm4
496404:	00
496405:	66 0f 54 d9          	andpd  %xmm1,%xmm3
496409:	66 0f 54 e6          	andpd  %xmm6,%xmm4
49640d:	f2 0f 5c c2          	subsd  %xmm2,%xmm0
496411:	66 0f 57 d2          	xorpd  %xmm2,%xmm2
496415:	ba 60 40 00 00       	mov    $0x4060,%edx
49641a:	66 0f c4 d2 03       	pinsrw $0x3,%edx,%xmm2
49641f:	f2 0f 10 eb          	movsd  %xmm3,%xmm5
496423:	f2 0f 59 dc          	mulsd  %xmm4,%xmm3
496427:	f2 0f 5c f4          	subsd  %xmm4,%xmm6
49642b:	f2 0f 5c cd          	subsd  %xmm5,%xmm1
49642f:	f2 0f 59 da          	mulsd  %xmm2,%xmm3
496433:	f2 0f 59 ee          	mulsd  %xmm6,%xmm5
496437:	66 0f 28 15 a0 a2 4a 	movapd 0x4aa2a0,%xmm2