465416:	33 c9                	xor    %ecx,%ecx
465418:	c7 45 e4 03 00 00 00 	movl   $0x3,-0x1c(%ebp)
46541f:	66 89 8c 45 e2 ff fe 	mov    %cx,-0x1001e(%ebp,%eax,2)
465426:	ff
465427:	8d 85 e0 ff fe ff    	lea    -0x10020(%ebp),%eax
46542d:	89 45 e8             	mov    %eax,-0x18(%ebp)
465430:	33 c0                	xor    %eax,%eax
465432:	89 45 ec             	mov    %eax,-0x14(%ebp)
465435:	89 45 f6             	mov    %eax,-0xa(%ebp)
465438:	89 45 fa             	mov    %eax,-0x6(%ebp)
46543b:	89 45 f2             	mov    %eax,-0xe(%ebp)
46543e:	89 45 e0             	mov    %eax,-0x20(%ebp)
465441:	b8 14 06 00 00       	mov    $0x614,%eax
465446:	66 89 45 f0          	mov    %ax,-0x10(%ebp)
46544a:	8d 45 e0             	lea    -0x20(%ebp),%eax
46544d:	50                   	push   %eax
46544e:	ff 15 b4 f4 48 00    	call   *0x48f4b4
465454:	f7 d8                	neg    %eax
465456:	1a c0                	sbb    %al,%al
465458:	fe c0                	inc    %al
46545a:	5b                   	pop    %ebx
46545b:	8b e5                	mov    %ebp,%esp
46545d:	5d                   	pop    %ebp
46545e:	c3                   	ret
46545f:	55                   	push   %ebp
465460:	8b ec                	mov    %esp,%ebp
465462:	83 ec 10             	sub    $0x10,%esp
465465:	53                   	push   %ebx
465466:	56                   	push   %esi
465467:	8b d9                	mov    %ecx,%ebx
465469:	8b f2                	mov    %edx,%esi
46546b:	68 fc a3 4b 00       	push   $0x4ba3fc
465470:	8d 4d f0             	lea    -0x10(%ebp),%ecx
465473:	e8 71 e3 ff ff       	call   0x4637e9
465478:	51                   	push   %ecx
465479:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46547c:	e8 42 38 ff ff       	call   0x458cc3
465481:	84 c0                	test   %al,%al
465483:	75 04                	jne    0x465489
465485:	33 f6                	xor    %esi,%esi
465487:	eb 4d                	jmp    0x4654d6
465489:	83 fb 20             	cmp    $0x20,%ebx
46548c:	74 3a                	je     0x4654c8
46548e:	83 fb 40             	cmp    $0x40,%ebx
465491:	74 31                	je     0x4654c4
465493:	f6 c3 0b             	test   $0xb,%bl
465496:	75 0b                	jne    0x4654a3
465498:	6a 00                	push   $0x0
46549a:	53                   	push   %ebx
46549b:	ff 15 9c f5 48 00    	call   *0x48f59c
4654a1:	eb 31                	jmp    0x4654d4
4654a3:	33 c9                	xor    %ecx,%ecx
4654a5:	f6 c3 14             	test   $0x14,%bl
4654a8:	74 01                	je     0x4654ab
4654aa:	41                   	inc    %ecx
4654ab:	33 c0                	xor    %eax,%eax
4654ad:	f6 c3 02             	test   $0x2,%bl
4654b0:	74 01                	je     0x4654b3
4654b2:	40                   	inc    %eax
4654b3:	56                   	push   %esi
4654b4:	50                   	push   %eax
4654b5:	51                   	push   %ecx
4654b6:	6a 00                	push   $0x0
4654b8:	6a 00                	push   $0x0
4654ba:	6a 00                	push   $0x0
4654bc:	ff 15 80 f0 48 00    	call   *0x48f080
4654c2:	eb 10                	jmp    0x4654d4
4654c4:	33 c0                	xor    %eax,%eax
4654c6:	eb 03                	jmp    0x4654cb
4654c8:	33 c0                	xor    %eax,%eax
4654ca:	40                   	inc    %eax
4654cb:	6a 00                	push   $0x0
4654cd:	50                   	push   %eax
4654ce:	ff 15 2c f2 48 00    	call   *0x48f22c
4654d4:	8b f0                	mov    %eax,%esi
4654d6:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4654d9:	e8 35 32 ff ff       	call   0x458713
4654de:	8b c6                	mov    %esi,%eax
4654e0:	5e                   	pop    %esi
4654e1:	5b                   	pop    %ebx
4654e2:	8b e5                	mov    %ebp,%esp
4654e4:	5d                   	pop    %ebp
4654e5:	c3                   	ret
4654e6:	55                   	push   %ebp
4654e7:	8b ec                	mov    %esp,%ebp
4654e9:	83 ec 28             	sub    $0x28,%esp
4654ec:	56                   	push   %esi
4654ed:	8b f1                	mov    %ecx,%esi
4654ef:	85 f6                	test   %esi,%esi
4654f1:	78 71                	js     0x465564
4654f3:	75 04                	jne    0x4654f9
4654f5:	6a 00                	push   $0x0
4654f7:	eb 65                	jmp    0x46555e
4654f9:	83 fe 0f             	cmp    $0xf,%esi
4654fc:	73 5f                	jae    0x46555d
4654fe:	8d 45 f0             	lea    -0x10(%ebp),%eax
465501:	50                   	push   %eax
465502:	ff 15 bc f1 48 00    	call   *0x48f1bc
465508:	85 c0                	test   %eax,%eax
46550a:	74 51                	je     0x46555d
46550c:	8d 45 d8             	lea    -0x28(%ebp),%eax
46550f:	50                   	push   %eax
465510:	ff 15 30 f2 48 00    	call   *0x48f230
465516:	6a 00                	push   $0x0
465518:	ff 15 7c f1 48 00    	call   *0x48f17c
46551e:	8d 45 f8             	lea    -0x8(%ebp),%eax
465521:	50                   	push   %eax
465522:	ff 15 bc f1 48 00    	call   *0x48f1bc
465528:	8b 4d f8             	mov    -0x8(%ebp),%ecx
46552b:	2b 4d f0             	sub    -0x10(%ebp),%ecx
46552e:	8b 45 fc             	mov    -0x4(%ebp),%eax
465531:	1b 45 f4             	sbb    -0xc(%ebp),%eax
465534:	89 4d e8             	mov    %ecx,-0x18(%ebp)
465537:	89 45 ec             	mov    %eax,-0x14(%ebp)
46553a:	df 6d e8             	fildll -0x18(%ebp)
46553d:	dd 5d e0             	fstpl  -0x20(%ebp)
465540:	dd 45 e0             	fldl   -0x20(%ebp)
465543:	df 6d d8             	fildll -0x28(%ebp)
465546:	dd 5d e0             	fstpl  -0x20(%ebp)
465549:	dc 75 e0             	fdivl  -0x20(%ebp)
46554c:	dc 0d e0 4b 4a 00    	fmull  0x4a4be0
465552:	e8 af 60 fd ff       	call   0x43b606
465557:	3b c6                	cmp    %esi,%eax
465559:	72 bb                	jb     0x465516
46555b:	eb 07                	jmp    0x465564
46555d:	56                   	push   %esi
46555e:	ff 15 7c f1 48 00    	call   *0x48f17c
465564:	5e                   	pop    %esi
465565:	8b e5                	mov    %ebp,%esp
465567:	5d                   	pop    %ebp
465568:	c3                   	ret
465569:	55                   	push   %ebp
46556a:	8b ec                	mov    %esp,%ebp
46556c:	81 ec 1c 02 00 00    	sub    $0x21c,%esp
465572:	53                   	push   %ebx
465573:	56                   	push   %esi
465574:	57                   	push   %edi
465575:	8b f9                	mov    %ecx,%edi
465577:	8a da                	mov    %dl,%bl
465579:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46557c:	e8 46 22 fa ff       	call   0x4077c7
465581:	68 54 a3 4b 00       	push   $0x4ba354
465586:	8d 4d f0             	lea    -0x10(%ebp),%ecx
465589:	e8 9e 27 fa ff       	call   0x407d2c
46558e:	6a 22                	push   $0x22
465590:	8d 4d f0             	lea    -0x10(%ebp),%ecx
465593:	e8 ec 24 fa ff       	call   0x407a84
465598:	57                   	push   %edi
465599:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46559c:	e8 6a 28 fa ff       	call   0x407e0b
4655a1:	6a 22                	push   $0x22
4655a3:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4655a6:	e8 d9 24 fa ff       	call   0x407a84
4655ab:	68 60 a3 4b 00       	push   $0x4ba360
4655b0:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4655b3:	e8 53 28 fa ff       	call   0x407e0b
4655b8:	8b 35 c0 f7 48 00    	mov    0x48f7c0,%esi
4655be:	33 c0                	xor    %eax,%eax
4655c0:	50                   	push   %eax
4655c1:	68 00 01 00 00       	push   $0x100
4655c6:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
4655cc:	50                   	push   %eax
4655cd:	68 7c a3 4b 00       	push   $0x4ba37c
4655d2:	ff d6                	call   *%esi
4655d4:	66 83 bd e8 fd ff ff 	cmpw   $0x0,-0x218(%ebp)
4655db:	00
4655dc:	74 0c                	je     0x4655ea
4655de:	33 c0                	xor    %eax,%eax
4655e0:	50                   	push   %eax
4655e1:	50                   	push   %eax
4655e2:	50                   	push   %eax
4655e3:	68 a4 a3 4b 00       	push   $0x4ba3a4
4655e8:	ff d6                	call   *%esi
4655ea:	33 c0                	xor    %eax,%eax
4655ec:	66 39 07             	cmp    %ax,(%edi)
4655ef:	74 2d                	je     0x46561e
4655f1:	33 ff                	xor    %edi,%edi
4655f3:	57                   	push   %edi
4655f4:	57                   	push   %edi
4655f5:	57                   	push   %edi
4655f6:	ff 75 f0             	push   -0x10(%ebp)
4655f9:	ff d6                	call   *%esi
4655fb:	85 c0                	test   %eax,%eax
4655fd:	75 1f                	jne    0x46561e
4655ff:	57                   	push   %edi
465600:	57                   	push   %edi
465601:	57                   	push   %edi
465602:	84 db                	test   %bl,%bl
465604:	74 11                	je     0x465617
465606:	68 c0 a3 4b 00       	push   $0x4ba3c0
46560b:	ff d6                	call   *%esi
46560d:	57                   	push   %edi
46560e:	57                   	push   %edi
46560f:	57                   	push   %edi
465610:	68 a4 a3 4b 00       	push   $0x4ba3a4
465615:	eb 05                	jmp    0x46561c
465617:	68 e4 a3 4b 00       	push   $0x4ba3e4
46561c:	ff d6                	call   *%esi
46561e:	8d 4d f0             	lea    -0x10(%ebp),%ecx
465621:	e8 3e 04 fa ff       	call   0x405a64
465626:	5f                   	pop    %edi
465627:	5e                   	pop    %esi
465628:	5b                   	pop    %ebx
465629:	8b e5                	mov    %ebp,%esp
46562b:	5d                   	pop    %ebp
46562c:	c3                   	ret
46562d:	55                   	push   %ebp
46562e:	8b ec                	mov    %esp,%ebp
465630:	83 ec 14             	sub    $0x14,%esp
465633:	53                   	push   %ebx
465634:	56                   	push   %esi
465635:	57                   	push   %edi
465636:	8b f9                	mov    %ecx,%edi
465638:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46563b:	8b 5f 04             	mov    0x4(%edi),%ebx
46563e:	53                   	push   %ebx
46563f:	e8 32 25 fa ff       	call   0x407b76
465644:	33 f6                	xor    %esi,%esi
465646:	85 db                	test   %ebx,%ebx
465648:	74 27                	je     0x465671
46564a:	56                   	push   %esi
46564b:	8b cf                	mov    %edi,%ecx
46564d:	e8 00 25 fa ff       	call   0x407b52
465652:	66 83 38 0d          	cmpw   $0xd,(%eax)
465656:	74 14                	je     0x46566c
465658:	56                   	push   %esi
465659:	8b cf                	mov    %edi,%ecx
46565b:	e8 f2 24 fa ff       	call   0x407b52
465660:	8d 4d f0             	lea    -0x10(%ebp),%ecx
465663:	0f b7 00             	movzwl (%eax),%eax
465666:	50                   	push   %eax
465667:	e8 18 24 fa ff       	call   0x407a84
46566c:	46                   	inc    %esi
46566d:	3b f3                	cmp    %ebx,%esi
46566f:	72 d9                	jb     0x46564a
465671:	8d 45 f0             	lea    -0x10(%ebp),%eax
465674:	8b cf                	mov    %edi,%ecx
465676:	50                   	push   %eax
465677:	e8 2b 2b fa ff       	call   0x4081a7
46567c:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46567f:	e8 e0 03 fa ff       	call   0x405a64
465684:	5f                   	pop    %edi
465685:	5e                   	pop    %esi
465686:	5b                   	pop    %ebx
465687:	8b e5                	mov    %ebp,%esp
465689:	5d                   	pop    %ebp
46568a:	c3                   	ret
46568b:	55                   	push   %ebp
46568c:	8b ec                	mov    %esp,%ebp
46568e:	51                   	push   %ecx
46568f:	51                   	push   %ecx
465690:	56                   	push   %esi
465691:	57                   	push   %edi
465692:	33 ff                	xor    %edi,%edi
465694:	8b f1                	mov    %ecx,%esi
465696:	57                   	push   %edi
465697:	57                   	push   %edi
465698:	6a 10                	push   $0x10
46569a:	56                   	push   %esi
46569b:	ff 15 90 f6 48 00    	call   *0x48f690
4656a1:	8d 45 f8             	lea    -0x8(%ebp),%eax
4656a4:	50                   	push   %eax
4656a5:	68 f4 01 00 00       	push   $0x1f4
4656aa:	6a 02                	push   $0x2
4656ac:	57                   	push   %edi
4656ad:	57                   	push   %edi
4656ae:	6a 10                	push   $0x10
4656b0:	56                   	push   %esi
4656b1:	ff 15 74 f6 48 00    	call   *0x48f674
4656b7:	85 c0                	test   %eax,%eax
4656b9:	75 2b                	jne    0x4656e6
4656bb:	8d 45 fc             	lea    -0x4(%ebp),%eax
4656be:	50                   	push   %eax
4656bf:	56                   	push   %esi
4656c0:	ff 15 60 f6 48 00    	call   *0x48f660
4656c6:	ff 75 fc             	push   -0x4(%ebp)
4656c9:	57                   	push   %edi
4656ca:	68 ff 0f 1f 00       	push   $0x1f0fff
4656cf:	ff 15 c4 f1 48 00    	call   *0x48f1c4
4656d5:	8b f0                	mov    %eax,%esi
4656d7:	57                   	push   %edi
4656d8:	56                   	push   %esi
4656d9:	ff 15 ec f1 48 00    	call   *0x48f1ec
4656df:	56                   	push   %esi
4656e0:	ff 15 5c f3 48 00    	call   *0x48f35c
4656e6:	5f                   	pop    %edi
4656e7:	5e                   	pop    %esi
4656e8:	8b e5                	mov    %ebp,%esp
4656ea:	5d                   	pop    %ebp
4656eb:	c3                   	ret
4656ec:	55                   	push   %ebp
4656ed:	8b ec                	mov    %esp,%ebp
4656ef:	53                   	push   %ebx
4656f0:	56                   	push   %esi
4656f1:	57                   	push   %edi
4656f2:	8b f9                	mov    %ecx,%edi
4656f4:	33 d2                	xor    %edx,%edx
4656f6:	33 f6                	xor    %esi,%esi
4656f8:	39 57 04             	cmp    %edx,0x4(%edi)
4656fb:	76 33                	jbe    0x465730
4656fd:	8b 5d 08             	mov    0x8(%ebp),%ebx
465700:	0f b7 03             	movzwl (%ebx),%eax
465703:	33 c9                	xor    %ecx,%ecx
465705:	66 85 c0             	test   %ax,%ax
465708:	74 1f                	je     0x465729
46570a:	8b 07                	mov    (%edi),%eax
46570c:	0f b7 04 50          	movzwl (%eax,%edx,2),%eax
465710:	89 45 08             	mov    %eax,0x8(%ebp)
465713:	0f b7 03             	movzwl (%ebx),%eax
465716:	66 39 45 08          	cmp    %ax,0x8(%ebp)
46571a:	74 1e                	je     0x46573a
46571c:	41                   	inc    %ecx
46571d:	0f b7 04 4b          	movzwl (%ebx,%ecx,2),%eax
465721:	66 85 c0             	test   %ax,%ax
465724:	75 f0                	jne    0x465716
465726:	0f b7 03             	movzwl (%ebx),%eax
465729:	42                   	inc    %edx
46572a:	46                   	inc    %esi
46572b:	3b 77 04             	cmp    0x4(%edi),%esi
46572e:	72 d3                	jb     0x465703
465730:	83 c8 ff             	or     $0xffffffff,%eax
465733:	5f                   	pop    %edi
465734:	5e                   	pop    %esi
465735:	5b                   	pop    %ebx
465736:	5d                   	pop    %ebp
465737:	c2 04 00             	ret    $0x4
46573a:	8b c2                	mov    %edx,%eax
46573c:	eb f5                	jmp    0x465733
46573e:	55                   	push   %ebp
46573f:	8b ec                	mov    %esp,%ebp
465741:	51                   	push   %ecx
465742:	56                   	push   %esi
465743:	57                   	push   %edi
465744:	8b f9                	mov    %ecx,%edi
465746:	8b f2                	mov    %edx,%esi
465748:	85 ff                	test   %edi,%edi
46574a:	75 04                	jne    0x465750
46574c:	33 c0                	xor    %eax,%eax
46574e:	eb 57                	jmp    0x4657a7
465750:	83 fe ff             	cmp    $0xffffffff,%esi
465753:	75 0a                	jne    0x46575f
465755:	57                   	push   %edi
465756:	e8 25 e2 fb ff       	call   0x423980
46575b:	59                   	pop    %ecx
46575c:	8d 70 01             	lea    0x1(%eax),%esi
46575f:	53                   	push   %ebx
465760:	33 c0                	xor    %eax,%eax
465762:	50                   	push   %eax
465763:	50                   	push   %eax
465764:	56                   	push   %esi