5044e3:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
5044e7:	ba 01 00 00 00       	mov    $0x1,%edx
5044ec:	51                   	push   %ecx
5044ed:	b9 01 00 00 00       	mov    $0x1,%ecx
5044f2:	8b 68 04             	mov    0x4(%eax),%ebp
5044f5:	ff 55 14             	call   *0x14(%ebp)
5044f8:	8b 54 24 08          	mov    0x8(%esp),%edx
5044fc:	89 02                	mov    %eax,(%edx)
5044fe:	83 44 24 08 04       	addl   $0x4,0x8(%esp)
504503:	ff 04 24             	incl   (%esp)
504506:	83 c3 54             	add    $0x54,%ebx
504509:	8b 47 20             	mov    0x20(%edi),%eax
50450c:	3b 04 24             	cmp    (%esp),%eax
50450f:	7f 9d                	jg     0x5044ae
504511:	c7 46 04 bc 37 50 00 	movl   $0x5037bc,0x4(%esi)
504518:	c7 46 0c ac 39 50 00 	movl   $0x5039ac,0xc(%esi)
50451f:	8d 4e 48             	lea    0x48(%esi),%ecx
504522:	89 4e 10             	mov    %ecx,0x10(%esi)
504525:	eb 3e                	jmp    0x504565
504527:	8b c7                	mov    %edi,%eax
504529:	b9 00 05 00 00       	mov    $0x500,%ecx
50452e:	ba 01 00 00 00       	mov    $0x1,%edx
504533:	8b 58 04             	mov    0x4(%eax),%ebx
504536:	ff 53 04             	call   *0x4(%ebx)
504539:	8b c8                	mov    %eax,%ecx
50453b:	33 c0                	xor    %eax,%eax
50453d:	8d 56 20             	lea    0x20(%esi),%edx
504540:	8b d8                	mov    %eax,%ebx
504542:	40                   	inc    %eax
504543:	c1 e3 07             	shl    $0x7,%ebx
504546:	03 d9                	add    %ecx,%ebx
504548:	89 1a                	mov    %ebx,(%edx)
50454a:	83 c2 04             	add    $0x4,%edx
50454d:	83 f8 0a             	cmp    $0xa,%eax
504550:	7c ee                	jl     0x504540
504552:	c7 46 04 b8 37 50 00 	movl   $0x5037b8,0x4(%esi)
504559:	c7 46 0c 68 35 50 00 	movl   $0x503568,0xc(%esi)
504560:	33 c0                	xor    %eax,%eax
504562:	89 46 10             	mov    %eax,0x10(%esi)
504565:	83 c4 0c             	add    $0xc,%esp
504568:	5d                   	pop    %ebp
504569:	5f                   	pop    %edi
50456a:	5e                   	pop    %esi
50456b:	5b                   	pop    %ebx
50456c:	c3                   	ret
50456d:	8d 40 00             	lea    0x0(%eax),%eax
504570:	53                   	push   %ebx
504571:	56                   	push   %esi
504572:	8b f0                	mov    %eax,%esi
504574:	83 ea 01             	sub    $0x1,%edx
504577:	8b 9e a8 01 00 00    	mov    0x1a8(%esi),%ebx
50457d:	72 08                	jb     0x504587
50457f:	4a                   	dec    %edx
504580:	74 5c                	je     0x5045de
504582:	4a                   	dec    %edx
504583:	74 3b                	je     0x5045c0
504585:	eb 75                	jmp    0x5045fc
504587:	83 7e 50 00          	cmpl   $0x0,0x50(%esi)
50458b:	74 25                	je     0x5045b2
50458d:	c7 43 04 18 46 50 00 	movl   $0x504618,0x4(%ebx)
504594:	83 7b 0c 00          	cmpl   $0x0,0xc(%ebx)
504598:	75 71                	jne    0x50460b
50459a:	8b 43 10             	mov    0x10(%ebx),%eax
50459d:	33 c9                	xor    %ecx,%ecx
50459f:	50                   	push   %eax
5045a0:	8b c6                	mov    %esi,%eax
5045a2:	6a 01                	push   $0x1
5045a4:	8b 70 04             	mov    0x4(%eax),%esi
5045a7:	8b 53 08             	mov    0x8(%ebx),%edx
5045aa:	ff 56 1c             	call   *0x1c(%esi)
5045ad:	89 43 0c             	mov    %eax,0xc(%ebx)
5045b0:	eb 59                	jmp    0x50460b
5045b2:	8b 86 bc 01 00 00    	mov    0x1bc(%esi),%eax
5045b8:	8b 50 04             	mov    0x4(%eax),%edx
5045bb:	89 53 04             	mov    %edx,0x4(%ebx)
5045be:	eb 4b                	jmp    0x50460b
5045c0:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
5045c4:	75 0f                	jne    0x5045d5
5045c6:	8b 0e                	mov    (%esi),%ecx
5045c8:	8b c6                	mov    %esi,%eax
5045ca:	c7 41 14 04 00 00 00 	movl   $0x4,0x14(%ecx)
5045d1:	8b 10                	mov    (%eax),%edx
5045d3:	ff 12                	call   *(%edx)
5045d5:	c7 43 04 94 46 50 00 	movl   $0x504694,0x4(%ebx)
5045dc:	eb 2d                	jmp    0x50460b
5045de:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
5045e2:	75 0f                	jne    0x5045f3
5045e4:	8b 0e                	mov    (%esi),%ecx
5045e6:	8b c6                	mov    %esi,%eax
5045e8:	c7 41 14 04 00 00 00 	movl   $0x4,0x14(%ecx)
5045ef:	8b 10                	mov    (%eax),%edx
5045f1:	ff 12                	call   *(%edx)
5045f3:	c7 43 04 38 47 50 00 	movl   $0x504738,0x4(%ebx)
5045fa:	eb 0f                	jmp    0x50460b
5045fc:	8b 0e                	mov    (%esi),%ecx
5045fe:	8b c6                	mov    %esi,%eax
504600:	c7 41 14 04 00 00 00 	movl   $0x4,0x14(%ecx)
504607:	8b 10                	mov    (%eax),%edx
504609:	ff 12                	call   *(%edx)
50460b:	33 c9                	xor    %ecx,%ecx
50460d:	89 4b 18             	mov    %ecx,0x18(%ebx)
504610:	89 4b 14             	mov    %ecx,0x14(%ebx)
504613:	5e                   	pop    %esi
504614:	5b                   	pop    %ebx
504615:	c3                   	ret
504616:	90                   	nop
504617:	90                   	nop
504618:	55                   	push   %ebp
504619:	8b ec                	mov    %esp,%ebp
50461b:	83 c4 f4             	add    $0xfffffff4,%esp
50461e:	53                   	push   %ebx
50461f:	56                   	push   %esi
504620:	89 4d f8             	mov    %ecx,-0x8(%ebp)
504623:	89 45 fc             	mov    %eax,-0x4(%ebp)
504626:	8b 45 fc             	mov    -0x4(%ebp),%eax
504629:	8b 98 a8 01 00 00    	mov    0x1a8(%eax),%ebx
50462f:	8b 45 0c             	mov    0xc(%ebp),%eax
504632:	ff 30                	push   (%eax)
504634:	8b 45 08             	mov    0x8(%ebp),%eax
504637:	59                   	pop    %ecx
504638:	2b c1                	sub    %ecx,%eax
50463a:	8b 4b 10             	mov    0x10(%ebx),%ecx
50463d:	3b c1                	cmp    %ecx,%eax
50463f:	76 02                	jbe    0x504643
504641:	8b c1                	mov    %ecx,%eax
504643:	33 c9                	xor    %ecx,%ecx
504645:	89 4d f4             	mov    %ecx,-0xc(%ebp)
504648:	8b 4d 14             	mov    0x14(%ebp),%ecx
50464b:	51                   	push   %ecx
50464c:	8b 4b 0c             	mov    0xc(%ebx),%ecx
50464f:	51                   	push   %ecx
504650:	8d 4d f4             	lea    -0xc(%ebp),%ecx
504653:	51                   	push   %ecx
504654:	50                   	push   %eax
504655:	8b 4d f8             	mov    -0x8(%ebp),%ecx
504658:	8b 45 fc             	mov    -0x4(%ebp),%eax
50465b:	8b b0 bc 01 00 00    	mov    0x1bc(%eax),%esi
504661:	ff 56 04             	call   *0x4(%esi)
504664:	8b 45 f4             	mov    -0xc(%ebp),%eax
504667:	50                   	push   %eax
504668:	8b 55 0c             	mov    0xc(%ebp),%edx
50466b:	8b 45 fc             	mov    -0x4(%ebp),%eax
50466e:	8b 0a                	mov    (%edx),%ecx
504670:	8b 53 0c             	mov    0xc(%ebx),%edx
504673:	c1 e1 02             	shl    $0x2,%ecx
504676:	8b 98 c4 01 00 00    	mov    0x1c4(%eax),%ebx
50467c:	03 4d 10             	add    0x10(%ebp),%ecx
50467f:	ff 53 04             	call   *0x4(%ebx)
504682:	8b 45 0c             	mov    0xc(%ebp),%eax
504685:	8b 55 f4             	mov    -0xc(%ebp),%edx
504688:	01 10                	add    %edx,(%eax)
50468a:	5e                   	pop    %esi
50468b:	5b                   	pop    %ebx
50468c:	8b e5                	mov    %ebp,%esp
50468e:	5d                   	pop    %ebp
50468f:	c2 10 00             	ret    $0x10
504692:	90                   	nop
504693:	90                   	nop
504694:	55                   	push   %ebp
504695:	8b ec                	mov    %esp,%ebp
504697:	83 c4 f0             	add    $0xfffffff0,%esp
50469a:	53                   	push   %ebx
50469b:	56                   	push   %esi
50469c:	57                   	push   %edi
50469d:	8b f0                	mov    %eax,%esi
50469f:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5046a2:	89 55 fc             	mov    %edx,-0x4(%ebp)
5046a5:	8b 9e a8 01 00 00    	mov    0x1a8(%esi),%ebx
5046ab:	83 7b 18 00          	cmpl   $0x0,0x18(%ebx)
5046af:	75 17                	jne    0x5046c8
5046b1:	8b 43 10             	mov    0x10(%ebx),%eax
5046b4:	50                   	push   %eax
5046b5:	8b c6                	mov    %esi,%eax
5046b7:	6a 01                	push   $0x1
5046b9:	8b 78 04             	mov    0x4(%eax),%edi
5046bc:	8b 4b 14             	mov    0x14(%ebx),%ecx
5046bf:	8b 53 08             	mov    0x8(%ebx),%edx
5046c2:	ff 57 1c             	call   *0x1c(%edi)
5046c5:	89 43 0c             	mov    %eax,0xc(%ebx)
5046c8:	8b 43 18             	mov    0x18(%ebx),%eax
5046cb:	89 45 f4             	mov    %eax,-0xc(%ebp)
5046ce:	8d 43 18             	lea    0x18(%ebx),%eax
5046d1:	8b 55 14             	mov    0x14(%ebp),%edx
5046d4:	52                   	push   %edx
5046d5:	8b 4b 0c             	mov    0xc(%ebx),%ecx
5046d8:	51                   	push   %ecx
5046d9:	50                   	push   %eax
5046da:	8b c6                	mov    %esi,%eax
5046dc:	8b 53 10             	mov    0x10(%ebx),%edx
5046df:	52                   	push   %edx
5046e0:	8b b8 bc 01 00 00    	mov    0x1bc(%eax),%edi
5046e6:	8b 55 fc             	mov    -0x4(%ebp),%edx
5046e9:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5046ec:	ff 57 04             	call   *0x4(%edi)
5046ef:	8b 43 18             	mov    0x18(%ebx),%eax
5046f2:	3b 45 f4             	cmp    -0xc(%ebp),%eax
5046f5:	76 28                	jbe    0x50471f
5046f7:	2b 45 f4             	sub    -0xc(%ebp),%eax
5046fa:	89 45 f0             	mov    %eax,-0x10(%ebp)
5046fd:	8b c6                	mov    %esi,%eax
5046ff:	8b 55 f0             	mov    -0x10(%ebp),%edx
504702:	52                   	push   %edx
504703:	8b 55 f4             	mov    -0xc(%ebp),%edx
504706:	8b b0 c4 01 00 00    	mov    0x1c4(%eax),%esi
50470c:	c1 e2 02             	shl    $0x2,%edx
50470f:	03 53 0c             	add    0xc(%ebx),%edx
504712:	33 c9                	xor    %ecx,%ecx
504714:	ff 56 04             	call   *0x4(%esi)
504717:	8b 45 0c             	mov    0xc(%ebp),%eax
50471a:	8b 55 f0             	mov    -0x10(%ebp),%edx
50471d:	01 10                	add    %edx,(%eax)
50471f:	8b 43 10             	mov    0x10(%ebx),%eax
504722:	3b 43 18             	cmp    0x18(%ebx),%eax
504725:	77 08                	ja     0x50472f
504727:	01 43 14             	add    %eax,0x14(%ebx)
50472a:	33 d2                	xor    %edx,%edx
50472c:	89 53 18             	mov    %edx,0x18(%ebx)
50472f:	5f                   	pop    %edi
504730:	5e                   	pop    %esi
504731:	5b                   	pop    %ebx
504732:	8b e5                	mov    %ebp,%esp
504734:	5d                   	pop    %ebp
504735:	c2 10 00             	ret    $0x10
504738:	55                   	push   %ebp
504739:	8b ec                	mov    %esp,%ebp
50473b:	51                   	push   %ecx
50473c:	53                   	push   %ebx
50473d:	56                   	push   %esi
50473e:	57                   	push   %edi
50473f:	89 45 fc             	mov    %eax,-0x4(%ebp)
504742:	8b 45 fc             	mov    -0x4(%ebp),%eax
504745:	8b 98 a8 01 00 00    	mov    0x1a8(%eax),%ebx
50474b:	83 7b 18 00          	cmpl   $0x0,0x18(%ebx)
50474f:	75 18                	jne    0x504769
504751:	8b 43 10             	mov    0x10(%ebx),%eax
504754:	50                   	push   %eax
504755:	6a 00                	push   $0x0
504757:	8b 45 fc             	mov    -0x4(%ebp),%eax
50475a:	8b 4b 14             	mov    0x14(%ebx),%ecx
50475d:	8b 53 08             	mov    0x8(%ebx),%edx
504760:	8b 70 04             	mov    0x4(%eax),%esi
504763:	ff 56 1c             	call   *0x1c(%esi)
504766:	89 43 0c             	mov    %eax,0xc(%ebx)
504769:	8b 45 0c             	mov    0xc(%ebp),%eax
50476c:	8b 73 10             	mov    0x10(%ebx),%esi
50476f:	8b 53 18             	mov    0x18(%ebx),%edx
504772:	ff 30                	push   (%eax)
504774:	8b 45 08             	mov    0x8(%ebp),%eax
504777:	59                   	pop    %ecx
504778:	2b c1                	sub    %ecx,%eax
50477a:	2b f2                	sub    %edx,%esi
50477c:	3b c6                	cmp    %esi,%eax
50477e:	73 02                	jae    0x504782
504780:	8b f0                	mov    %eax,%esi
504782:	8b 45 fc             	mov    -0x4(%ebp),%eax
504785:	8b 40 70             	mov    0x70(%eax),%eax
504788:	2b 43 14             	sub    0x14(%ebx),%eax
50478b:	3b c6                	cmp    %esi,%eax
50478d:	73 02                	jae    0x504791
50478f:	8b f0                	mov    %eax,%esi
504791:	56                   	push   %esi
504792:	8b 45 0c             	mov    0xc(%ebp),%eax
504795:	c1 e2 02             	shl    $0x2,%edx
504798:	8b 08                	mov    (%eax),%ecx
50479a:	8b 45 fc             	mov    -0x4(%ebp),%eax
50479d:	c1 e1 02             	shl    $0x2,%ecx
5047a0:	03 4d 10             	add    0x10(%ebp),%ecx
5047a3:	03 53 0c             	add    0xc(%ebx),%edx
5047a6:	8b b8 c4 01 00 00    	mov    0x1c4(%eax),%edi
5047ac:	ff 57 04             	call   *0x4(%edi)
5047af:	8b 45 0c             	mov    0xc(%ebp),%eax
5047b2:	01 30                	add    %esi,(%eax)
5047b4:	01 73 18             	add    %esi,0x18(%ebx)
5047b7:	8b 43 10             	mov    0x10(%ebx),%eax
5047ba:	3b 43 18             	cmp    0x18(%ebx),%eax
5047bd:	77 08                	ja     0x5047c7
5047bf:	01 43 14             	add    %eax,0x14(%ebx)
5047c2:	33 d2                	xor    %edx,%edx
5047c4:	89 53 18             	mov    %edx,0x18(%ebx)
5047c7:	5f                   	pop    %edi
5047c8:	5e                   	pop    %esi
5047c9:	5b                   	pop    %ebx
5047ca:	59                   	pop    %ecx
5047cb:	5d                   	pop    %ebp
5047cc:	c2 10 00             	ret    $0x10
5047cf:	90                   	nop
5047d0:	53                   	push   %ebx
5047d1:	56                   	push   %esi
5047d2:	8b f0                	mov    %eax,%esi
5047d4:	57                   	push   %edi
5047d5:	8b c6                	mov    %esi,%eax
5047d7:	51                   	push   %ecx
5047d8:	89 14 24             	mov    %edx,(%esp)
5047db:	ba 01 00 00 00       	mov    $0x1,%edx
5047e0:	8b 58 04             	mov    0x4(%eax),%ebx
5047e3:	b9 1c 00 00 00       	mov    $0x1c,%ecx
5047e8:	ff 13                	call   *(%ebx)
5047ea:	8b d8                	mov    %eax,%ebx
5047ec:	33 c0                	xor    %eax,%eax
5047ee:	89 9e a8 01 00 00    	mov    %ebx,0x1a8(%esi)
5047f4:	33 d2                	xor    %edx,%edx
5047f6:	c7 03 70 45 50 00    	movl   $0x504570,(%ebx)
5047fc:	89 43 08             	mov    %eax,0x8(%ebx)
5047ff:	89 53 0c             	mov    %edx,0xc(%ebx)
504802:	83 7e 50 00          	cmpl   $0x0,0x50(%esi)
504806:	74 54                	je     0x50485c
504808:	8b be 30 01 00 00    	mov    0x130(%esi),%edi
50480e:	89 7b 10             	mov    %edi,0x10(%ebx)
504811:	83 3c 24 00          	cmpl   $0x0,(%esp)
504815:	74 2a                	je     0x504841
504817:	8b 46 6c             	mov    0x6c(%esi),%eax
50481a:	f7 6e 74             	imull  0x74(%esi)
50481d:	50                   	push   %eax
50481e:	8b d7                	mov    %edi,%edx
504820:	8b 46 70             	mov    0x70(%esi),%eax
504823:	e8 54 33 00 00       	call   0x507b7c
504828:	50                   	push   %eax
504829:	8b c6                	mov    %esi,%eax
50482b:	8b 53 10             	mov    0x10(%ebx),%edx
50482e:	33 c9                	xor    %ecx,%ecx
504830:	52                   	push   %edx
504831:	ba 01 00 00 00       	mov    $0x1,%edx
504836:	8b 70 04             	mov    0x4(%eax),%esi
504839:	ff 56 10             	call   *0x10(%esi)
50483c:	89 43 08             	mov    %eax,0x8(%ebx)
50483f:	eb 1b                	jmp    0x50485c
504841:	8b 43 10             	mov    0x10(%ebx),%eax
504844:	ba 01 00 00 00       	mov    $0x1,%edx
504849:	50                   	push   %eax
50484a:	8b c6                	mov    %esi,%eax
50484c:	8b 4e 6c             	mov    0x6c(%esi),%ecx
50484f:	0f af 4e 74          	imul   0x74(%esi),%ecx
504853:	8b 70 04             	mov    0x4(%eax),%esi
504856:	ff 56 08             	call   *0x8(%esi)
504859:	89 43 0c             	mov    %eax,0xc(%ebx)
50485c:	5a                   	pop    %edx
50485d:	5f                   	pop    %edi
50485e:	5e                   	pop    %esi
50485f:	5b                   	pop    %ebx
504860:	c3                   	ret
504861:	8d 40 00             	lea    0x0(%eax),%eax
504864:	53                   	push   %ebx
504865:	56                   	push   %esi
504866:	57                   	push   %edi
504867:	55                   	push   %ebp
504868:	83 c4 d0             	add    $0xffffffd0,%esp
50486b:	33 d2                	xor    %edx,%edx
50486d:	33 c9                	xor    %ecx,%ecx
50486f:	89 04 24             	mov    %eax,(%esp)
504872:	8b 04 24             	mov    (%esp),%eax