46925f:	57                   	push   %edi
469260:	50                   	push   %eax
469261:	c7 46 04 0a 00 00 00 	movl   $0xa,0x4(%esi)
469268:	e8 13 7e fb ff       	call   0x421080
46926d:	6a 44                	push   $0x44
46926f:	8d 86 90 00 00 00    	lea    0x90(%esi),%eax
469275:	57                   	push   %edi
469276:	50                   	push   %eax
469277:	e8 04 7e fb ff       	call   0x421080
46927c:	83 c4 18             	add    $0x18,%esp
46927f:	6a 09                	push   $0x9
469281:	5f                   	pop    %edi
469282:	8b ce                	mov    %esi,%ecx
469284:	e8 0c 00 00 00       	call   0x469295
469289:	dd d8                	fstp   %st(0)
46928b:	4f                   	dec    %edi
46928c:	75 f4                	jne    0x469282
46928e:	5f                   	pop    %edi
46928f:	5e                   	pop    %esi
469290:	5b                   	pop    %ebx
469291:	5d                   	pop    %ebp
469292:	c2 04 00             	ret    $0x4
469295:	55                   	push   %ebp
469296:	8b ec                	mov    %esp,%ebp
469298:	83 ec 10             	sub    $0x10,%esp
46929b:	56                   	push   %esi
46929c:	57                   	push   %edi
46929d:	8b f9                	mov    %ecx,%edi
46929f:	6a 09                	push   $0x9
4692a1:	8b 07                	mov    (%edi),%eax
4692a3:	ff 74 87 08          	push   0x8(%edi,%eax,4)
4692a7:	e8 32 c7 fb ff       	call   0x4259de
4692ac:	8b 4f 04             	mov    0x4(%edi),%ecx
4692af:	8b f0                	mov    %eax,%esi
4692b1:	6a 0d                	push   $0xd
4692b3:	ff 74 8f 08          	push   0x8(%edi,%ecx,4)
4692b7:	e8 22 c7 fb ff       	call   0x4259de
4692bc:	03 f0                	add    %eax,%esi
4692be:	83 c4 10             	add    $0x10,%esp
4692c1:	8b 07                	mov    (%edi),%eax
4692c3:	6a 10                	push   $0x10
4692c5:	89 74 87 08          	mov    %esi,0x8(%edi,%eax,4)
4692c9:	ff 0f                	decl   (%edi)
4692cb:	58                   	pop    %eax
4692cc:	79 02                	jns    0x4692d0
4692ce:	89 07                	mov    %eax,(%edi)
4692d0:	ff 4f 04             	decl   0x4(%edi)
4692d3:	79 03                	jns    0x4692d8
4692d5:	89 47 04             	mov    %eax,0x4(%edi)
4692d8:	8b 0f                	mov    (%edi),%ecx
4692da:	8b 44 8f 08          	mov    0x8(%edi,%ecx,4),%eax
4692de:	3b 47 4c             	cmp    0x4c(%edi),%eax
4692e1:	75 1f                	jne    0x469302
4692e3:	6a 44                	push   $0x44
4692e5:	6a 24                	push   $0x24
4692e7:	58                   	pop    %eax
4692e8:	2b c1                	sub    %ecx,%eax
4692ea:	8d 04 87             	lea    (%edi,%eax,4),%eax
4692ed:	50                   	push   %eax
4692ee:	8d 47 08             	lea    0x8(%edi),%eax
4692f1:	50                   	push   %eax
4692f2:	e8 cd 83 fb ff       	call   0x4216c4
4692f7:	83 c4 0c             	add    $0xc,%esp
4692fa:	85 c0                	test   %eax,%eax
4692fc:	75 04                	jne    0x469302
4692fe:	d9 ee                	fldz
469300:	eb 5f                	jmp    0x469361
469302:	8b 87 d4 00 00 00    	mov    0xd4(%edi),%eax
469308:	83 e8 00             	sub    $0x0,%eax
46930b:	74 37                	je     0x469344
46930d:	48                   	dec    %eax
46930e:	74 1e                	je     0x46932e
469310:	89 75 fc             	mov    %esi,-0x4(%ebp)
469313:	db 45 fc             	fildl  -0x4(%ebp)
469316:	85 f6                	test   %esi,%esi
469318:	79 06                	jns    0x469320
46931a:	dc 05 c8 ba 4b 00    	faddl  0x4bbac8
469320:	dd 5d f0             	fstpl  -0x10(%ebp)
469323:	dd 45 f0             	fldl   -0x10(%ebp)
469326:	dc 0d a0 ba 4b 00    	fmull  0x4bbaa0
46932c:	eb 33                	jmp    0x469361
46932e:	8b c6                	mov    %esi,%eax
469330:	c1 ee 0c             	shr    $0xc,%esi
469333:	c1 e0 14             	shl    $0x14,%eax
469336:	81 ce 00 00 f0 3f    	or     $0x3ff00000,%esi
46933c:	89 45 fc             	mov    %eax,-0x4(%ebp)
46933f:	89 75 f8             	mov    %esi,-0x8(%ebp)
469342:	eb 14                	jmp    0x469358
469344:	8b c6                	mov    %esi,%eax
469346:	c1 ee 0c             	shr    $0xc,%esi
469349:	c1 e0 14             	shl    $0x14,%eax
46934c:	81 ce 00 00 f0 3f    	or     $0x3ff00000,%esi
469352:	89 45 f8             	mov    %eax,-0x8(%ebp)
469355:	89 75 fc             	mov    %esi,-0x4(%ebp)
469358:	dd 45 f8             	fldl   -0x8(%ebp)
46935b:	dc 25 a8 4b 4a 00    	fsubl  0x4a4ba8
469361:	5f                   	pop    %edi
469362:	5e                   	pop    %esi
469363:	8b e5                	mov    %ebp,%esp
469365:	5d                   	pop    %ebp
469366:	c3                   	ret
469367:	56                   	push   %esi
469368:	8b f1                	mov    %ecx,%esi
46936a:	e8 26 ff ff ff       	call   0x469295
46936f:	dd d8                	fstp   %st(0)
469371:	8b ce                	mov    %esi,%ecx
469373:	e8 1d ff ff ff       	call   0x469295
469378:	dc 0d b8 ba 4b 00    	fmull  0x4bbab8
46937e:	e8 4d 22 fd ff       	call   0x43b5d0
469383:	5e                   	pop    %esi
469384:	3d 00 01 00 00       	cmp    $0x100,%eax
469389:	7c 05                	jl     0x469390
46938b:	b8 ff 00 00 00       	mov    $0xff,%eax
469390:	c2 08 00             	ret    $0x8
469393:	55                   	push   %ebp
469394:	8b ec                	mov    %esp,%ebp
469396:	81 ec dc 00 00 00    	sub    $0xdc,%esp
46939c:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
4693a2:	56                   	push   %esi
4693a3:	57                   	push   %edi
4693a4:	e8 40 fe ff ff       	call   0x4691e9
4693a9:	ff 75 10             	push   0x10(%ebp)
4693ac:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
4693b2:	e8 78 fe ff ff       	call   0x46922f
4693b7:	33 f6                	xor    %esi,%esi
4693b9:	39 75 0c             	cmp    %esi,0xc(%ebp)
4693bc:	76 19                	jbe    0x4693d7
4693be:	8b 7d 08             	mov    0x8(%ebp),%edi
4693c1:	51                   	push   %ecx
4693c2:	51                   	push   %ecx
4693c3:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
4693c9:	e8 99 ff ff ff       	call   0x469367
4693ce:	30 04 3e             	xor    %al,(%esi,%edi,1)
4693d1:	46                   	inc    %esi
4693d2:	3b 75 0c             	cmp    0xc(%ebp),%esi
4693d5:	72 ea                	jb     0x4693c1
4693d7:	5f                   	pop    %edi
4693d8:	5e                   	pop    %esi
4693d9:	8b e5                	mov    %ebp,%esp
4693db:	5d                   	pop    %ebp
4693dc:	c2 0c 00             	ret    $0xc
4693df:	55                   	push   %ebp
4693e0:	8b ec                	mov    %esp,%ebp
4693e2:	b8 b8 11 00 00       	mov    $0x11b8,%eax
4693e7:	e8 a4 87 fc ff       	call   0x431b90
4693ec:	53                   	push   %ebx
4693ed:	56                   	push   %esi
4693ee:	57                   	push   %edi
4693ef:	33 ff                	xor    %edi,%edi
4693f1:	33 c0                	xor    %eax,%eax
4693f3:	8b d9                	mov    %ecx,%ebx
4693f5:	89 bd 54 fb ff ff    	mov    %edi,-0x4ac(%ebp)
4693fb:	68 00 00 01 00       	push   $0x10000
469400:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
469403:	89 bd 58 fb ff ff    	mov    %edi,-0x4a8(%ebp)
469409:	89 bd 5c fb ff ff    	mov    %edi,-0x4a4(%ebp)
46940f:	89 bd 60 fb ff ff    	mov    %edi,-0x4a0(%ebp)
469415:	89 bd 64 fb ff ff    	mov    %edi,-0x49c(%ebp)
46941b:	89 bd 68 fb ff ff    	mov    %edi,-0x498(%ebp)
469421:	89 bd 6c fb ff ff    	mov    %edi,-0x494(%ebp)
469427:	89 bd 70 fb ff ff    	mov    %edi,-0x490(%ebp)
46942d:	89 bd 74 fb ff ff    	mov    %edi,-0x48c(%ebp)
469433:	66 89 85 78 fb ff ff 	mov    %ax,-0x488(%ebp)
46943a:	66 89 85 80 fd ff ff 	mov    %ax,-0x280(%ebp)
469441:	89 7d a4             	mov    %edi,-0x5c(%ebp)
469444:	e8 ad 7b fb ff       	call   0x420ff6
469449:	59                   	pop    %ecx
46944a:	50                   	push   %eax
46944b:	8d 4d ec             	lea    -0x14(%ebp),%ecx
46944e:	e8 3b bf f9 ff       	call   0x40538e
469453:	8d 8d 74 f8 ff ff    	lea    -0x78c(%ebp),%ecx
469459:	e8 8b fd ff ff       	call   0x4691e9
46945e:	57                   	push   %edi
46945f:	ff 73 04             	push   0x4(%ebx)
469462:	33 f6                	xor    %esi,%esi
469464:	8b cb                	mov    %ebx,%ecx
469466:	ff 33                	push   (%ebx)
469468:	46                   	inc    %esi
469469:	89 75 e4             	mov    %esi,-0x1c(%ebp)
46946c:	e8 d4 bb f9 ff       	call   0x405045
469471:	68 18 9e 4b 00       	push   $0x4b9e18
469476:	ff 75 08             	push   0x8(%ebp)
469479:	e8 0e a3 fb ff       	call   0x42378c
46947e:	59                   	pop    %ecx
46947f:	59                   	pop    %ecx
469480:	51                   	push   %ecx
469481:	85 c0                	test   %eax,%eax
469483:	8b cb                	mov    %ebx,%ecx
469485:	8d 85 5c f2 ff ff    	lea    -0xda4(%ebp),%eax
46948b:	50                   	push   %eax
46948c:	ff 75 08             	push   0x8(%ebp)
46948f:	0f 85 ad 00 00 00    	jne    0x469542
469495:	e8 24 05 00 00       	call   0x4699be
46949a:	85 c0                	test   %eax,%eax
46949c:	0f 85 a9 00 00 00    	jne    0x46954b
4694a2:	8d 85 64 f4 ff ff    	lea    -0xb9c(%ebp),%eax
4694a8:	50                   	push   %eax
4694a9:	8d 85 4c ee ff ff    	lea    -0x11b4(%ebp),%eax
4694af:	50                   	push   %eax
4694b0:	8d 85 54 f0 ff ff    	lea    -0xfac(%ebp),%eax
4694b6:	50                   	push   %eax
4694b7:	8d 45 d8             	lea    -0x28(%ebp),%eax
4694ba:	50                   	push   %eax
4694bb:	ff 75 0c             	push   0xc(%ebp)
4694be:	e8 6b ae fb ff       	call   0x42432e
4694c3:	83 c4 14             	add    $0x14,%esp
4694c6:	8d 45 d8             	lea    -0x28(%ebp),%eax
4694c9:	50                   	push   %eax
4694ca:	8d 85 6c f6 ff ff    	lea    -0x994(%ebp),%eax
4694d0:	50                   	push   %eax
4694d1:	e8 26 9b fb ff       	call   0x422ffc
4694d6:	8d 85 54 f0 ff ff    	lea    -0xfac(%ebp),%eax
4694dc:	50                   	push   %eax
4694dd:	8d 85 6c f6 ff ff    	lea    -0x994(%ebp),%eax
4694e3:	50                   	push   %eax
4694e4:	e8 e4 9a fb ff       	call   0x422fcd
4694e9:	8d 85 64 f4 ff ff    	lea    -0xb9c(%ebp),%eax
4694ef:	50                   	push   %eax
4694f0:	8d 85 4c ee ff ff    	lea    -0x11b4(%ebp),%eax
4694f6:	50                   	push   %eax
4694f7:	8d 85 54 f0 ff ff    	lea    -0xfac(%ebp),%eax
4694fd:	50                   	push   %eax
4694fe:	8d 45 d8             	lea    -0x28(%ebp),%eax
469501:	50                   	push   %eax
469502:	8d 85 5c f2 ff ff    	lea    -0xda4(%ebp),%eax
469508:	50                   	push   %eax
469509:	e8 20 ae fb ff       	call   0x42432e
46950e:	83 c4 24             	add    $0x24,%esp
469511:	8d 85 4c ee ff ff    	lea    -0x11b4(%ebp),%eax
469517:	50                   	push   %eax
469518:	8d 85 6c f6 ff ff    	lea    -0x994(%ebp),%eax
46951e:	50                   	push   %eax
46951f:	e8 a9 9a fb ff       	call   0x422fcd
469524:	8d 85 64 f4 ff ff    	lea    -0xb9c(%ebp),%eax
46952a:	50                   	push   %eax
46952b:	8d 85 6c f6 ff ff    	lea    -0x994(%ebp),%eax
469531:	50                   	push   %eax
469532:	e8 96 9a fb ff       	call   0x422fcd
469537:	83 c4 10             	add    $0x10,%esp
46953a:	8d 85 6c f6 ff ff    	lea    -0x994(%ebp),%eax
469540:	eb 13                	jmp    0x469555
469542:	e8 77 04 00 00       	call   0x4699be
469547:	85 c0                	test   %eax,%eax
469549:	74 07                	je     0x469552
46954b:	6a 06                	push   $0x6
46954d:	e9 62 02 00 00       	jmp    0x4697b4
469552:	8b 45 0c             	mov    0xc(%ebp),%eax
469555:	ff 33                	push   (%ebx)
469557:	89 45 0c             	mov    %eax,0xc(%ebp)
46955a:	8b cb                	mov    %ebx,%ecx
46955c:	56                   	push   %esi
46955d:	56                   	push   %esi
46955e:	8d 45 fb             	lea    -0x5(%ebp),%eax
469561:	50                   	push   %eax
469562:	e8 04 bb f9 ff       	call   0x40506b
469567:	ff 33                	push   (%ebx)
469569:	8d 45 f4             	lea    -0xc(%ebp),%eax
46956c:	8b cb                	mov    %ebx,%ecx
46956e:	56                   	push   %esi
46956f:	6a 04                	push   $0x4
469571:	50                   	push   %eax
469572:	e8 f4 ba f9 ff       	call   0x40506b
469577:	ff 33                	push   (%ebx)
469579:	8b 45 f4             	mov    -0xc(%ebp),%eax
46957c:	8b cb                	mov    %ebx,%ecx
46957e:	35 bc 87 00 00       	xor    $0x87bc,%eax
469583:	56                   	push   %esi
469584:	89 45 e0             	mov    %eax,-0x20(%ebp)
469587:	8d 45 f4             	lea    -0xc(%ebp),%eax
46958a:	6a 04                	push   $0x4
46958c:	50                   	push   %eax
46958d:	e8 d9 ba f9 ff       	call   0x40506b
469592:	ff 33                	push   (%ebx)
469594:	8d 45 f4             	lea    -0xc(%ebp),%eax
469597:	8b cb                	mov    %ebx,%ecx
469599:	56                   	push   %esi
46959a:	6a 04                	push   $0x4
46959c:	50                   	push   %eax
46959d:	e8 c9 ba f9 ff       	call   0x40506b
4695a2:	ff 33                	push   (%ebx)
4695a4:	8b 45 f4             	mov    -0xc(%ebp),%eax
4695a7:	8b cb                	mov    %ebx,%ecx
4695a9:	35 85 a6 00 00       	xor    $0xa685,%eax
4695ae:	56                   	push   %esi
4695af:	89 45 dc             	mov    %eax,-0x24(%ebp)
4695b2:	8d 45 c8             	lea    -0x38(%ebp),%eax
4695b5:	6a 04                	push   $0x4
4695b7:	50                   	push   %eax
4695b8:	e8 ae ba f9 ff       	call   0x40506b
4695bd:	ff 33                	push   (%ebx)
4695bf:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4695c2:	8b cb                	mov    %ebx,%ecx
4695c4:	56                   	push   %esi
4695c5:	6a 04                	push   $0x4
4695c7:	50                   	push   %eax
4695c8:	e8 9e ba f9 ff       	call   0x40506b
4695cd:	ff 33                	push   (%ebx)
4695cf:	8d 45 c0             	lea    -0x40(%ebp),%eax
4695d2:	8b cb                	mov    %ebx,%ecx
4695d4:	56                   	push   %esi
4695d5:	6a 04                	push   $0x4
4695d7:	50                   	push   %eax
4695d8:	e8 8e ba f9 ff       	call   0x40506b
4695dd:	ff 33                	push   (%ebx)
4695df:	8d 45 bc             	lea    -0x44(%ebp),%eax
4695e2:	8b cb                	mov    %ebx,%ecx
4695e4:	56                   	push   %esi
4695e5:	6a 04                	push   $0x4
4695e7:	50                   	push   %eax
4695e8:	e8 7e ba f9 ff       	call   0x40506b
4695ed:	8d 85 4c f9 ff ff    	lea    -0x6b4(%ebp),%eax
4695f3:	50                   	push   %eax
4695f4:	e8 74 05 00 00       	call   0x469b6d
4695f9:	8d 85 4c f9 ff ff    	lea    -0x6b4(%ebp),%eax
4695ff:	68 fc a4 4b 00       	push   $0x4ba4fc
469604:	50                   	push   %eax
469605:	e8 81 be fb ff       	call   0x42548b
46960a:	89 45 e8             	mov    %eax,-0x18(%ebp)
46960d:	59                   	pop    %ecx
46960e:	59                   	pop    %ecx
46960f:	85 c0                	test   %eax,%eax
469611:	75 07                	jne    0x46961a
469613:	6a 09                	push   $0x9
469615:	e9 9a 01 00 00       	jmp    0x4697b4
46961a:	8b 43 08             	mov    0x8(%ebx),%eax
46961d:	8d 8d 74 f8 ff ff    	lea    -0x78c(%ebp),%ecx
469623:	05 77 24 00 00       	add    $0x2477,%eax
469628:	50                   	push   %eax
469629:	e8 01 fc ff ff       	call   0x46922f
46962e:	8b 55 e0             	mov    -0x20(%ebp),%edx
469631:	8b cf                	mov    %edi,%ecx
469633:	85 d2                	test   %edx,%edx
469635:	0f 8e 8c 00 00 00    	jle    0x4696c7
46963b:	8d 81 00 00 01 00    	lea    0x10000(%ecx),%eax
469641:	3b c2                	cmp    %edx,%eax
469643:	7e 06                	jle    0x46964b
469645:	8b c2                	mov    %edx,%eax
469647:	2b c1                	sub    %ecx,%eax
469649:	eb 05                	jmp    0x469650
46964b:	b8 00 00 01 00       	mov    $0x10000,%eax
469650:	ff 33                	push   (%ebx)
469652:	03 c8                	add    %eax,%ecx
469654:	89 45 08             	mov    %eax,0x8(%ebp)
469657:	50                   	push   %eax
469658:	56                   	push   %esi
469659:	ff 75 ec             	push   -0x14(%ebp)
46965c:	89 4d cc             	mov    %ecx,-0x34(%ebp)
46965f:	8b cb                	mov    %ebx,%ecx
469661:	e8 05 ba f9 ff       	call   0x40506b
469666:	8b 45 08             	mov    0x8(%ebp),%eax