4643a4:	0f 87 84 00 00 00    	ja     0x46442e
4643aa:	ff 24 8d f8 44 46 00 	jmp    *0x4644f8(,%ecx,4)
4643b1:	8b 44 24 28          	mov    0x28(%esp),%eax
4643b5:	03 45 0c             	add    0xc(%ebp),%eax
4643b8:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4643bc:	89 44 24 28          	mov    %eax,0x28(%esp)
4643c0:	89 4c 24 10          	mov    %ecx,0x10(%esp)
4643c4:	89 44 24 14          	mov    %eax,0x14(%esp)
4643c8:	eb 64                	jmp    0x46442e
4643ca:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4643ce:	03 5d 0c             	add    0xc(%ebp),%ebx
4643d1:	89 4c 24 10          	mov    %ecx,0x10(%esp)
4643d5:	89 5c 24 30          	mov    %ebx,0x30(%esp)
4643d9:	89 5c 24 14          	mov    %ebx,0x14(%esp)
4643dd:	eb 4f                	jmp    0x46442e
4643df:	8b 44 24 28          	mov    0x28(%esp),%eax
4643e3:	03 45 0c             	add    0xc(%ebp),%eax
4643e6:	89 44 24 28          	mov    %eax,0x28(%esp)
4643ea:	89 44 24 14          	mov    %eax,0x14(%esp)
4643ee:	eb 33                	jmp    0x464423
4643f0:	8b 44 24 28          	mov    0x28(%esp),%eax
4643f4:	03 45 0c             	add    0xc(%ebp),%eax
4643f7:	89 44 24 28          	mov    %eax,0x28(%esp)
4643fb:	03 75 08             	add    0x8(%ebp),%esi
4643fe:	89 74 24 2c          	mov    %esi,0x2c(%esp)
464402:	89 74 24 10          	mov    %esi,0x10(%esp)
464406:	eb bc                	jmp    0x4643c4
464408:	03 5d 0c             	add    0xc(%ebp),%ebx
46440b:	03 75 08             	add    0x8(%ebp),%esi
46440e:	89 74 24 2c          	mov    %esi,0x2c(%esp)
464412:	89 74 24 10          	mov    %esi,0x10(%esp)
464416:	eb bd                	jmp    0x4643d5
464418:	03 5d 0c             	add    0xc(%ebp),%ebx
46441b:	89 5c 24 30          	mov    %ebx,0x30(%esp)
46441f:	89 5c 24 14          	mov    %ebx,0x14(%esp)
464423:	03 7d 08             	add    0x8(%ebp),%edi
464426:	89 7c 24 24          	mov    %edi,0x24(%esp)
46442a:	89 7c 24 10          	mov    %edi,0x10(%esp)
46442e:	33 c0                	xor    %eax,%eax
464430:	8d 4c 24 24          	lea    0x24(%esp),%ecx
464434:	40                   	inc    %eax
464435:	50                   	push   %eax
464436:	50                   	push   %eax
464437:	50                   	push   %eax
464438:	50                   	push   %eax
464439:	ff 15 24 77 4a 00    	call   *0x4a7724
46443f:	8b 5c 24 20          	mov    0x20(%esp),%ebx
464443:	8d 4c 24 10          	lea    0x10(%esp),%ecx
464447:	8b fb                	mov    %ebx,%edi
464449:	f7 df                	neg    %edi
46444b:	51                   	push   %ecx
46444c:	8d 43 44             	lea    0x44(%ebx),%eax
46444f:	1b ff                	sbb    %edi,%edi
464451:	23 f8                	and    %eax,%edi
464453:	8b 07                	mov    (%edi),%eax
464455:	8b 70 04             	mov    0x4(%eax),%esi
464458:	8b ce                	mov    %esi,%ecx
46445a:	ff 15 2c 81 4a 00    	call   *0x4a812c
464460:	8b cf                	mov    %edi,%ecx
464462:	ff d6                	call   *%esi
464464:	8d 44 24 24          	lea    0x24(%esp),%eax
464468:	8b cb                	mov    %ebx,%ecx
46446a:	50                   	push   %eax
46446b:	e8 52 fe fc ff       	call   0x4342c2
464470:	8d 44 24 24          	lea    0x24(%esp),%eax
464474:	8b cb                	mov    %ebx,%ecx
464476:	50                   	push   %eax
464477:	e8 6e da ff ff       	call   0x461eea
46447c:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
464480:	8d 44 24 24          	lea    0x24(%esp),%eax
464484:	50                   	push   %eax
464485:	6a 00                	push   $0x0
464487:	8b 4b 50             	mov    0x50(%ebx),%ecx
46448a:	e8 f1 1f 00 00       	call   0x466480
46448f:	8b 4c 24 20          	mov    0x20(%esp),%ecx
464493:	8d 44 24 24          	lea    0x24(%esp),%eax
464497:	50                   	push   %eax
464498:	e8 16 99 fb ff       	call   0x41ddb3
46449d:	8b 44 24 30          	mov    0x30(%esp),%eax
4644a1:	2b 44 24 28          	sub    0x28(%esp),%eax
4644a5:	68 04 02 00 00       	push   $0x204
4644aa:	50                   	push   %eax
4644ab:	8b 44 24 34          	mov    0x34(%esp),%eax
4644af:	2b 44 24 2c          	sub    0x2c(%esp),%eax
4644b3:	50                   	push   %eax
4644b4:	ff 74 24 34          	push   0x34(%esp)
4644b8:	8b 4b 50             	mov    0x50(%ebx),%ecx
4644bb:	ff 74 24 34          	push   0x34(%esp)
4644bf:	ff 35 00 74 4a 00    	push   0x4a7400
4644c5:	ff 15 1c 79 4a 00    	call   *0x4a791c
4644cb:	8b 4b 48             	mov    0x48(%ebx),%ecx
4644ce:	e8 55 4a 00 00       	call   0x468f28
4644d3:	8b 0c 85 d8 79 40 00 	mov    0x4079d8(,%eax,4),%ecx
4644da:	ff 31                	push   (%ecx)
4644dc:	ff 15 14 7d 4a 00    	call   *0x4a7d14
4644e2:	b0 01                	mov    $0x1,%al
4644e4:	8b 4c 24 34          	mov    0x34(%esp),%ecx
4644e8:	5f                   	pop    %edi
4644e9:	5e                   	pop    %esi
4644ea:	5b                   	pop    %ebx
4644eb:	33 cc                	xor    %esp,%ecx
4644ed:	e8 0e ba 02 00       	call   0x48ff00
4644f2:	8b e5                	mov    %ebp,%esp
4644f4:	5d                   	pop    %ebp
4644f5:	c2 08 00             	ret    $0x8
4644f8:	df 43 46             	filds  0x46(%ebx)
4644fb:	00 b1 43 46 00 f0    	add    %dh,-0xfffb9bd(%ecx)
464501:	43                   	inc    %ebx
464502:	46                   	inc    %esi
464503:	00 fb                	add    %bh,%bl
464505:	43                   	inc    %ebx
464506:	46                   	inc    %esi
464507:	00 08                	add    %cl,(%eax)
464509:	44                   	inc    %esp
46450a:	46                   	inc    %esi
46450b:	00 ca                	add    %cl,%dl
46450d:	43                   	inc    %ebx
46450e:	46                   	inc    %esi
46450f:	00 18                	add    %bl,(%eax)
464511:	44                   	inc    %esp
464512:	46                   	inc    %esi
464513:	00 ea                	add    %ch,%dl
464515:	43                   	inc    %ebx
464516:	46                   	inc    %esi
464517:	00 6a 34             	add    %ch,0x34(%edx)
46451a:	b8 46 4f 49 00       	mov    $0x494f46,%eax
46451f:	e8 e2 bf 02 00       	call   0x490506
464524:	89 4d c0             	mov    %ecx,-0x40(%ebp)
464527:	8b 45 0c             	mov    0xc(%ebp),%eax
46452a:	8b 5d 08             	mov    0x8(%ebp),%ebx
46452d:	89 5d cc             	mov    %ebx,-0x34(%ebp)
464530:	89 45 c4             	mov    %eax,-0x3c(%ebp)
464533:	e8 6c 2d 01 00       	call   0x4772a4
464538:	b9 8f e8 00 00       	mov    $0xe88f,%ecx
46453d:	e8 3c 6b fd ff       	call   0x43b07e
464542:	33 f6                	xor    %esi,%esi
464544:	56                   	push   %esi
464545:	56                   	push   %esi
464546:	56                   	push   %esi
464547:	56                   	push   %esi
464548:	68 88 4b 4a 00       	push   $0x4a4b88
46454d:	ff 15 08 7e 4a 00    	call   *0x4a7e08
464553:	85 db                	test   %ebx,%ebx
464555:	0f 84 a8 01 00 00    	je     0x464703
46455b:	8b 43 48             	mov    0x48(%ebx),%eax
46455e:	89 45 c8             	mov    %eax,-0x38(%ebp)
464561:	85 c0                	test   %eax,%eax
464563:	0f 84 9a 01 00 00    	je     0x464703
464569:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
46456c:	8b 39                	mov    (%ecx),%edi
46456e:	3b 79 10             	cmp    0x10(%ecx),%edi
464571:	7e 05                	jle    0x464578
464573:	8b 41 10             	mov    0x10(%ecx),%eax
464576:	eb 05                	jmp    0x46457d
464578:	8b c7                	mov    %edi,%eax
46457a:	8b 79 10             	mov    0x10(%ecx),%edi
46457d:	8b 59 04             	mov    0x4(%ecx),%ebx
464580:	8b 51 14             	mov    0x14(%ecx),%edx
464583:	89 7d d8             	mov    %edi,-0x28(%ebp)
464586:	89 45 d0             	mov    %eax,-0x30(%ebp)
464589:	3b da                	cmp    %edx,%ebx
46458b:	7e 04                	jle    0x464591
46458d:	8b ca                	mov    %edx,%ecx
46458f:	eb 04                	jmp    0x464595
464591:	8b cb                	mov    %ebx,%ecx
464593:	8b da                	mov    %edx,%ebx
464595:	89 5d dc             	mov    %ebx,-0x24(%ebp)
464598:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
46459b:	85 c0                	test   %eax,%eax
46459d:	79 03                	jns    0x4645a2
46459f:	89 75 d0             	mov    %esi,-0x30(%ebp)
4645a2:	85 c9                	test   %ecx,%ecx
4645a4:	79 03                	jns    0x4645a9
4645a6:	89 75 d4             	mov    %esi,-0x2c(%ebp)
4645a9:	8b 4d c8             	mov    -0x38(%ebp),%ecx
4645ac:	8b 41 2c             	mov    0x2c(%ecx),%eax
4645af:	48                   	dec    %eax
4645b0:	3b f8                	cmp    %eax,%edi
4645b2:	7e 05                	jle    0x4645b9
4645b4:	8b f8                	mov    %eax,%edi
4645b6:	89 7d d8             	mov    %edi,-0x28(%ebp)
4645b9:	8b 41 30             	mov    0x30(%ecx),%eax
4645bc:	48                   	dec    %eax
4645bd:	3b d8                	cmp    %eax,%ebx
4645bf:	7e 05                	jle    0x4645c6
4645c1:	8b d8                	mov    %eax,%ebx
4645c3:	89 5d dc             	mov    %ebx,-0x24(%ebp)
4645c6:	8d 45 e0             	lea    -0x20(%ebp),%eax
4645c9:	50                   	push   %eax
4645ca:	8b 45 cc             	mov    -0x34(%ebp),%eax
4645cd:	ff 70 20             	push   0x20(%eax)
4645d0:	ff 15 ec 7d 4a 00    	call   *0x4a7dec
4645d6:	8b 4d cc             	mov    -0x34(%ebp),%ecx
4645d9:	8d 45 e0             	lea    -0x20(%ebp),%eax
4645dc:	50                   	push   %eax
4645dd:	e8 32 fc fc ff       	call   0x434214
4645e2:	8b 45 e0             	mov    -0x20(%ebp),%eax
4645e5:	39 45 d0             	cmp    %eax,-0x30(%ebp)
4645e8:	7d 03                	jge    0x4645ed
4645ea:	89 45 d0             	mov    %eax,-0x30(%ebp)
4645ed:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4645f0:	39 45 d4             	cmp    %eax,-0x2c(%ebp)
4645f3:	7d 03                	jge    0x4645f8
4645f5:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4645f8:	8b 45 e8             	mov    -0x18(%ebp),%eax
4645fb:	3b f8                	cmp    %eax,%edi
4645fd:	7e 04                	jle    0x464603
4645ff:	48                   	dec    %eax
464600:	89 45 d8             	mov    %eax,-0x28(%ebp)
464603:	8b 45 ec             	mov    -0x14(%ebp),%eax
464606:	3b d8                	cmp    %eax,%ebx
464608:	7e 04                	jle    0x46460e
46460a:	48                   	dec    %eax
46460b:	89 45 dc             	mov    %eax,-0x24(%ebp)
46460e:	8b 5d cc             	mov    -0x34(%ebp),%ebx
464611:	33 c0                	xor    %eax,%eax
464613:	39 05 14 49 4a 00    	cmp    %eax,0x4a4914
464619:	8b cb                	mov    %ebx,%ecx
46461b:	0f 94 c0             	sete   %al
46461e:	89 45 c8             	mov    %eax,-0x38(%ebp)
464621:	8d 45 d0             	lea    -0x30(%ebp),%eax
464624:	50                   	push   %eax
464625:	e8 98 fc fc ff       	call   0x4342c2
46462a:	68 64 01 00 00       	push   $0x164
46462f:	ff 15 14 74 4a 00    	call   *0x4a7414
464635:	59                   	pop    %ecx
464636:	89 45 c4             	mov    %eax,-0x3c(%ebp)
464639:	89 75 fc             	mov    %esi,-0x4(%ebp)
46463c:	85 c0                	test   %eax,%eax
46463e:	74 09                	je     0x464649
464640:	8b c8                	mov    %eax,%ecx
464642:	e8 6f 0b 00 00       	call   0x4651b6
464647:	8b f0                	mov    %eax,%esi
464649:	8b 7d c0             	mov    -0x40(%ebp),%edi
46464c:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
464650:	89 77 50             	mov    %esi,0x50(%edi)
464653:	85 f6                	test   %esi,%esi
464655:	0f 84 9c 00 00 00    	je     0x4646f7
46465b:	ff 75 c8             	push   -0x38(%ebp)
46465e:	8d 45 d0             	lea    -0x30(%ebp),%eax
464661:	50                   	push   %eax
464662:	51                   	push   %ecx
464663:	51                   	push   %ecx
464664:	53                   	push   %ebx
464665:	8b ce                	mov    %esi,%ecx
464667:	e8 cf 0c 00 00       	call   0x46533b
46466c:	85 c0                	test   %eax,%eax
46466e:	0f 84 83 00 00 00    	je     0x4646f7
464674:	8b 4b 48             	mov    0x48(%ebx),%ecx
464677:	e8 fe 8c fc ff       	call   0x42d37a
46467c:	6a 03                	push   $0x3
46467e:	6a 03                	push   $0x3
464680:	ff 73 20             	push   0x20(%ebx)
464683:	ff 15 0c 7e 4a 00    	call   *0x4a7e0c
464689:	dd 43 58             	fldl   0x58(%ebx)
46468c:	dc 0d 80 42 41 00    	fmull  0x414280
464692:	6a 40                	push   $0x40
464694:	e8 88 c9 02 00       	call   0x491021
464699:	50                   	push   %eax
46469a:	8b 47 50             	mov    0x50(%edi),%eax
46469d:	68 e1 04 00 00       	push   $0x4e1
4646a2:	ff 70 60             	push   0x60(%eax)
4646a5:	ff 15 f8 7d 4a 00    	call   *0x4a7df8
4646ab:	ff 15 58 75 4a 00    	call   *0x4a7558
4646b1:	68 58 f6 40 00       	push   $0x40f658
4646b6:	6a 04                	push   $0x4
4646b8:	68 d8 59 00 00       	push   $0x59d8
4646bd:	8b 40 04             	mov    0x4(%eax),%eax
4646c0:	83 88 d4 00 00 00 01 	orl    $0x1,0xd4(%eax)
4646c7:	8b 80 c8 00 00 00    	mov    0xc8(%eax),%eax
4646cd:	50                   	push   %eax
4646ce:	8b 30                	mov    (%eax),%esi
4646d0:	8b 4e 24             	mov    0x24(%esi),%ecx
4646d3:	ff 15 2c 81 4a 00    	call   *0x4a812c
4646d9:	ff 56 24             	call   *0x24(%esi)
4646dc:	ff 15 58 75 4a 00    	call   *0x4a7558
4646e2:	68 38 f5 40 00       	push   $0x40f538
4646e7:	8b 48 04             	mov    0x4(%eax),%ecx
4646ea:	51                   	push   %ecx
4646eb:	68 3d 5a 00 00       	push   $0x5a3d
4646f0:	e8 c0 d2 fe ff       	call   0x4519b5
4646f5:	eb 0c                	jmp    0x464703
4646f7:	6a 01                	push   $0x1
4646f9:	b9 e0 55 4a 00       	mov    $0x4a55e0,%ecx
4646fe:	e8 76 95 fe ff       	call   0x44dc79
464703:	e8 ad bd 02 00       	call   0x4904b5
464708:	c2 08 00             	ret    $0x8
46470b:	8b ff                	mov    %edi,%edi
46470d:	55                   	push   %ebp
46470e:	8b ec                	mov    %esp,%ebp
464710:	83 e4 f8             	and    $0xfffffff8,%esp
464713:	83 ec 2c             	sub    $0x2c,%esp
464716:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
46471b:	33 c4                	xor    %esp,%eax
46471d:	89 44 24 28          	mov    %eax,0x28(%esp)
464721:	53                   	push   %ebx
464722:	8b 5d 08             	mov    0x8(%ebp),%ebx
464725:	56                   	push   %esi
464726:	57                   	push   %edi
464727:	8b f9                	mov    %ecx,%edi
464729:	6a 00                	push   $0x0
46472b:	6a 00                	push   $0x0
46472d:	6a 0e                	push   $0xe
46472f:	8b 47 50             	mov    0x50(%edi),%eax
464732:	ff 70 60             	push   0x60(%eax)
464735:	ff 15 f8 7d 4a 00    	call   *0x4a7df8
46473b:	85 c0                	test   %eax,%eax
46473d:	0f 8e af 00 00 00    	jle    0x4647f2
464743:	f6 05 c0 46 4a 00 02 	testb  $0x2,0x4a46c0
46474a:	74 0d                	je     0x464759
46474c:	ff 77 40             	push   0x40(%edi)
46474f:	ba 80 f6 40 00       	mov    $0x40f680,%edx
464754:	e8 c6 d0 fc ff       	call   0x43181f
464759:	8b 43 48             	mov    0x48(%ebx),%eax
46475c:	ff 70 0c             	push   0xc(%eax)
46475f:	ff 15 b0 76 4a 00    	call   *0x4a76b0
464765:	8b 4f 50             	mov    0x50(%edi),%ecx
464768:	8b f0                	mov    %eax,%esi
46476a:	8d 44 24 10          	lea    0x10(%esp),%eax
46476e:	50                   	push   %eax
46476f:	ff 71 20             	push   0x20(%ecx)
464772:	ff 15 ec 7d 4a 00    	call   *0x4a7dec
464778:	8b 4f 50             	mov    0x50(%edi),%ecx
46477b:	8d 44 24 10          	lea    0x10(%esp),%eax
46477f:	50                   	push   %eax
464780:	e8 65 d7 ff ff       	call   0x461eea
464785:	8d 44 24 10          	lea    0x10(%esp),%eax
464789:	8b cb                	mov    %ebx,%ecx
46478b:	50                   	push   %eax
46478c:	e8 22 96 fb ff       	call   0x41ddb3
464791:	8d 44 24 10          	lea    0x10(%esp),%eax
464795:	8b cb                	mov    %ebx,%ecx
464797:	50                   	push   %eax
464798:	e8 77 fa fc ff       	call   0x434214
46479d:	8b 4f 50             	mov    0x50(%edi),%ecx
4647a0:	8d 44 24 10          	lea    0x10(%esp),%eax
4647a4:	50                   	push   %eax
4647a5:	56                   	push   %esi
4647a6:	e8 41 12 00 00       	call   0x4659ec
4647ab:	8b 4b 48             	mov    0x48(%ebx),%ecx
4647ae:	8d 54 24 10          	lea    0x10(%esp),%edx
4647b2:	e8 25 86 fc ff       	call   0x42cddc
4647b7:	8b 4b 48             	mov    0x48(%ebx),%ecx
4647ba:	8d 54 24 10          	lea    0x10(%esp),%edx
4647be:	e8 e6 86 fc ff       	call   0x42cea9
4647c3:	8d 44 24 10          	lea    0x10(%esp),%eax
4647c7:	8b cb                	mov    %ebx,%ecx
4647c9:	50                   	push   %eax
4647ca:	e8 14 19 fd ff       	call   0x4360e3
4647cf:	8b 4b 48             	mov    0x48(%ebx),%ecx