41d333:	83 e0 e3             	and    $0xffffffe3,%eax
41d336:	83 c8 02             	or     $0x2,%eax
41d339:	89 41 60             	mov    %eax,0x60(%ecx)
41d33c:	8b 45 08             	mov    0x8(%ebp),%eax
41d33f:	dd 03                	fldl   (%ebx)
41d341:	dd 58 50             	fstpl  0x50(%eax)
41d344:	e8 75 03 00 00       	call   0x41d6be
41d349:	8d 45 08             	lea    0x8(%ebp),%eax
41d34c:	50                   	push   %eax
41d34d:	6a 01                	push   $0x1
41d34f:	6a 00                	push   $0x0
41d351:	57                   	push   %edi
41d352:	ff 15 bc 71 42 00    	call   *0x4271bc
41d358:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d35b:	f6 41 08 10          	testb  $0x10,0x8(%ecx)
41d35f:	74 03                	je     0x41d364
41d361:	83 26 fe             	andl   $0xfffffffe,(%esi)
41d364:	f6 41 08 08          	testb  $0x8,0x8(%ecx)
41d368:	74 03                	je     0x41d36d
41d36a:	83 26 fb             	andl   $0xfffffffb,(%esi)
41d36d:	f6 41 08 04          	testb  $0x4,0x8(%ecx)
41d371:	74 03                	je     0x41d376
41d373:	83 26 f7             	andl   $0xfffffff7,(%esi)
41d376:	f6 41 08 02          	testb  $0x2,0x8(%ecx)
41d37a:	74 03                	je     0x41d37f
41d37c:	83 26 ef             	andl   $0xffffffef,(%esi)
41d37f:	f6 41 08 01          	testb  $0x1,0x8(%ecx)
41d383:	74 03                	je     0x41d388
41d385:	83 26 df             	andl   $0xffffffdf,(%esi)
41d388:	8b 01                	mov    (%ecx),%eax
41d38a:	ba ff f3 ff ff       	mov    $0xfffff3ff,%edx
41d38f:	83 e0 03             	and    $0x3,%eax
41d392:	83 e8 00             	sub    $0x0,%eax
41d395:	74 35                	je     0x41d3cc
41d397:	83 e8 01             	sub    $0x1,%eax
41d39a:	74 22                	je     0x41d3be
41d39c:	83 e8 01             	sub    $0x1,%eax
41d39f:	74 0d                	je     0x41d3ae
41d3a1:	83 e8 01             	sub    $0x1,%eax
41d3a4:	75 28                	jne    0x41d3ce
41d3a6:	81 0e 00 0c 00 00    	orl    $0xc00,(%esi)
41d3ac:	eb 20                	jmp    0x41d3ce
41d3ae:	8b 06                	mov    (%esi),%eax
41d3b0:	25 ff fb ff ff       	and    $0xfffffbff,%eax
41d3b5:	0d 00 08 00 00       	or     $0x800,%eax
41d3ba:	89 06                	mov    %eax,(%esi)
41d3bc:	eb 10                	jmp    0x41d3ce
41d3be:	8b 06                	mov    (%esi),%eax
41d3c0:	25 ff f7 ff ff       	and    $0xfffff7ff,%eax
41d3c5:	0d 00 04 00 00       	or     $0x400,%eax
41d3ca:	eb ee                	jmp    0x41d3ba
41d3cc:	21 16                	and    %edx,(%esi)
41d3ce:	8b 01                	mov    (%ecx),%eax
41d3d0:	c1 e8 02             	shr    $0x2,%eax
41d3d3:	83 e0 07             	and    $0x7,%eax
41d3d6:	83 e8 00             	sub    $0x0,%eax
41d3d9:	74 19                	je     0x41d3f4
41d3db:	83 e8 01             	sub    $0x1,%eax
41d3de:	74 09                	je     0x41d3e9
41d3e0:	83 e8 01             	sub    $0x1,%eax
41d3e3:	75 1a                	jne    0x41d3ff
41d3e5:	21 16                	and    %edx,(%esi)
41d3e7:	eb 16                	jmp    0x41d3ff
41d3e9:	8b 06                	mov    (%esi),%eax
41d3eb:	23 c2                	and    %edx,%eax
41d3ed:	0d 00 02 00 00       	or     $0x200,%eax
41d3f2:	eb 09                	jmp    0x41d3fd
41d3f4:	8b 06                	mov    (%esi),%eax
41d3f6:	23 c2                	and    %edx,%eax
41d3f8:	0d 00 03 00 00       	or     $0x300,%eax
41d3fd:	89 06                	mov    %eax,(%esi)
41d3ff:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
41d403:	5e                   	pop    %esi
41d404:	74 07                	je     0x41d40d
41d406:	d9 41 50             	flds   0x50(%ecx)
41d409:	d9 1b                	fstps  (%ebx)
41d40b:	eb 05                	jmp    0x41d412
41d40d:	dd 41 50             	fldl   0x50(%ecx)
41d410:	dd 1b                	fstpl  (%ebx)
41d412:	5f                   	pop    %edi
41d413:	5b                   	pop    %ebx
41d414:	5d                   	pop    %ebp
41d415:	c3                   	ret
41d416:	8b ff                	mov    %edi,%edi
41d418:	55                   	push   %ebp
41d419:	8b ec                	mov    %esp,%ebp
41d41b:	8b 45 08             	mov    0x8(%ebp),%eax
41d41e:	83 f8 01             	cmp    $0x1,%eax
41d421:	74 15                	je     0x41d438
41d423:	83 c0 fe             	add    $0xfffffffe,%eax
41d426:	83 f8 01             	cmp    $0x1,%eax
41d429:	77 18                	ja     0x41d443
41d42b:	e8 3b 76 ff ff       	call   0x414a6b
41d430:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
41d436:	5d                   	pop    %ebp
41d437:	c3                   	ret
41d438:	e8 2e 76 ff ff       	call   0x414a6b
41d43d:	c7 00 21 00 00 00    	movl   $0x21,(%eax)
41d443:	5d                   	pop    %ebp
41d444:	c3                   	ret
41d445:	8b ff                	mov    %edi,%edi
41d447:	55                   	push   %ebp
41d448:	8b ec                	mov    %esp,%ebp
41d44a:	8b 55 0c             	mov    0xc(%ebp),%edx
41d44d:	83 ec 20             	sub    $0x20,%esp
41d450:	33 c9                	xor    %ecx,%ecx
41d452:	8b c1                	mov    %ecx,%eax
41d454:	39 14 c5 c8 d6 42 00 	cmp    %edx,0x42d6c8(,%eax,8)
41d45b:	74 08                	je     0x41d465
41d45d:	40                   	inc    %eax
41d45e:	83 f8 1d             	cmp    $0x1d,%eax
41d461:	7c f1                	jl     0x41d454
41d463:	eb 07                	jmp    0x41d46c
41d465:	8b 0c c5 cc d6 42 00 	mov    0x42d6cc(,%eax,8),%ecx
41d46c:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
41d46f:	85 c9                	test   %ecx,%ecx
41d471:	74 55                	je     0x41d4c8
41d473:	8b 45 10             	mov    0x10(%ebp),%eax
41d476:	89 45 e8             	mov    %eax,-0x18(%ebp)
41d479:	8b 45 14             	mov    0x14(%ebp),%eax
41d47c:	89 45 ec             	mov    %eax,-0x14(%ebp)
41d47f:	8b 45 18             	mov    0x18(%ebp),%eax
41d482:	89 45 f0             	mov    %eax,-0x10(%ebp)
41d485:	8b 45 1c             	mov    0x1c(%ebp),%eax
41d488:	56                   	push   %esi
41d489:	8b 75 08             	mov    0x8(%ebp),%esi
41d48c:	89 45 f4             	mov    %eax,-0xc(%ebp)
41d48f:	8b 45 20             	mov    0x20(%ebp),%eax
41d492:	68 ff ff 00 00       	push   $0xffff
41d497:	ff 75 28             	push   0x28(%ebp)
41d49a:	89 45 f8             	mov    %eax,-0x8(%ebp)
41d49d:	8b 45 24             	mov    0x24(%ebp),%eax
41d4a0:	89 75 e0             	mov    %esi,-0x20(%ebp)
41d4a3:	89 45 fc             	mov    %eax,-0x4(%ebp)
41d4a6:	e8 26 02 00 00       	call   0x41d6d1
41d4ab:	8d 45 e0             	lea    -0x20(%ebp),%eax
41d4ae:	50                   	push   %eax
41d4af:	e8 d4 92 ff ff       	call   0x416788
41d4b4:	83 c4 0c             	add    $0xc,%esp
41d4b7:	85 c0                	test   %eax,%eax
41d4b9:	75 07                	jne    0x41d4c2
41d4bb:	56                   	push   %esi
41d4bc:	e8 55 ff ff ff       	call   0x41d416
41d4c1:	59                   	pop    %ecx
41d4c2:	dd 45 f8             	fldl   -0x8(%ebp)
41d4c5:	5e                   	pop    %esi
41d4c6:	eb 1b                	jmp    0x41d4e3
41d4c8:	68 ff ff 00 00       	push   $0xffff
41d4cd:	ff 75 28             	push   0x28(%ebp)
41d4d0:	e8 fc 01 00 00       	call   0x41d6d1
41d4d5:	ff 75 08             	push   0x8(%ebp)
41d4d8:	e8 39 ff ff ff       	call   0x41d416
41d4dd:	dd 45 20             	fldl   0x20(%ebp)
41d4e0:	83 c4 0c             	add    $0xc,%esp
41d4e3:	8b e5                	mov    %ebp,%esp
41d4e5:	5d                   	pop    %ebp
41d4e6:	c3                   	ret
41d4e7:	8b ff                	mov    %edi,%edi
41d4e9:	55                   	push   %ebp
41d4ea:	8b ec                	mov    %esp,%ebp
41d4ec:	dd 45 08             	fldl   0x8(%ebp)
41d4ef:	d9 ee                	fldz
41d4f1:	dd e1                	fucom  %st(1)
41d4f3:	df e0                	fnstsw %ax
41d4f5:	57                   	push   %edi
41d4f6:	f6 c4 44             	test   $0x44,%ah
41d4f9:	7a 09                	jp     0x41d504
41d4fb:	dd d9                	fstp   %st(1)
41d4fd:	33 ff                	xor    %edi,%edi
41d4ff:	e9 af 00 00 00       	jmp    0x41d5b3
41d504:	56                   	push   %esi
41d505:	66 8b 75 0e          	mov    0xe(%ebp),%si
41d509:	0f b7 c6             	movzwl %si,%eax
41d50c:	a9 f0 7f 00 00       	test   $0x7ff0,%eax
41d511:	75 7c                	jne    0x41d58f
41d513:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41d516:	8b 55 08             	mov    0x8(%ebp),%edx
41d519:	f7 c1 ff ff 0f 00    	test   $0xfffff,%ecx
41d51f:	75 04                	jne    0x41d525
41d521:	85 d2                	test   %edx,%edx
41d523:	74 6a                	je     0x41d58f
41d525:	de d9                	fcompp
41d527:	bf 03 fc ff ff       	mov    $0xfffffc03,%edi
41d52c:	df e0                	fnstsw %ax
41d52e:	f6 c4 41             	test   $0x41,%ah
41d531:	75 05                	jne    0x41d538
41d533:	33 c0                	xor    %eax,%eax
41d535:	40                   	inc    %eax
41d536:	eb 02                	jmp    0x41d53a
41d538:	33 c0                	xor    %eax,%eax
41d53a:	f6 45 0e 10          	testb  $0x10,0xe(%ebp)
41d53e:	75 1f                	jne    0x41d55f
41d540:	03 c9                	add    %ecx,%ecx
41d542:	89 4d 0c             	mov    %ecx,0xc(%ebp)
41d545:	85 d2                	test   %edx,%edx
41d547:	79 06                	jns    0x41d54f
41d549:	83 c9 01             	or     $0x1,%ecx
41d54c:	89 4d 0c             	mov    %ecx,0xc(%ebp)
41d54f:	03 d2                	add    %edx,%edx
41d551:	4f                   	dec    %edi
41d552:	f6 45 0e 10          	testb  $0x10,0xe(%ebp)
41d556:	74 e8                	je     0x41d540
41d558:	66 8b 75 0e          	mov    0xe(%ebp),%si
41d55c:	89 55 08             	mov    %edx,0x8(%ebp)
41d55f:	b9 ef ff 00 00       	mov    $0xffef,%ecx
41d564:	66 23 f1             	and    %cx,%si
41d567:	66 89 75 0e          	mov    %si,0xe(%ebp)
41d56b:	85 c0                	test   %eax,%eax
41d56d:	74 0c                	je     0x41d57b
41d56f:	b8 00 80 00 00       	mov    $0x8000,%eax
41d574:	66 0b f0             	or     %ax,%si
41d577:	66 89 75 0e          	mov    %si,0xe(%ebp)
41d57b:	dd 45 08             	fldl   0x8(%ebp)
41d57e:	6a 00                	push   $0x0
41d580:	51                   	push   %ecx
41d581:	51                   	push   %ecx
41d582:	dd 1c 24             	fstpl  (%esp)
41d585:	e8 31 00 00 00       	call   0x41d5bb
41d58a:	83 c4 0c             	add    $0xc,%esp
41d58d:	eb 23                	jmp    0x41d5b2
41d58f:	6a 00                	push   $0x0
41d591:	51                   	push   %ecx
41d592:	dd d8                	fstp   %st(0)
41d594:	51                   	push   %ecx
41d595:	dd 1c 24             	fstpl  (%esp)
41d598:	e8 1e 00 00 00       	call   0x41d5bb
41d59d:	0f b7 fe             	movzwl %si,%edi
41d5a0:	83 c4 0c             	add    $0xc,%esp
41d5a3:	c1 ef 04             	shr    $0x4,%edi
41d5a6:	81 e7 ff 07 00 00    	and    $0x7ff,%edi
41d5ac:	81 ef fe 03 00 00    	sub    $0x3fe,%edi
41d5b2:	5e                   	pop    %esi
41d5b3:	8b 45 10             	mov    0x10(%ebp),%eax
41d5b6:	89 38                	mov    %edi,(%eax)
41d5b8:	5f                   	pop    %edi
41d5b9:	5d                   	pop    %ebp
41d5ba:	c3                   	ret
41d5bb:	8b ff                	mov    %edi,%edi
41d5bd:	55                   	push   %ebp
41d5be:	8b ec                	mov    %esp,%ebp
41d5c0:	51                   	push   %ecx
41d5c1:	51                   	push   %ecx
41d5c2:	8b 4d 10             	mov    0x10(%ebp),%ecx
41d5c5:	0f b7 45 0e          	movzwl 0xe(%ebp),%eax
41d5c9:	dd 45 08             	fldl   0x8(%ebp)
41d5cc:	25 0f 80 00 00       	and    $0x800f,%eax
41d5d1:	dd 5d f8             	fstpl  -0x8(%ebp)
41d5d4:	8d 89 fe 03 00 00    	lea    0x3fe(%ecx),%ecx
41d5da:	c1 e1 04             	shl    $0x4,%ecx
41d5dd:	0b c8                	or     %eax,%ecx
41d5df:	66 89 4d fe          	mov    %cx,-0x2(%ebp)
41d5e3:	dd 45 f8             	fldl   -0x8(%ebp)
41d5e6:	8b e5                	mov    %ebp,%esp
41d5e8:	5d                   	pop    %ebp
41d5e9:	c3                   	ret
41d5ea:	8b ff                	mov    %edi,%edi
41d5ec:	55                   	push   %ebp
41d5ed:	8b ec                	mov    %esp,%ebp
41d5ef:	81 7d 0c 00 00 f0 7f 	cmpl   $0x7ff00000,0xc(%ebp)
41d5f6:	8b 45 08             	mov    0x8(%ebp),%eax
41d5f9:	75 07                	jne    0x41d602
41d5fb:	85 c0                	test   %eax,%eax
41d5fd:	75 15                	jne    0x41d614
41d5ff:	40                   	inc    %eax
41d600:	5d                   	pop    %ebp
41d601:	c3                   	ret
41d602:	81 7d 0c 00 00 f0 ff 	cmpl   $0xfff00000,0xc(%ebp)
41d609:	75 09                	jne    0x41d614
41d60b:	85 c0                	test   %eax,%eax
41d60d:	75 05                	jne    0x41d614
41d60f:	6a 02                	push   $0x2
41d611:	58                   	pop    %eax
41d612:	5d                   	pop    %ebp
41d613:	c3                   	ret
41d614:	66 8b 4d 0e          	mov    0xe(%ebp),%cx
41d618:	ba f8 7f 00 00       	mov    $0x7ff8,%edx
41d61d:	66 23 ca             	and    %dx,%cx
41d620:	66 3b ca             	cmp    %dx,%cx
41d623:	75 04                	jne    0x41d629
41d625:	6a 03                	push   $0x3
41d627:	eb e8                	jmp    0x41d611
41d629:	ba f0 7f 00 00       	mov    $0x7ff0,%edx
41d62e:	66 3b ca             	cmp    %dx,%cx
41d631:	75 11                	jne    0x41d644
41d633:	f7 45 0c ff ff 07 00 	testl  $0x7ffff,0xc(%ebp)
41d63a:	75 04                	jne    0x41d640
41d63c:	85 c0                	test   %eax,%eax
41d63e:	74 04                	je     0x41d644
41d640:	6a 04                	push   $0x4
41d642:	eb cd                	jmp    0x41d611
41d644:	33 c0                	xor    %eax,%eax
41d646:	5d                   	pop    %ebp
41d647:	c3                   	ret
41d648:	6a 08                	push   $0x8
41d64a:	68 70 82 43 00       	push   $0x438270
41d64f:	e8 cc 9f fe ff       	call   0x407620
41d654:	83 3d 48 96 83 02 01 	cmpl   $0x1,0x2839648
41d65b:	7c 5b                	jl     0x41d6b8
41d65d:	8b 45 08             	mov    0x8(%ebp),%eax
41d660:	a8 40                	test   $0x40,%al
41d662:	74 4a                	je     0x41d6ae
41d664:	83 3d b4 bc 43 00 00 	cmpl   $0x0,0x43bcb4
41d66b:	74 41                	je     0x41d6ae
41d66d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41d671:	0f ae 55 08          	ldmxcsr 0x8(%ebp)
41d675:	eb 2e                	jmp    0x41d6a5
41d677:	8b 45 ec             	mov    -0x14(%ebp),%eax
41d67a:	8b 00                	mov    (%eax),%eax
41d67c:	81 38 05 00 00 c0    	cmpl   $0xc0000005,(%eax)
41d682:	74 0b                	je     0x41d68f
41d684:	81 38 1d 00 00 c0    	cmpl   $0xc000001d,(%eax)
41d68a:	74 03                	je     0x41d68f
41d68c:	33 c0                	xor    %eax,%eax
41d68e:	c3                   	ret
41d68f:	33 c0                	xor    %eax,%eax
41d691:	40                   	inc    %eax
41d692:	c3                   	ret
41d693:	8b 65 e8             	mov    -0x18(%ebp),%esp
41d696:	83 25 b4 bc 43 00 00 	andl   $0x0,0x43bcb4
41d69d:	83 65 08 bf          	andl   $0xffffffbf,0x8(%ebp)
41d6a1:	0f ae 55 08          	ldmxcsr 0x8(%ebp)
41d6a5:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
41d6ac:	eb 0a                	jmp    0x41d6b8
41d6ae:	83 e0 bf             	and    $0xffffffbf,%eax
41d6b1:	89 45 08             	mov    %eax,0x8(%ebp)
41d6b4:	0f ae 55 08          	ldmxcsr 0x8(%ebp)
41d6b8:	e8 a9 9f fe ff       	call   0x407666
41d6bd:	c3                   	ret
41d6be:	8b ff                	mov    %edi,%edi
41d6c0:	55                   	push   %ebp
41d6c1:	8b ec                	mov    %esp,%ebp
41d6c3:	51                   	push   %ecx
41d6c4:	dd 7d fc             	fnstsw -0x4(%ebp)
41d6c7:	db e2                	fnclex
41d6c9:	0f bf 45 fc          	movswl -0x4(%ebp),%eax
41d6cd:	8b e5                	mov    %ebp,%esp
41d6cf:	5d                   	pop    %ebp
41d6d0:	c3                   	ret
41d6d1:	8b ff                	mov    %edi,%edi
41d6d3:	55                   	push   %ebp
41d6d4:	8b ec                	mov    %esp,%ebp
41d6d6:	51                   	push   %ecx
41d6d7:	51                   	push   %ecx
41d6d8:	9b d9 7d fc          	fstcw  -0x4(%ebp)
41d6dc:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41d6df:	8b 45 08             	mov    0x8(%ebp),%eax
41d6e2:	f7 d1                	not    %ecx
41d6e4:	66 23 4d fc          	and    -0x4(%ebp),%cx
41d6e8:	23 45 0c             	and    0xc(%ebp),%eax
41d6eb:	66 0b c8             	or     %ax,%cx