41b100:	f6 85 69 ff ff ff 40 	testb  $0x40,-0x97(%ebp)
41b107:	74 20                	je     0x41b129
41b109:	d9 c9                	fxch   %st(1)
41b10b:	db bd 62 ff ff ff    	fstpt  -0x9e(%ebp)
41b111:	db ad 62 ff ff ff    	fldt   -0x9e(%ebp)
41b117:	f6 85 69 ff ff ff 40 	testb  $0x40,-0x97(%ebp)
41b11e:	74 09                	je     0x41b129
41b120:	c6 85 70 ff ff ff 00 	movb   $0x0,-0x90(%ebp)
41b127:	eb 07                	jmp    0x41b130
41b129:	c6 85 70 ff ff ff 01 	movb   $0x1,-0x90(%ebp)
41b130:	de c1                	faddp  %st,%st(1)
41b132:	c3                   	ret
41b133:	dd d8                	fstp   %st(0)
41b135:	dd d8                	fstp   %st(0)
41b137:	db 2d 50 d3 42 00    	fldt   0x42d350
41b13d:	80 bd 70 ff ff ff 00 	cmpb   $0x0,-0x90(%ebp)
41b144:	7f 07                	jg     0x41b14d
41b146:	c6 85 70 ff ff ff 01 	movb   $0x1,-0x90(%ebp)
41b14d:	0a c9                	or     %cl,%cl
41b14f:	c3                   	ret
41b150:	dd d8                	fstp   %st(0)
41b152:	dd d8                	fstp   %st(0)
41b154:	db 2d 64 d3 42 00    	fldt   0x42d364
41b15a:	0a ed                	or     %ch,%ch
41b15c:	74 02                	je     0x41b160
41b15e:	d9 e0                	fchs
41b160:	0a c9                	or     %cl,%cl
41b162:	74 08                	je     0x41b16c
41b164:	dd 05 76 d3 42 00    	fldl   0x42d376
41b16a:	de c9                	fmulp  %st,%st(1)
41b16c:	c3                   	ret
41b16d:	0a c9                	or     %cl,%cl
41b16f:	74 02                	je     0x41b173
41b171:	d9 e0                	fchs
41b173:	c3                   	ret
41b174:	cc                   	int3
41b175:	cc                   	int3
41b176:	cc                   	int3
41b177:	cc                   	int3
41b178:	cc                   	int3
41b179:	cc                   	int3
41b17a:	cc                   	int3
41b17b:	cc                   	int3
41b17c:	cc                   	int3
41b17d:	cc                   	int3
41b17e:	cc                   	int3
41b17f:	cc                   	int3
41b180:	55                   	push   %ebp
41b181:	8b ec                	mov    %esp,%ebp
41b183:	83 c4 e0             	add    $0xffffffe0,%esp
41b186:	89 45 e0             	mov    %eax,-0x20(%ebp)
41b189:	8b 45 18             	mov    0x18(%ebp),%eax
41b18c:	89 45 f0             	mov    %eax,-0x10(%ebp)
41b18f:	8b 45 1c             	mov    0x1c(%ebp),%eax
41b192:	89 45 f4             	mov    %eax,-0xc(%ebp)
41b195:	eb 09                	jmp    0x41b1a0
41b197:	55                   	push   %ebp
41b198:	8b ec                	mov    %esp,%ebp
41b19a:	83 c4 e0             	add    $0xffffffe0,%esp
41b19d:	89 45 e0             	mov    %eax,-0x20(%ebp)
41b1a0:	dd 5d f8             	fstpl  -0x8(%ebp)
41b1a3:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
41b1a6:	8b 45 10             	mov    0x10(%ebp),%eax
41b1a9:	8b 4d 14             	mov    0x14(%ebp),%ecx
41b1ac:	89 45 e8             	mov    %eax,-0x18(%ebp)
41b1af:	89 4d ec             	mov    %ecx,-0x14(%ebp)
41b1b2:	8d 45 08             	lea    0x8(%ebp),%eax
41b1b5:	8d 4d e0             	lea    -0x20(%ebp),%ecx
41b1b8:	50                   	push   %eax
41b1b9:	51                   	push   %ecx
41b1ba:	52                   	push   %edx
41b1bb:	e8 6a 9b 00 00       	call   0x424d2a
41b1c0:	83 c4 0c             	add    $0xc,%esp
41b1c3:	dd 45 f8             	fldl   -0x8(%ebp)
41b1c6:	66 81 7d 08 7f 02    	cmpw   $0x27f,0x8(%ebp)
41b1cc:	74 03                	je     0x41b1d1
41b1ce:	d9 6d 08             	fldcw  0x8(%ebp)
41b1d1:	c9                   	leave
41b1d2:	c3                   	ret
41b1d3:	cc                   	int3
41b1d4:	cc                   	int3
41b1d5:	cc                   	int3
41b1d6:	cc                   	int3
41b1d7:	cc                   	int3
41b1d8:	cc                   	int3
41b1d9:	cc                   	int3
41b1da:	cc                   	int3
41b1db:	cc                   	int3
41b1dc:	cc                   	int3
41b1dd:	cc                   	int3
41b1de:	cc                   	int3
41b1df:	cc                   	int3
41b1e0:	d9 c0                	fld    %st(0)
41b1e2:	d9 fc                	frndint
41b1e4:	dc e1                	fsub   %st,%st(1)
41b1e6:	d9 c9                	fxch   %st(1)
41b1e8:	d9 e0                	fchs
41b1ea:	d9 f0                	f2xm1
41b1ec:	d9 e8                	fld1
41b1ee:	de c1                	faddp  %st,%st(1)
41b1f0:	d9 fd                	fscale
41b1f2:	dd d9                	fstp   %st(1)
41b1f4:	c3                   	ret
41b1f5:	8b 54 24 04          	mov    0x4(%esp),%edx
41b1f9:	81 e2 00 03 00 00    	and    $0x300,%edx
41b1ff:	83 ca 7f             	or     $0x7f,%edx
41b202:	66 89 54 24 06       	mov    %dx,0x6(%esp)
41b207:	d9 6c 24 06          	fldcw  0x6(%esp)
41b20b:	c3                   	ret
41b20c:	a9 00 00 08 00       	test   $0x80000,%eax
41b211:	74 06                	je     0x41b219
41b213:	b8 00 00 00 00       	mov    $0x0,%eax
41b218:	c3                   	ret
41b219:	dc 05 90 d3 42 00    	faddl  0x42d390
41b21f:	b8 00 00 00 00       	mov    $0x0,%eax
41b224:	c3                   	ret
41b225:	8b 42 04             	mov    0x4(%edx),%eax
41b228:	25 00 00 f0 7f       	and    $0x7ff00000,%eax
41b22d:	3d 00 00 f0 7f       	cmp    $0x7ff00000,%eax
41b232:	74 03                	je     0x41b237
41b234:	dd 02                	fldl   (%edx)
41b236:	c3                   	ret
41b237:	8b 42 04             	mov    0x4(%edx),%eax
41b23a:	83 ec 0a             	sub    $0xa,%esp
41b23d:	0d 00 00 ff 7f       	or     $0x7fff0000,%eax
41b242:	89 44 24 06          	mov    %eax,0x6(%esp)
41b246:	8b 42 04             	mov    0x4(%edx),%eax
41b249:	8b 0a                	mov    (%edx),%ecx
41b24b:	0f a4 c8 0b          	shld   $0xb,%ecx,%eax
41b24f:	c1 e1 0b             	shl    $0xb,%ecx
41b252:	89 44 24 04          	mov    %eax,0x4(%esp)
41b256:	89 0c 24             	mov    %ecx,(%esp)
41b259:	db 2c 24             	fldt   (%esp)
41b25c:	83 c4 0a             	add    $0xa,%esp
41b25f:	a9 00 00 00 00       	test   $0x0,%eax
41b264:	8b 42 04             	mov    0x4(%edx),%eax
41b267:	c3                   	ret
41b268:	8b 44 24 08          	mov    0x8(%esp),%eax
41b26c:	25 00 00 f0 7f       	and    $0x7ff00000,%eax
41b271:	3d 00 00 f0 7f       	cmp    $0x7ff00000,%eax
41b276:	74 01                	je     0x41b279
41b278:	c3                   	ret
41b279:	8b 44 24 08          	mov    0x8(%esp),%eax
41b27d:	c3                   	ret
41b27e:	66 81 3c 24 7f 02    	cmpw   $0x27f,(%esp)
41b284:	74 03                	je     0x41b289
41b286:	d9 2c 24             	fldcw  (%esp)
41b289:	5a                   	pop    %edx
41b28a:	c3                   	ret
41b28b:	66 8b 04 24          	mov    (%esp),%ax
41b28f:	66 3d 7f 02          	cmp    $0x27f,%ax
41b293:	74 1e                	je     0x41b2b3
41b295:	66 83 e0 20          	and    $0x20,%ax
41b299:	74 15                	je     0x41b2b0
41b29b:	9b df e0             	fstsw  %ax
41b29e:	66 83 e0 20          	and    $0x20,%ax
41b2a2:	74 0c                	je     0x41b2b0
41b2a4:	b8 08 00 00 00       	mov    $0x8,%eax
41b2a9:	e8 e9 fe ff ff       	call   0x41b197
41b2ae:	5a                   	pop    %edx
41b2af:	c3                   	ret
41b2b0:	d9 2c 24             	fldcw  (%esp)
41b2b3:	5a                   	pop    %edx
41b2b4:	c3                   	ret
41b2b5:	83 ec 08             	sub    $0x8,%esp
41b2b8:	dd 14 24             	fstl   (%esp)
41b2bb:	8b 44 24 04          	mov    0x4(%esp),%eax
41b2bf:	83 c4 08             	add    $0x8,%esp
41b2c2:	25 00 00 f0 7f       	and    $0x7ff00000,%eax
41b2c7:	eb 14                	jmp    0x41b2dd
41b2c9:	83 ec 08             	sub    $0x8,%esp
41b2cc:	dd 14 24             	fstl   (%esp)
41b2cf:	8b 44 24 04          	mov    0x4(%esp),%eax
41b2d3:	83 c4 08             	add    $0x8,%esp
41b2d6:	25 00 00 f0 7f       	and    $0x7ff00000,%eax
41b2db:	74 3d                	je     0x41b31a
41b2dd:	3d 00 00 f0 7f       	cmp    $0x7ff00000,%eax
41b2e2:	74 5f                	je     0x41b343
41b2e4:	66 8b 04 24          	mov    (%esp),%ax
41b2e8:	66 3d 7f 02          	cmp    $0x27f,%ax
41b2ec:	74 2a                	je     0x41b318
41b2ee:	66 83 e0 20          	and    $0x20,%ax
41b2f2:	75 21                	jne    0x41b315
41b2f4:	9b df e0             	fstsw  %ax
41b2f7:	66 83 e0 20          	and    $0x20,%ax
41b2fb:	74 18                	je     0x41b315
41b2fd:	b8 08 00 00 00       	mov    $0x8,%eax
41b302:	83 fa 1d             	cmp    $0x1d,%edx
41b305:	74 07                	je     0x41b30e
41b307:	e8 8b fe ff ff       	call   0x41b197
41b30c:	5a                   	pop    %edx
41b30d:	c3                   	ret
41b30e:	e8 6d fe ff ff       	call   0x41b180
41b313:	5a                   	pop    %edx
41b314:	c3                   	ret
41b315:	d9 2c 24             	fldcw  (%esp)
41b318:	5a                   	pop    %edx
41b319:	c3                   	ret
41b31a:	dd 05 bc d3 42 00    	fldl   0x42d3bc
41b320:	d9 c9                	fxch   %st(1)
41b322:	d9 fd                	fscale
41b324:	dd d9                	fstp   %st(1)
41b326:	d9 c0                	fld    %st(0)
41b328:	d9 e1                	fabs
41b32a:	dc 1d ac d3 42 00    	fcompl 0x42d3ac
41b330:	9b df e0             	fstsw  %ax
41b333:	9e                   	sahf
41b334:	b8 04 00 00 00       	mov    $0x4,%eax
41b339:	73 c7                	jae    0x41b302
41b33b:	dc 0d cc d3 42 00    	fmull  0x42d3cc
41b341:	eb bf                	jmp    0x41b302
41b343:	dd 05 b4 d3 42 00    	fldl   0x42d3b4
41b349:	d9 c9                	fxch   %st(1)
41b34b:	d9 fd                	fscale
41b34d:	dd d9                	fstp   %st(1)
41b34f:	d9 c0                	fld    %st(0)
41b351:	d9 e1                	fabs
41b353:	dc 1d a4 d3 42 00    	fcompl 0x42d3a4
41b359:	9b df e0             	fstsw  %ax
41b35c:	9e                   	sahf
41b35d:	b8 03 00 00 00       	mov    $0x3,%eax
41b362:	76 9e                	jbe    0x41b302
41b364:	dc 0d c4 d3 42 00    	fmull  0x42d3c4
41b36a:	eb 96                	jmp    0x41b302
41b36c:	cc                   	int3
41b36d:	cc                   	int3
41b36e:	cc                   	int3
41b36f:	cc                   	int3
41b370:	55                   	push   %ebp
41b371:	8b ec                	mov    %esp,%ebp
41b373:	83 ec 08             	sub    $0x8,%esp
41b376:	83 e4 f0             	and    $0xfffffff0,%esp
41b379:	dd 1c 24             	fstpl  (%esp)
41b37c:	f3 0f 7e 04 24       	movq   (%esp),%xmm0
41b381:	e8 08 00 00 00       	call   0x41b38e
41b386:	c9                   	leave
41b387:	c3                   	ret
41b388:	66 0f 12 44 24 04    	movlpd 0x4(%esp),%xmm0
41b38e:	66 0f 12 25 80 d4 42 	movlpd 0x42d480,%xmm4
41b395:	00
41b396:	66 0f 12 1d 90 d4 42 	movlpd 0x42d490,%xmm3
41b39d:	00
41b39e:	66 0f 57 ed          	xorpd  %xmm5,%xmm5
41b3a2:	66 0f 12 15 88 d4 42 	movlpd 0x42d488,%xmm2
41b3a9:	00
41b3aa:	f2 0f 10 c8          	movsd  %xmm0,%xmm1
41b3ae:	66 0f 73 d0 2c       	psrlq  $0x2c,%xmm0
41b3b3:	66 0f 7e c2          	movd   %xmm0,%edx
41b3b7:	f2 0f 10 f9          	movsd  %xmm1,%xmm7
41b3bb:	b9 00 20 00 00       	mov    $0x2000,%ecx
41b3c0:	66 0f c4 e9 02       	pinsrw $0x2,%ecx,%xmm5
41b3c5:	f2 0f 10 c1          	movsd  %xmm1,%xmm0
41b3c9:	b8 ff ff 07 00       	mov    $0x7ffff,%eax
41b3ce:	23 c2                	and    %edx,%eax
41b3d0:	2d 00 fb 03 00       	sub    $0x3fb00,%eax
41b3d5:	3d bb 03 00 00       	cmp    $0x3bb,%eax
41b3da:	0f 83 ce 00 00 00    	jae    0x41b4ae
41b3e0:	f2 0f 59 c9          	mulsd  %xmm1,%xmm1
41b3e4:	81 e2 ff ff 00 00    	and    $0xffff,%edx
41b3ea:	f2 0f 5c d9          	subsd  %xmm1,%xmm3
41b3ee:	f2 0f 51 db          	sqrtsd %xmm3,%xmm3
41b3f2:	66 0f 54 d7          	andpd  %xmm7,%xmm2
41b3f6:	83 e2 fc             	and    $0xfffffffc,%edx
41b3f9:	81 ea 00 fb 00 00    	sub    $0xfb00,%edx
41b3ff:	66 0f 12 0c 55 40 04 	movlpd 0x430440(,%edx,2),%xmm1
41b406:	43 00
41b408:	66 0f 56 d5          	orpd   %xmm5,%xmm2
41b40c:	66 0f 28 24 95 40 f5 	movapd 0x42f540(,%edx,4),%xmm4
41b413:	42 00
41b415:	f2 0f 10 f7          	movsd  %xmm7,%xmm6
41b419:	f2 0f 58 fa          	addsd  %xmm2,%xmm7
41b41d:	f2 0f 5c c2          	subsd  %xmm2,%xmm0
41b421:	f2 0f 59 c7          	mulsd  %xmm7,%xmm0
41b425:	f2 0f 59 f1          	mulsd  %xmm1,%xmm6
41b429:	f2 0f 59 da          	mulsd  %xmm2,%xmm3
41b42d:	f2 0f 10 ce          	movsd  %xmm6,%xmm1
41b431:	f2 0f 58 f3          	addsd  %xmm3,%xmm6
41b435:	f2 0f 5e c6          	divsd  %xmm6,%xmm0
41b439:	66 0f 12 3d 38 d4 42 	movlpd 0x42d438,%xmm7
41b440:	00
41b441:	66 0f 12 2d 28 d4 42 	movlpd 0x42d428,%xmm5
41b448:	00
41b449:	f2 0f 5c cb          	subsd  %xmm3,%xmm1
41b44d:	66 0f 73 d2 3f       	psrlq  $0x3f,%xmm2
41b452:	f2 0f 10 d9          	movsd  %xmm1,%xmm3
41b456:	66 0f 73 f2 3f       	psllq  $0x3f,%xmm2
41b45b:	f2 0f 59 c9          	mulsd  %xmm1,%xmm1
41b45f:	66 0f 70 d2 44       	pshufd $0x44,%xmm2,%xmm2
41b464:	66 0f 12 35 30 d4 42 	movlpd 0x42d430,%xmm6
41b46b:	00
41b46c:	f2 0f 59 d9          	mulsd  %xmm1,%xmm3
41b470:	f2 0f 59 f9          	mulsd  %xmm1,%xmm7
41b474:	83 ec 10             	sub    $0x10,%esp
41b477:	66 0f 57 e2          	xorpd  %xmm2,%xmm4
41b47b:	f2 0f 59 eb          	mulsd  %xmm3,%xmm5
41b47f:	f2 0f 59 d9          	mulsd  %xmm1,%xmm3
41b483:	f2 0f 58 f7          	addsd  %xmm7,%xmm6
41b487:	f2 0f 59 f3          	mulsd  %xmm3,%xmm6
41b48b:	f2 0f 58 ec          	addsd  %xmm4,%xmm5
41b48f:	66 0f 70 e4 ee       	pshufd $0xee,%xmm4,%xmm4
41b494:	f2 0f 58 f5          	addsd  %xmm5,%xmm6
41b498:	f2 0f 58 c6          	addsd  %xmm6,%xmm0
41b49c:	f2 0f 58 c4          	addsd  %xmm4,%xmm0
41b4a0:	66 0f 13 44 24 04    	movlpd %xmm0,0x4(%esp)
41b4a6:	dd 44 24 04          	fldl   0x4(%esp)
41b4aa:	83 c4 10             	add    $0x10,%esp
41b4ad:	c3                   	ret
41b4ae:	2d bb 03 00 00       	sub    $0x3bb,%eax
41b4b3:	83 f8 43             	cmp    $0x43,%eax
41b4b6:	0f 83 19 01 00 00    	jae    0x41b5d5
41b4bc:	f2 0f 59 c9          	mulsd  %xmm1,%xmm1
41b4c0:	f2 0f 5c d9          	subsd  %xmm1,%xmm3
41b4c4:	f2 0f 51 db          	sqrtsd %xmm3,%xmm3
41b4c8:	66 0f d7 c7          	pmovmskb %xmm7,%eax
41b4cc:	66 0f 73 f0 01       	psllq  $0x1,%xmm0
41b4d1:	66 0f 54 3d 20 d4 42 	andpd  0x42d420,%xmm7
41b4d8:	00
41b4d9:	66 0f 73 d0 01       	psrlq  $0x1,%xmm0
41b4de:	f2 0f 10 c8          	movsd  %xmm0,%xmm1
41b4e2:	66 0f 12 25 90 d4 42 	movlpd 0x42d490,%xmm4
41b4e9:	00
41b4ea:	f2 0f 10 f7          	movsd  %xmm7,%xmm6
41b4ee:	f2 0f 5c cf          	subsd  %xmm7,%xmm1
41b4f2:	f2 0f 59 ff          	mulsd  %xmm7,%xmm7
41b4f6:	f2 0f 58 c6          	addsd  %xmm6,%xmm0
41b4fa:	f2 0f 5c e7          	subsd  %xmm7,%xmm4
41b4fe:	f2 0f 59 c1          	mulsd  %xmm1,%xmm0
41b502:	f2 0f 10 fb          	movsd  %xmm3,%xmm7
41b506:	66 0f 54 d3          	andpd  %xmm3,%xmm2
41b50a:	66 0f 73 f3 02       	psllq  $0x2,%xmm3
41b50f:	66 0f c5 d3 03       	pextrw $0x3,%xmm3,%edx
41b514:	66 0f 56 d5          	orpd   %xmm5,%xmm2
41b518:	81 ea c0 fe 00 00    	sub    $0xfec0,%edx
41b51e:	03 d2                	add    %edx,%edx
41b520:	f2 0f 59 3c 95 40 04 	mulsd  0x430440(,%edx,4),%xmm7
41b527:	43 00
41b529:	f2 0f 59 f2          	mulsd  %xmm2,%xmm6
41b52d:	66 0f 28 1d f0 d3 42 	movapd 0x42d3f0,%xmm3
41b534:	00
41b535:	f2 0f 59 ca          	mulsd  %xmm2,%xmm1
41b539:	f2 0f 59 d2          	mulsd  %xmm2,%xmm2
41b53d:	f2 0f 5c f7          	subsd  %xmm7,%xmm6
41b541:	f2 0f 58 f1          	addsd  %xmm1,%xmm6
41b545:	f2 0f 5c e2          	subsd  %xmm2,%xmm4
41b549:	f2 0f 58 ff          	addsd  %xmm7,%xmm7
41b54d:	66 0f 12 2d 28 d4 42 	movlpd 0x42d428,%xmm5
41b554:	00
41b555:	f2 0f 5c e0          	subsd  %xmm0,%xmm4
41b559:	f2 0f 58 fe          	addsd  %xmm6,%xmm7
41b55d:	66 0f 12 05 38 d4 42 	movlpd 0x42d438,%xmm0