474254:	c1 ef 04             	shr    $0x4,%edi
474257:	81 e7 ff 07 00 00    	and    $0x7ff,%edi
47425d:	81 ef fe 03 00 00    	sub    $0x3fe,%edi
474263:	5e                   	pop    %esi
474264:	8b 45 10             	mov    0x10(%ebp),%eax
474267:	89 38                	mov    %edi,(%eax)
474269:	5f                   	pop    %edi
47426a:	5d                   	pop    %ebp
47426b:	c3                   	ret
47426c:	8b ff                	mov    %edi,%edi
47426e:	55                   	push   %ebp
47426f:	8b ec                	mov    %esp,%ebp
474271:	0f b7 45 0e          	movzwl 0xe(%ebp),%eax
474275:	c1 e8 04             	shr    $0x4,%eax
474278:	25 ff 07 00 00       	and    $0x7ff,%eax
47427d:	2d fe 03 00 00       	sub    $0x3fe,%eax
474282:	98                   	cwtl
474283:	5d                   	pop    %ebp
474284:	c3                   	ret
474285:	8b ff                	mov    %edi,%edi
474287:	55                   	push   %ebp
474288:	8b ec                	mov    %esp,%ebp
47428a:	51                   	push   %ecx
47428b:	51                   	push   %ecx
47428c:	8b 4d 10             	mov    0x10(%ebp),%ecx
47428f:	0f b7 45 0e          	movzwl 0xe(%ebp),%eax
474293:	dd 45 08             	fldl   0x8(%ebp)
474296:	25 0f 80 00 00       	and    $0x800f,%eax
47429b:	c1 e1 04             	shl    $0x4,%ecx
47429e:	dd 5d f8             	fstpl  -0x8(%ebp)
4742a1:	0b c8                	or     %eax,%ecx
4742a3:	66 89 4d fe          	mov    %cx,-0x2(%ebp)
4742a7:	dd 45 f8             	fldl   -0x8(%ebp)
4742aa:	8b e5                	mov    %ebp,%esp
4742ac:	5d                   	pop    %ebp
4742ad:	c3                   	ret
4742ae:	8b ff                	mov    %edi,%edi
4742b0:	55                   	push   %ebp
4742b1:	8b ec                	mov    %esp,%ebp
4742b3:	51                   	push   %ecx
4742b4:	51                   	push   %ecx
4742b5:	8b 4d 10             	mov    0x10(%ebp),%ecx
4742b8:	0f b7 45 0e          	movzwl 0xe(%ebp),%eax
4742bc:	dd 45 08             	fldl   0x8(%ebp)
4742bf:	25 0f 80 00 00       	and    $0x800f,%eax
4742c4:	dd 5d f8             	fstpl  -0x8(%ebp)
4742c7:	8d 89 fe 03 00 00    	lea    0x3fe(%ecx),%ecx
4742cd:	c1 e1 04             	shl    $0x4,%ecx
4742d0:	0b c8                	or     %eax,%ecx
4742d2:	66 89 4d fe          	mov    %cx,-0x2(%ebp)
4742d6:	dd 45 f8             	fldl   -0x8(%ebp)
4742d9:	8b e5                	mov    %ebp,%esp
4742db:	5d                   	pop    %ebp
4742dc:	c3                   	ret
4742dd:	8b ff                	mov    %edi,%edi
4742df:	55                   	push   %ebp
4742e0:	8b ec                	mov    %esp,%ebp
4742e2:	81 7d 0c 00 00 f0 7f 	cmpl   $0x7ff00000,0xc(%ebp)
4742e9:	8b 45 08             	mov    0x8(%ebp),%eax
4742ec:	75 07                	jne    0x4742f5
4742ee:	85 c0                	test   %eax,%eax
4742f0:	75 15                	jne    0x474307
4742f2:	40                   	inc    %eax
4742f3:	5d                   	pop    %ebp
4742f4:	c3                   	ret
4742f5:	81 7d 0c 00 00 f0 ff 	cmpl   $0xfff00000,0xc(%ebp)
4742fc:	75 09                	jne    0x474307
4742fe:	85 c0                	test   %eax,%eax
474300:	75 05                	jne    0x474307
474302:	6a 02                	push   $0x2
474304:	58                   	pop    %eax
474305:	5d                   	pop    %ebp
474306:	c3                   	ret
474307:	66 8b 4d 0e          	mov    0xe(%ebp),%cx
47430b:	ba f8 7f 00 00       	mov    $0x7ff8,%edx
474310:	66 23 ca             	and    %dx,%cx
474313:	66 3b ca             	cmp    %dx,%cx
474316:	75 04                	jne    0x47431c
474318:	6a 03                	push   $0x3
47431a:	eb e8                	jmp    0x474304
47431c:	ba f0 7f 00 00       	mov    $0x7ff0,%edx
474321:	66 3b ca             	cmp    %dx,%cx
474324:	75 11                	jne    0x474337
474326:	f7 45 0c ff ff 07 00 	testl  $0x7ffff,0xc(%ebp)
47432d:	75 04                	jne    0x474333
47432f:	85 c0                	test   %eax,%eax
474331:	74 04                	je     0x474337
474333:	6a 04                	push   $0x4
474335:	eb cd                	jmp    0x474304
474337:	33 c0                	xor    %eax,%eax
474339:	5d                   	pop    %ebp
47433a:	c3                   	ret
47433b:	83 3d dc af 4b 00 01 	cmpl   $0x1,0x4bafdc
474342:	56                   	push   %esi
474343:	7c 11                	jl     0x474356
474345:	e8 6c 00 00 00       	call   0x4743b6
47434a:	8b f0                	mov    %eax,%esi
47434c:	83 e6 3f             	and    $0x3f,%esi
47434f:	e8 43 00 00 00       	call   0x474397
474354:	eb 02                	jmp    0x474358
474356:	33 f6                	xor    %esi,%esi
474358:	8b c6                	mov    %esi,%eax
47435a:	5e                   	pop    %esi
47435b:	c3                   	ret
47435c:	8b ff                	mov    %edi,%edi
47435e:	55                   	push   %ebp
47435f:	8b ec                	mov    %esp,%ebp
474361:	83 3d dc af 4b 00 01 	cmpl   $0x1,0x4bafdc
474368:	56                   	push   %esi
474369:	7c 25                	jl     0x474390
47436b:	e8 46 00 00 00       	call   0x4743b6
474370:	8b 55 0c             	mov    0xc(%ebp),%edx
474373:	8b f0                	mov    %eax,%esi
474375:	8b 4d 08             	mov    0x8(%ebp),%ecx
474378:	f7 d2                	not    %edx
47437a:	23 4d 0c             	and    0xc(%ebp),%ecx
47437d:	81 ca 7f 80 ff ff    	or     $0xffff807f,%edx
474383:	23 d6                	and    %esi,%edx
474385:	0b d1                	or     %ecx,%edx
474387:	52                   	push   %edx
474388:	e8 47 00 00 00       	call   0x4743d4
47438d:	59                   	pop    %ecx
47438e:	eb 02                	jmp    0x474392
474390:	33 f6                	xor    %esi,%esi
474392:	8b c6                	mov    %esi,%eax
474394:	5e                   	pop    %esi
474395:	5d                   	pop    %ebp
474396:	c3                   	ret
474397:	8b ff                	mov    %edi,%edi
474399:	55                   	push   %ebp
47439a:	8b ec                	mov    %esp,%ebp
47439c:	51                   	push   %ecx
47439d:	83 3d dc af 4b 00 01 	cmpl   $0x1,0x4bafdc
4743a4:	7c 0c                	jl     0x4743b2
4743a6:	0f ae 5d fc          	stmxcsr -0x4(%ebp)
4743aa:	83 65 fc c0          	andl   $0xffffffc0,-0x4(%ebp)
4743ae:	0f ae 55 fc          	ldmxcsr -0x4(%ebp)
4743b2:	8b e5                	mov    %ebp,%esp
4743b4:	5d                   	pop    %ebp
4743b5:	c3                   	ret
4743b6:	8b ff                	mov    %edi,%edi
4743b8:	55                   	push   %ebp
4743b9:	8b ec                	mov    %esp,%ebp
4743bb:	51                   	push   %ecx
4743bc:	83 3d dc af 4b 00 01 	cmpl   $0x1,0x4bafdc
4743c3:	7c 09                	jl     0x4743ce
4743c5:	0f ae 5d fc          	stmxcsr -0x4(%ebp)
4743c9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4743cc:	eb 02                	jmp    0x4743d0
4743ce:	33 c0                	xor    %eax,%eax
4743d0:	8b e5                	mov    %ebp,%esp
4743d2:	5d                   	pop    %ebp
4743d3:	c3                   	ret
4743d4:	6a 08                	push   $0x8
4743d6:	68 80 4d 4b 00       	push   $0x4b4d80
4743db:	e8 80 c5 fc ff       	call   0x440960
4743e0:	83 3d dc af 4b 00 01 	cmpl   $0x1,0x4bafdc
4743e7:	7c 5b                	jl     0x474444
4743e9:	8b 45 08             	mov    0x8(%ebp),%eax
4743ec:	a8 40                	test   $0x40,%al
4743ee:	74 4a                	je     0x47443a
4743f0:	83 3d 00 83 4b 00 00 	cmpl   $0x0,0x4b8300
4743f7:	74 41                	je     0x47443a
4743f9:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4743fd:	0f ae 55 08          	ldmxcsr 0x8(%ebp)
474401:	eb 2e                	jmp    0x474431
474403:	8b 45 ec             	mov    -0x14(%ebp),%eax
474406:	8b 00                	mov    (%eax),%eax
474408:	81 38 05 00 00 c0    	cmpl   $0xc0000005,(%eax)
47440e:	74 0b                	je     0x47441b
474410:	81 38 1d 00 00 c0    	cmpl   $0xc000001d,(%eax)
474416:	74 03                	je     0x47441b
474418:	33 c0                	xor    %eax,%eax
47441a:	c3                   	ret
47441b:	33 c0                	xor    %eax,%eax
47441d:	40                   	inc    %eax
47441e:	c3                   	ret
47441f:	8b 65 e8             	mov    -0x18(%ebp),%esp
474422:	83 25 00 83 4b 00 00 	andl   $0x0,0x4b8300
474429:	83 65 08 bf          	andl   $0xffffffbf,0x8(%ebp)
47442d:	0f ae 55 08          	ldmxcsr 0x8(%ebp)
474431:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
474438:	eb 0a                	jmp    0x474444
47443a:	83 e0 bf             	and    $0xffffffbf,%eax
47443d:	89 45 08             	mov    %eax,0x8(%ebp)
474440:	0f ae 55 08          	ldmxcsr 0x8(%ebp)
474444:	e8 5d c5 fc ff       	call   0x4409a6
474449:	c3                   	ret
47444a:	8b ff                	mov    %edi,%edi
47444c:	55                   	push   %ebp
47444d:	8b ec                	mov    %esp,%ebp
47444f:	e8 62 ff ff ff       	call   0x4743b6
474454:	8b 4d 08             	mov    0x8(%ebp),%ecx
474457:	83 e1 3f             	and    $0x3f,%ecx
47445a:	0b c1                	or     %ecx,%eax
47445c:	50                   	push   %eax
47445d:	e8 72 ff ff ff       	call   0x4743d4
474462:	59                   	pop    %ecx
474463:	5d                   	pop    %ebp
474464:	c3                   	ret
474465:	83 3d dc af 4b 00 01 	cmpl   $0x1,0x4bafdc
47446c:	7c 09                	jl     0x474477
47446e:	e8 43 ff ff ff       	call   0x4743b6
474473:	83 e0 3f             	and    $0x3f,%eax
474476:	c3                   	ret
474477:	33 c0                	xor    %eax,%eax
474479:	c3                   	ret
47447a:	8b ff                	mov    %edi,%edi
47447c:	55                   	push   %ebp
47447d:	8b ec                	mov    %esp,%ebp
47447f:	51                   	push   %ecx
474480:	dd 7d fc             	fnstsw -0x4(%ebp)
474483:	db e2                	fnclex
474485:	0f bf 45 fc          	movswl -0x4(%ebp),%eax
474489:	8b e5                	mov    %ebp,%esp
47448b:	5d                   	pop    %ebp
47448c:	c3                   	ret
47448d:	8b ff                	mov    %edi,%edi
47448f:	55                   	push   %ebp
474490:	8b ec                	mov    %esp,%ebp
474492:	51                   	push   %ecx
474493:	51                   	push   %ecx
474494:	9b d9 7d fc          	fstcw  -0x4(%ebp)
474498:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47449b:	8b 45 08             	mov    0x8(%ebp),%eax
47449e:	f7 d1                	not    %ecx
4744a0:	66 23 4d fc          	and    -0x4(%ebp),%cx
4744a4:	23 45 0c             	and    0xc(%ebp),%eax
4744a7:	66 0b c8             	or     %ax,%cx
4744aa:	66 89 4d f8          	mov    %cx,-0x8(%ebp)
4744ae:	d9 6d f8             	fldcw  -0x8(%ebp)
4744b1:	0f bf 45 fc          	movswl -0x4(%ebp),%eax
4744b5:	8b e5                	mov    %ebp,%esp
4744b7:	5d                   	pop    %ebp
4744b8:	c3                   	ret
4744b9:	8b ff                	mov    %edi,%edi
4744bb:	55                   	push   %ebp
4744bc:	8b ec                	mov    %esp,%ebp
4744be:	8b 4d 08             	mov    0x8(%ebp),%ecx
4744c1:	83 ec 0c             	sub    $0xc,%esp
4744c4:	f6 c1 01             	test   $0x1,%cl
4744c7:	74 0a                	je     0x4744d3
4744c9:	db 2d f8 e0 49 00    	fldt   0x49e0f8
4744cf:	db 5d fc             	fistpl -0x4(%ebp)
4744d2:	9b                   	fwait
4744d3:	f6 c1 08             	test   $0x8,%cl
4744d6:	74 10                	je     0x4744e8
4744d8:	9b df e0             	fstsw  %ax
4744db:	db 2d f8 e0 49 00    	fldt   0x49e0f8
4744e1:	dd 5d f4             	fstpl  -0xc(%ebp)
4744e4:	9b 9b df e0          	fstsw  %ax
4744e8:	f6 c1 10             	test   $0x10,%cl
4744eb:	74 0a                	je     0x4744f7
4744ed:	db 2d 04 e1 49 00    	fldt   0x49e104
4744f3:	dd 5d f4             	fstpl  -0xc(%ebp)
4744f6:	9b                   	fwait
4744f7:	f6 c1 04             	test   $0x4,%cl
4744fa:	74 09                	je     0x474505
4744fc:	d9 ee                	fldz
4744fe:	d9 e8                	fld1
474500:	de f1                	fdivp  %st,%st(1)
474502:	dd d8                	fstp   %st(0)
474504:	9b                   	fwait
474505:	f6 c1 20             	test   $0x20,%cl
474508:	74 06                	je     0x474510
47450a:	d9 eb                	fldpi
47450c:	dd 5d f4             	fstpl  -0xc(%ebp)
47450f:	9b                   	fwait
474510:	8b e5                	mov    %ebp,%esp
474512:	5d                   	pop    %ebp
474513:	c3                   	ret
474514:	8b ff                	mov    %edi,%edi
474516:	55                   	push   %ebp
474517:	8b ec                	mov    %esp,%ebp
474519:	51                   	push   %ecx
47451a:	9b dd 7d fc          	fstsw  -0x4(%ebp)
47451e:	0f bf 45 fc          	movswl -0x4(%ebp),%eax
474522:	8b e5                	mov    %ebp,%esp
474524:	5d                   	pop    %ebp
474525:	c3                   	ret
474526:	8b ff                	mov    %edi,%edi
474528:	55                   	push   %ebp
474529:	8b ec                	mov    %esp,%ebp
47452b:	33 c9                	xor    %ecx,%ecx
47452d:	5d                   	pop    %ebp
47452e:	e9 6e 01 00 00       	jmp    0x4746a1
474533:	a1 94 80 4b 00       	mov    0x4b8094,%eax
474538:	83 e0 1f             	and    $0x1f,%eax
47453b:	6a 20                	push   $0x20
47453d:	59                   	pop    %ecx
47453e:	2b c8                	sub    %eax,%ecx
474540:	33 c0                	xor    %eax,%eax
474542:	d3 c8                	ror    %cl,%eax
474544:	33 05 94 80 4b 00    	xor    0x4b8094,%eax
47454a:	c3                   	ret
47454b:	6a 0c                	push   $0xc
47454d:	68 a0 4d 4b 00       	push   $0x4b4da0
474552:	e8 09 c4 fc ff       	call   0x440960
474557:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
47455b:	8b 45 08             	mov    0x8(%ebp),%eax
47455e:	ff 30                	push   (%eax)
474560:	e8 a7 39 ff ff       	call   0x467f0c
474565:	59                   	pop    %ecx
474566:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
47456a:	8b 45 0c             	mov    0xc(%ebp),%eax
47456d:	8b 00                	mov    (%eax),%eax
47456f:	ff 30                	push   (%eax)
474571:	e8 97 00 00 00       	call   0x47460d
474576:	59                   	pop    %ecx
474577:	a3 f8 bf 4b 00       	mov    %eax,0x4bbff8
47457c:	6a 01                	push   $0x1
47457e:	68 26 45 47 00       	push   $0x474526
474583:	ff 15 64 40 49 00    	call   *0x494064
474589:	8b f0                	mov    %eax,%esi
47458b:	a1 94 80 4b 00       	mov    0x4b8094,%eax
474590:	83 e0 1f             	and    $0x1f,%eax
474593:	6a 20                	push   $0x20
474595:	59                   	pop    %ecx
474596:	2b c8                	sub    %eax,%ecx
474598:	33 c0                	xor    %eax,%eax
47459a:	d3 c8                	ror    %cl,%eax
47459c:	33 05 94 80 4b 00    	xor    0x4b8094,%eax
4745a2:	a3 f8 bf 4b 00       	mov    %eax,0x4bbff8
4745a7:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4745aa:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4745b1:	e8 0d 00 00 00       	call   0x4745c3
4745b6:	8b c6                	mov    %esi,%eax
4745b8:	e8 e9 c3 fc ff       	call   0x4409a6
4745bd:	c2 0c 00             	ret    $0xc
4745c0:	8b 75 e4             	mov    -0x1c(%ebp),%esi
4745c3:	8b 4d 10             	mov    0x10(%ebp),%ecx
4745c6:	ff 31                	push   (%ecx)
4745c8:	e8 87 39 ff ff       	call   0x467f54
4745cd:	59                   	pop    %ecx
4745ce:	c3                   	ret
4745cf:	8b ff                	mov    %edi,%edi
4745d1:	55                   	push   %ebp
4745d2:	8b ec                	mov    %esp,%ebp
4745d4:	83 ec 0c             	sub    $0xc,%esp
4745d7:	8b 45 08             	mov    0x8(%ebp),%eax
4745da:	8d 4d ff             	lea    -0x1(%ebp),%ecx
4745dd:	89 45 f8             	mov    %eax,-0x8(%ebp)
4745e0:	89 45 f4             	mov    %eax,-0xc(%ebp)
4745e3:	8d 45 f8             	lea    -0x8(%ebp),%eax
4745e6:	50                   	push   %eax
4745e7:	ff 75 0c             	push   0xc(%ebp)
4745ea:	8d 45 f4             	lea    -0xc(%ebp),%eax
4745ed:	50                   	push   %eax
4745ee:	e8 58 ff ff ff       	call   0x47454b
4745f3:	8b e5                	mov    %ebp,%esp